Proposal: Nostr NIP-32 Podcast Labels #569
Replies: 5 comments 2 replies
-
Pls add Podfans. We already store the users npub so very easy for us to extend with this NIP. The X.api is broken so we can't use it reliably. |
Beta Was this translation helpful? Give feedback.
-
Any thoughts on including the |
Beta Was this translation helpful? Give feedback.
-
I'm curious how this can work with the nostr support in @valcanobacon's boostbot. If Ditto works out it could easily bridge the existing ActivityPub cross-app comments. |
Beta Was this translation helpful? Give feedback.
-
How can Alecks’s JPT proposal fit in with this for payment verification? Any thoughts? |
Beta Was this translation helpful? Give feedback.
-
Seems related, adding for reference: https://primal.net/e/note1zkdsjjffjtlc5nrnyjvr9whz32cy0xy92ymqxhrswsuw2dneq99sy38hse |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary:
This is a proposal to use Nostr NIP-32 Labels as the basis for linking nostr events to podcasts reliably using the existing
podcast:guid
andpodcast:item:guid
as the label namespaces - thereby creating a cross-app commenting system for podcasts that not only works but also integrates with the wider nostr ecosystem.Motivation:
Nostr is a protocol for decentralised social media and app data sharing that could be incredibly beneficial to Podcasting.
Podcasting is uniquely suitable for using nostr because it is highly fragmented with a long-tail of apps and hosting providers. This fragmentation has meant that up until now there have not been social podcasting features that have ever really worked because the conversation is trapped in one app which probably has only a small portion of the show's audience.
This proposal would deliver the following benefits:
Ultimately this will lead to better discovery for podcasters because boosts / comments made in Podcasting 2.0 apps will not only travel from one app to another - but they will also travel out into the wider nostr ecosystem.
This solution has the added benefit that there would be no need for podcasters to enable anything in their feeds - it would work out of the box if apps chose to implement it - bypassing the adoption issues we've faced with other tags.
Goals:
Proposal: NIP-32 Podcast Labels:
NIP-32 is part of the nostr spec that allows labelling notes according to some defined namespace. It introduces a new tag
L
which denotes a label namespace, and a new tagl
which denotes a label.We can use these label tags to link nostr events to podcasts - either at the feed level or the item level.
All that is required is agreeing on the label namespace for podcasting - luckily we have the Podcast Namespace which includes the
<podcast:guid>
and item<guid>
elements which would be perfect for this.Therefore I propose we formalise the format of the
NIP-32 Podcasting Namespace
as follows:podcast:guid
- label that references the feed guidpodcast:item:guid
- label that references the item guidpodcast:payment
- label that references a payment to a podcastpodcast:payment:verification
- label that references a payment verification by some 'semi-trusted' provider (PodcastIndex, Fountain, Alby, Curiocaster, Podverse, Wavlake, RSS.com etc)Examples:
A regular podcast episode comment represented by a nostr kind
1
note with thepodcast:guid
andpodcast:item:guid
namespace labels:An episode boost comment represented by a nostr kind
1
note with thepodcast:guid
,podcast:item:guid
,podcast:payment
, andpodcast:payment:verification
namespace labels:The 4th item in the
podcast:payment
label tag is used for additional metadata and could include the BLIP_10_METADATA as a json string - this way the tags are extensible as the value spec expands to include other metadata.Replies:
Replies to either boosts or comments would be handled according the standard nostr spec NIP-10 - On "e" and "p" tags in Text Events (kind 1) where the parent comment event id is included as an
e
tag:Benefits of Using NIP-32 Labels:
liveItem
chat rooms that may be built on nostr (👀)Why Kind
1
Events?Using kind
1
events for podcast comments as opposed to a new kind specifically for this use case is fundamentally important because:content
field for contextHow Will Apps Implement?
There are multiple options for podcast clients to support this:
window.nostr
capability for web browsers - Alby already supports NIP-07 so these would work out of the box on web for everyone that uses Alby: (Curiocaster Podverse Web, Podfans, etc) - the extra cool thing about this is any site that integrates NIP-07 could display comments and allow commenting (PodcastIndex site, PodNews, Hosting Companies, Podcast Page Builders etc.) - users can just use Alby to comment!Steps to Move Forward:
All we really need to do is agree the label namespace formats:
podcast:guid
podcast:item:guid
podcast:payment
podcast:payment:verification
Then we can add these to maybe the existing podcast:guid doc in the namespace and we'd be off to the races!
Supporters:
I thought it might be useful to add a list of supporters of this proposal - I will update as and when people comment with thoughts / feedback / support:
Beta Was this translation helpful? Give feedback.
All reactions