Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Podcasting Feeds #144

Open
dshanske opened this issue Aug 25, 2020 · 7 comments
Open

Podcasting Feeds #144

dshanske opened this issue Aug 25, 2020 · 7 comments

Comments

@dshanske
Copy link

@manton commented that one of his goals for JSONFeed now that 1.1 is out was to revisit how to iterate on podcast feeds using JSONFeed. https://jsonfeed.org/podcasting

Opened this issue to document prior art(specifically Media RSS and iTunes vendor extensions) and to brainstorm what information may be needed.

@dshanske
Copy link
Author

Media RSS Specification: https://www.rssboard.org/media-rss

@dshanske
Copy link
Author

iTunes XML Namespace - https://help.apple.com/itc/podcasts_connect/#/itcb54353390

  • Author - appears in both the feed and item levels and is a name. At the feed level it is the name of the author of the podcast. At the item level it is the name of the author of the episode.
  • Tags/Category - is allowed in JSONFeed at the item level but not the feed level. At the feed level, it could represent, like iTunes category, the categories/tags of the entire feed.
  • Summary - is also allowed in JSONFeed at the item level but not the feed level.
  • Type - Episodic or Serial -
  • Season/Episode - Season or Episode number
  • Episode Type - Full, Trailer, or Bonus If a trailer and no season or episode number, this represents a show trailer, otherwise, a season or episode trailer/teaser. If a bonus, and no season or episode number: a show bonus, but if it has either a season or season and episode number, a bonus representing the season or the individual episode.

@bcomnes
Copy link
Contributor

bcomnes commented Oct 29, 2020

I implemented an _itunes extension for JSONFeed that lets you generate a compatible Apple Podcast RSS feed from said JSONFeed:

https://github.com/bcomnes/jsonfeed-to-rss

Been in production on https://gumcast.com since last year.

Next up, looking to support JSONFeed 1.1 and Google Play podcast extensions.

@dshanske
Copy link
Author

@bcomnes Isn't it better to explore official additions?

@bcomnes
Copy link
Contributor

bcomnes commented Oct 29, 2020

That reply was neither in support or against adding additional official fields. Open to that, or an official/standardized format extension that serves a similar purpose.

Just reviewed the _cast which also looks like a nice, non-vendor specific set of additional fields all podcast should support, not already found in JSONFeed.

@manton
Copy link
Owner

manton commented Oct 30, 2020

Thanks y'all! @bcomnes, what do you think about using the vendor-neutral field name _podcast instead of _itunes as suggested here? It feels like this is a good time to move away from the "iTunes" name even if it's inspired by Apple's RSS extensions.

@bcomnes
Copy link
Contributor

bcomnes commented Oct 30, 2020

I think that or the existing _cast extension is a great idea for a vendor neutral podcast extension containing common podcast fields not found in vanilla jf, and would ideally contain enough data to map or expand into a vendor specific extension (mostly), or simply be leveraged during a conversion process when converting to vendor tailored rss.

As of now these vendor specific extensions really only serve as an api for conversion, although they do map 1:1 to the xml extension they convert to.

There are a number of very specific vendor fields that probably should remain just in their own namespace. I think the worst outcome would be one giant union of vendor options in a single extension.

Maybe a rule of thumb for fields in this converged podcast extension is: new fields not found from vanilla jf and utilized in at least two vendor extensions or in a native jf podcast app subscription.

I'm currently looking into doing a google play podcast extension next.

If _cast is already supported in more niche podcatcher apps for subscriptions (I think... hooray!), and provides enough data to cover the requirements of these vendor specific extensions, then I would be willing to converge onto that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants