The Podcast Namespace 'value' tag in AntennaPod

Hi all,

I’m Roy from Breez. We’ve been communicating by email and thought it might be a good idea to share what we know here instead of having multiple discussions.

While I would be happy for you to be able to stream payments using Breez, I don’t think it’s feasible in the near future. Breez runs a full Lightning node. In order to stream payments, it must run and take CPU and networking. Lightning payments can take some time (up to a 1-2 minutes) so not something notifications can handle.

I’ve suggested to start with a “lite” integration. Since streaming payments is challenging, why not create a “donate” button? The button would invoke Breez to pay in Lightning and allow users to donate ad-hoc to a podcast containing a Lightning value block.

I imagine the interface would be very simple. Something like:
SendPodcastPayment(feedURL, amount)

The amount UI should in AntennaPod or in Breez (whatever makes most sense in terms of UX), Breez can fetch the value block info and split the payment accordingly.

Roy

2 Likes

Hi Roy, @kingonly,

Thanks for chipping in here! Best to have a single discussion indeed.

With barely having a clue about development, I understand that Breez and the whole streaming payment process is still quite young. But I really like the idea of such streaming payments, that, for me, is really revolutionary.

Although it’d still fall under the value for value model, I’m much less convinced about a Donate button.

The thing is: donations have been possible for ages already - it’s nothing new. I would feel uncomfortable for AntennaPod to introduce a Donate button specifically to quickly open Breez and enable a Lightning payment, while we all the same could have the donate button open the podcast’s Patreon page (or any of its alternatives) and enable payment there. Or, in The Netherlands, Belgium and Germany we could quickly open the app Tikkie and enable a simple debit card payment.

Having a donate button for one payment channel and not the other for me is an editorial choice that we shouldn’t really be making. Streaming donations, however, change the story completely and clearly provide an advantage over other (current) systems.

For me, an acceptable middle ground (because it brings something innovative) would be to simulate the behaviour in Breez, Podfriend: store listening progress and prepare payments based on that. Then every week or so we settle this in the background, or prompt the user to do so (if it can’t be done in the background). But I understood you’re not a huge fan of this approach?

Thanks again for your contribution, much appreciated! Cool to have this discussion :slight_smile:

Users should be able to donate in the form the podcasters have chosen. The value block isn’t specific to btc (Lightning)… Podcasters can define a web link as well. In the case of Lightning, I’m offering you a Breez integration, but it doesn’t have to Breez specific. It could be something “standard” to other apps can register for.

The way I see it, if it’s not real time streaming, I think it should be a form of UI. I just find the UX to be weird for users to open Breez and be prompted to pay for something that happened in the past (could be weeks, months). I’m also not sure how you would convey in AntennaPod that they need to settle the payment. And if you will have a settle UI in AntennaPod, the interface would be the same to donate interface I’m proposing (it doesn’t have to be a button in your app, it could be based on the playing time). But I feel there should be a UI that takes you from AntennaPod to Breez to settle the payment. W/o this type of integration, the UX seems to a bit off to me.

The streaming money idea is wired either way and I’m not sure how this could be really secured, so accidental payment don’t happen (podcast plays in the background/overnight etc.

If we have a donate button it could open any app that supports that, could be patreon, breez or any other app, as far as I know breez is the only app to support the value tag so I don’t really see it as an editorial choice here, if there are other apps, the user could select the preferred one.

I think most sensible would be to have a UI in breez and AP just sends the value block, this way it’s clear how and where the payment is handled.
If the podcast has a funding tag that could also be linked to the concret donate button (If multiple ways to donate are available AP could display a selection).

Hi both,

Sorry for not replying earlier. It’s difficult matter, and I didn’t want to rush a reply :slight_smile:

Right, agree about the first part (podcaster defines). But as far as I understand from the Value specs, the value block is for direct micro-payments (without middle man) through “so called ‘Layer 2’ crypto-currency networks”. Just to say that the ‘Tikkie’ scenario I mentioned above is (should) not be covered by the Value tag. Instead, such weblinks should go into the Funding tag (which we already support).

I agree - we must make sure the UX is good and there’s no surprises :slight_smile:

Absolutely! It could be something like this:

I just included the screen from your app to show the idea - not sure that’s the actual screen you would present on your side. I didn’t create a mock-up for the ‘details’ page, but I imagine a list with podcasts, with per podcast the number of listened minutes & boots (plus sats for each).

Also, I assumed here payout day is based on time, but we could show this based on the amount waiting on AntennaPod’s side. E.g. prompt payout every 1.000 sats.

This would indeed not be real-time payment streaming. I hope the proposed UX/UI would work for you. In the specs I saw this:

The “time interval” for calculating payments is always 1 minute. However, the actual interval between when payments are sent can be longer. The interval should be chosen with a few factors in mind such as connectivity (is the app currently on-line?), transaction fees (batch payments together to reduce fee percentage)

So on ‘payout day’ AntennaPod could send a batch of transactions - one per listening per minute and one per boost. Would that technically be possible for/in Breez? Or would this fall under ‘streaming payments’ that you indicated aren’t possible currently?

Streaming payments together with boosts are the whole point of the Value tag. Indeed in Breez you could be accidentally playing a podcast overnight, losing money. Then again, there’s also a bit of a user responsability, especially when money is involved.
But it’s a valid point. In my proposed UI/UX in the Detail view we could make it possible to ‘delete’ a payment to a specific podcast (before it’s sent to Breez).

I disagree: as Roy indicated, it leads to payments for something that happened weeks, months in the past. A UI in AP can ensure a smooth UX.

Exactly. But that’s a whole different method than streaming payments & boosts. We could discuss (elsewhere) a ‘Donate’ button based on the Funding tag (which shouldn’t be too complicated, given that we already parse this tag). Would be a nice addition for sure.

Hi keunes,

Thanks for taking the time to review.

I’m OK with the UI you’ve proposed. If we could do a one podcast at a time, the interface would be clearer I think and the API would be as simple as:

SendPodcastPayment(feedURL, amount)

Also, the interface we will add on the Breez end will be simpler, something like:
“You are requested to pay [IMAGE] NAME_OF_PODCAST xxx sats.”

You don’t need to send us multiple txns, just the total amount to pay per podcast (stream and boost combined).
If you are set on paying multiple podcasts at once, we’ll have to check if/how it can be implemented.

Roy

@keunes Just FYI: some of our users have picked up on this thread and are very excited about our possible integration.

1 Like