Retracted contentLink Proposal #589
Replies: 9 comments 73 replies
-
Sure technically you could do it that way, but realistically what we have found is that podcast apps don't read this data. We are PodToo use availableOn as it is integrated into our UI design for podcast websites that we generate at PodToo. We also use it in our soon to be released iOS app. While I agree a unified approach would be great, we needed away to go this link equal that logo and that's why we went with our version. While we technically could do that with your version, it's a little harder. Also if let's be honest these links are designed to be viewed inside a podcast player, I don't think many podcast apps would do that. The idea is keep people inside my app doesn't matter if it's a P2.0 app for not. I think we what we truly need is a global search API that lists back all podcast apps that have a podcast and then generate these links automatically. Mainly because Spotify and Apple now don't have public API for hosting companies to submit podcasts. Well at least they not sharing it with us. Oh one last thing, I do like your live idea for multiple liveItem links. But I thought the liveItem links were so podcast apps could play live streams in their app. |
Beta Was this translation helpful? Give feedback.
-
We do. I'm always a fan of something that's programmatic, rather than free text. It allows icons and other clever things, as well as validation.
Indeed. In fact, I'd suggest services like ours would use these as overriding values - and that we'd still need to scrape iHeart/Global etc if they're not listed here. |
Beta Was this translation helpful? Give feedback.
-
One suggestion - an additional (optional) value in the RSS, marked This should appear ONCE in the list of contentLinks, and should link to the podcast app that the podcaster recommends. If it does not appear, no recommendation is given. (If it appears more than once, that's a broken specification: and the directory might choose the first one in the list.)
This allows a podcaster to recommend a specific platform that they might wish you to use. As examples, Adam is currently promoting Podcast Guru on his podcast, and by adding the Podnews would support this, I think, if we saw it in a feed - either as the only main link we give a user, or we'd ensure that it's one of the highlighted links at the top of the page. This has obvious benefits for value4value apps, but also for apps that respect the creator. |
Beta Was this translation helpful? Give feedback.
-
<channel>
<podcast:contentLink href="https://podcasts.apple.com/podcast/id1584274529">Listen on Apple Podcasts</podcast:contentLink>
<podcast:contentLink recommended href="https://truefans.fm/podcasting-20">Listen on TrueFans</podcast:contentLink>
...
</channel> Maybe you mean |
Beta Was this translation helpful? Give feedback.
-
Yes I agree you can, however we have a set design UI that we have built from the ground up, and our system controls every aspect for radio stations, radio show content providers to podcast creators, so for us it is a standard UI experience we are bringing to our clients. For us our system is built, and replacing availableOn with ContentLink would be easy as long as it has the icon href as that corresponds with the icon filename in the system be it a podcast website, radio station website or our many plugins (coming soon). |
Beta Was this translation helpful? Give feedback.
-
Just posting this here in case anyone else started having this thought. Whether this or a different tag, I was about to suggest we opt for IDs instead of full URLs for this simple reason: URLs change and are sometimes not redirected. For example, Apple Podcasts URLs changed from But then I remembered how this tag is going to be used: by websites, feed readers, and non-podcast apps. So it will be more important for the full URL to be there because a non-podcast app will be far less likely to maintain the base URL patterns than a podcast app would. But a podcast app would also not have any need to link to the same podcast in a different app. |
Beta Was this translation helpful? Give feedback.
-
Sure, maybe that would help clear the air. This will not be an exhaustive list of ways to use this tag. Like all tags, hosts will pick and choose the ways that make sense for their platform to implement. Here are a few major use cases I’m envisioning. Example 1: Automatic & manual channel linksHosts like Buzzsprout already display podcast platform links on their webpages. In some cases, Buzzsprout manages the podcast’s relationship with a given directory and knows the show URL automatically. In other cases, the podcaster has to manually provide the URL to Buzzsprout. Buzzsprout decides what links are permissible, no spec dictates that for them. Buzzsprout could support the These links would serve as self-verification of their presence on those platforms. It would be easy enough to scrape these links from a Buzzsprout webpage, but not all hosts provide webpages for their shows. So including this is the feed may be the only way for them to self-verify. This is particularly useful for locating shows on platforms with no lookup method or identifying shows with very common names like “Real Talk” in platforms that only provide a search API.
Example 2: Automatic host-managed episode linksHosts like Transistor can publish episodes to YouTube on behalf of the podcast and might be the only party to have programmatic access to that episode URL. Transistor could support the
Example 3: Manual episode linksPodcasters could be willing to manually provide episode links when they see receive value. Hosts like Acast and Transistor have integrated with Patreon to some extent. Podcasters could provide a link to an extended version of the same episode on Patreon.
In my opinion, the advantage of this tag over What would happen if a podcaster somehow includes their blog, newsletter, social links, Calendly link, and merch store in their A The only remaining difference is the name. |
Beta Was this translation helpful? Give feedback.
-
See #589 (reply in thread) for the gist of an approach to allow services such as podnews to crawl YouTube episode links without relying on the podcast to publish content links. I think everything else is actually settled for me, I think your reasons for the tag name, the icon attribute and the platform attribute are very convincing and probably something we can easily reach consensus on. The only thing I'm unconvinced of is item level content links. I've previously done a lot of work with crawlers and never really encountered an insurmountable problem before, and so I don't find Example 2 convincing. Example 3 might be an interesting use case, although perhaps it could even be a separate tag with its own specific attributes or child elements. Perhaps someone needs to do a requirements analysis for that to uncover any differences that might warrant a separate tag.
Can you point me to the discussion? Hopefully this doesn't lead to a common practice of using YouTube as a podcast hosting service. I think that would be a bad thing for open podcasting and traditional podcast apps that may have invested heavily into their own audio playing engine, e.g. to implement things like dynamics processing, silence skipping, and various other things that require access to the raw audio data before passing it through its processing pipeline. These are things that are only possible when the system is truly open, where the app can see everything in the RSS feed, and can see everything in the audio file, without having to rely on any proprietary system to decode and play the audio for you. I think that openness aspect is one of the things that is included in the mission statement (i.e. to preserve and protect an open podcasting ecosystem). The one thing that any podcast app should expect, above all else, is access to the raw audio data so that it can process and render it. |
Beta Was this translation helpful? Give feedback.
-
@snookfin I took a stab at adding a JSON alternative to this proposal, but I’m not happy with the result. I would prefer a JSON-only approach rather than this Frankensteined mess. And in that case, using the existing Important Based on the feedback provided here, I’ve split this into two smaller proposals: |
Beta Was this translation helpful? Give feedback.
-
Important
Based on the feedback provided here, I’ve split this into two smaller proposals:
<podcast:follow>
tag and JSON speccontentLink
Enhancement (Revised)Purpose
For services like Podlink, Podnews, etc, it can be tricky to match feeds and episodes to their corresponding URLs in third-party podcast apps. I maintain a repo of known podcast URL patterns, but many apps don’t support foreign key lookup methods, especially for episodes. The intent of this proposal is to consolidate prior efforts and extend
<podcast:contentLink>
to cover all show and episode links.Prior Art
<rawvoice:subscribe>
tag<podcast:id>
tag (Dec 30, 2020)<podcast:contentLink>
proposal (Jan 14, 2022)<podcast:avaliableOn>
proposal (Jul 10, 2023)Open Questions for Discussion
<podcast:contentLink>
per domain per parent tag? (e.g. restricting feeds to one show-level Apple Podcasts URL at the channel-level, one episode-level Apple Podcasts URL at the item-level, etc.)<podcast:contentLinks>
parent tag?type
andslug
were suggested in prior proposals. Given the limited scope I’m proposing, I didn’t see the need for them at this stage, but I’m open to changing that.Parent
<channel>
or<item>
or<podcast:liveItem>
Count
Multiple
Node Value
The node value is a free form string meant to explain to the user where this content link points.
Attributes
Examples
Feed-level contentLink
Item-level contentLink
liveItem contentLink
Beta Was this translation helpful? Give feedback.
All reactions