podcast
This article is a stub. You can help the IndieWeb wiki by expanding it.
A podcast is an episodic series of audio and/or video posts that can be subscribed to and downloaded for offline listening/viewing.
You may also be interested in:
Why
Why should you have a podcast? Some people like listening to them when:
- walking / running / exercising in general
- driving, e.g. on a roadtrip
- commuting (by any method)
How
How to publish
Publishing a podcast usually involves publishing an RSS feed with episodes as items and linking to the audio file in the RSS <enclosure>.
Once you've created the podcast RSS feed, you can submit it to one or more directories like Apple Podcasts, Google Play, Stitcher, or you can give the feed URL to people directly and they can add it to most podcast player apps.
How to consume
Podcasts are RSS/Atom/XML feeds where, normally, the media of the podcast is linked to with an enclosure tag eg: <enclosure url="http://example.com/podcast01.mp3" length="259429328" type="audio/mpeg" />
However, most podcasts also include a number of other iTunes specific tags to ensure iTunes will subscribe to them easily, eg <itunes:summary>. Some of these iTunes tags are usually just replications of the data in other tags in the item.
Most podcast players both consume podcast feeds and play podcast audio. iTunes is the primary podcast player on OS X and iOS. Other platforms have other players, e.g. BeyondPod and AntennaPod on Android. (See also podcatcher)
Some podcasts only publish on iTunes. You can subscribe to them in other players with hacks like Feed Flipper.
IndieWeb Examples
IndieWeb examples of personal podcast publishing and consuming
Ben Werdmuller
Ben Werdmüller has published podcasts on werd.io using Known
- First 2014-11-02: http://werd.io/2014/the-top-podcasts-are-professional-but-everyones-voice-should-be
- An RSS feed of all posts tagged #podcastsunday: http://werd.io/content/all/?q=%23podcastsunday&_t=rss
Acegiak
Ashton McAllan consumes podcasts through her reader Whisperfollow which aggregates RSS and, if they are marked up with podcast media tags, embeds the media for consumption and provides a link to save or open in another window
gRegor Morrill
gRegor Morrill has published a podcast on http://latenighttoast.com using ProcessWire
- First 2015-05-07: http://latenighttoast.com/episodes/001-episode-305/
- Includes h-feed microformats
- Generating the RSS feed [1] on the same domain so that we can control the canonical URL of the feed after submitting it to iTunes.
- Using archive.org to host the MP3s.
- Using URLs on the same domain that redirect to the archive.org MP3s, again so that we control the canonical URL of the MP3. This also gives us the ability to roughly track the number of streams/downloads of each episode.
Jeenas Excellent Encounters
Jeena Paradies is publishing a podcast on https://jeena.net/pods
- using his own implementation with Ruby on Rails
- It's marked up with a h-feed h-entry and u-audio
- It also has a RSS feed for iTunes and other podcast managers
Marty McGuire
Marty McGuire is publishing a podcast at https://wehavetoask.com/
- static site generated with Hugo
- index marked up as an h-feed with h-entry and u-audio
- Build process also creates an RSS feed for iTunes and other podcast managers
Marty also hosts an IndieWeb-centric podcast This Week in the IndieWeb
- part of a static site generated with Jekyll
- index marked up as h-feed with h-entry and u-audio
- Build process also creates an RSS feed for iTunes and other podcast managers
Colin Walker
Colin Walker is publishing a twice-weekly microcast at https://colinwalker.blog/podcast
- self-hosted using WordPress
- episodes approx 3 minutes long, recorded on iPhone and posted using Workflow
- includes h-feed, h-entry and u-audio markup
- local RSS feed and via iTunes
Aaron Parecki
Aaron Parecki publishes a podcast at https://percolator.today
- self-hosted using home-built tools
- episodes are about 3-6 minutes long
- marked up with h-feed, h-entry and u-audio
- has a local RSS feed published via iTunes and other podcast directories
Greg McVerry
- Greg McVerry self publishes poembox and 2toPonder
- uses microformats to mark up
- converts feeds to RSS using Granary
Other Examples
Microcasts
For additional examples of short podcasts, see the microcast page.
Wavelist
Wavelist is a collection of podcast episodes curated into playlists by individuals.
Chris Aldrich
Because of the way Chris Aldrich formats his listen posts (using the Post Kinds Plugin) and includes html audio
tags marked up with u-audio
, the feed for these posts at http://boffosocko.com/kind/listen/feed can be subscribed to like a traditional podcast. Because this feed is meant more to help other's discovery of content, he calls this non-traditional podcast a "faux-cast". More details here.
Ryan Barrett
Ryan Barrett publishes a list of podcasts he listens to:
Silo Examples
Cast
- Cast provides a paid service to allow you to record, edit, publish, and host your podcast.
Anchor.fm
- Anchor is a silo for audio posts and podcasting.
Distribution
There are number of services for distributing your podcast without having to make copies (thus different from POSSE / syndication in general).
Huffduffer
Huffduffer is a bookmarking service for podcasts and audio / music / speech in general.
To submit your podcast to Huffduffer, create an account, submit your podcast with various tags.
Users of Huffduffer can then find your podcast by tag.
iTunes
iTunes is a service and application from Apple for music, video, podcasts and other multimedia. Podcasts distributed by iTunes are made easily discoverable and subscribable in:
- MacOS "iTunes" application
- iOS "Podcasts" application
Submitting to iTunes for distribution
See: How to Submit a Podcast at apple.com
When submitting a podcast URL to iTunes, be sure to submit a URL on a domain that you control. For example, if using Libsyn to host your podcast mp3s, don't submit the RSS URL that they provide. Instead, host a page on your domain that sends a "302 Found" temporary redirect to the Libsyn URL.
The HTTP client that Apple uses to fetch your podcast feed does not support SNI or Let's Encrypt certificates. If you don't have the ability to host an https URL on a dedicated IP address with an SSL cert from a supported CA, then you will have to give Apple a non-https URL for your podcast feed.
Changing podcast hosting providers
Podcast URL under your control
If your podcast URL is on your own domain, then you can just change the 302 redirect to point to the new hosting provider.
Podcast URL not under your control
If your podcast URL is not on your own domain, then the ability to change your URL is limited by whether your current host allows you to.
Libsyn has a writeup of how to change your feed URL.
Essentially the process involves setting an additional property in the feed URL.
<itunes:new-feed-url>http://newsite.example.com/podcast.rss</itunes:new-feed-url>
Services
Unmung
unmung will turn podcast feeds into playable HTML5 audio with microformats markup eg In Our Time
Granary
granary converts podcast h-feeds and h-entries to RSS with enclosures, including iTunes extension elements. It reads and writes the duration
mf2 property. Details.
Brainstorming
How to podcast with h-feed
Based on the examples, a podcast h-feed would be an h-feed of h-entry and may have some of the following.
- Minimum properties
- audio - the url of the podcast file.
- name - episode name
- Additional h-entry properties
- summary - representing a summary of the episode meant to be displayed in players
- content - Used by several as HTML contents of episode page. May include audio tag, summary, length, download link etc, and may be used as a fallback for readers that don't have special handling for audio.
- photo - Marty McGuire uses this as the poster image for the episode, however, it might be better to use featured for this.
- published - Publish time of the episode
- category - Categories for this episode
- Currently Proposed Properties
- size - The size of the audio file
- duration - The duration of the episode
- Areas Not Covered by current properties
- episode/season - Episode and season numbers for podcasts current have no vocabulary. In media files, it is common to use SXXEXX(Season and Episode number).
- Chapter/Scene information. This can be done with media fragments, but how to mark these up?
- h-entry has a concept of authors, but in podcast context, this is who uploaded the episode. We need vocabulary to cover contributors...such as hosts, guests, etc.
- Episode Type - iTunes markup has the concept of episode type, being full, trailer, or bonus content. 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. Feed has a concept of type which allows for episodic or serial.
The other issue is a multi-format podcast...if you have a video and an audio component, or multiple file formats of the same type, and how to mark this up.
Indieweb Examples
Aaron Parecki publishes an h-feed for his podcast:
- https://percolator.today/
- The top-level object is an h-feed with the podcast description
- Each episode is an h-entry child of the h-feed
- Each episode h-entry has the following properties:
- name - the episode name
- length - duration of the episode in seconds
- size - the file size of the audio file "17.43mb"
- audio - the link to the mp3 file of the episode
- url - permalink to the episode's HTML page
- published
- summary - episode summary, intended to be displayed in players
Marty McGuire publishes a podcast with h-feed.
- https://wehavetoask.com/
- The top-level object is an h-feed. The podcast description is contained in the author property of the h-feed as an h-card:
- url
- name - name of the podcast
- note - summary description, similar to what appears in a podcast directory
- photo - poster image similar to what appears in a podcast directory
- Each episode is an h-entry child of the feed, with the following properties:
- name - title of the episode
- summary - episode summary, intended to be displayed in players
- audio - the link to the mp3 file of the episode
- content - HTML with the summary text and <audio> element
- url - permalink to the episode's HTML page
- published
- The top-level object is an h-feed. The podcast description is contained in the author property of the h-feed as an h-card:
gRegor Morrill publishes a podcast with h-feed:
- http://latenighttoast.com/
- The top-level object is an h-feed with properties
- name
- url
- author - nested h-card
- summary - podcast summary, similar to what appears in podcast directory
- photo - poster image similar to what appears in a podcast directory
- Each episode is an h-entry child of the h-feed
- Each episode h-entry has the following properties:
- name - the episode name
- length - duration of the episode, e.g. "PT1H7M59S"
- size - the file size of the audio file "62.2 MB"
- audio - the link to the mp3 file of the episode
- url - permalink to the episode's HTML page
- dt-published
- summary - episode summary, intended to be displayed in players
- content - HTML contents of episode page. Includes summary + <audio> + length + download link. May be redundant, but may also serve as a fallback for readers that don't have special handling for audio posts
- The top-level object is an h-feed with properties
- Greg McVerry published a podcast with h-feed and Granary
- You can use Granary to convert the microformats on your podcast page to valid RSS feed.
- Make a 3000X 3000 image and mark it up with u-photo
- add size using dt-size
- add duration using dt-duration
- Visit granary, copy the link and use that to register with podcatchers
- You can use Granary to convert the microformats on your podcast page to valid RSS feed.
<div class="h-feed" id="audiopoem"> <h2 class="p-name">Poembox</h2> <p class="p-summary">A boombox of bad poems</p> <img class="u-photo" src="https://jgregorymcverry.com/photos/poemboxpodcastart.jpg" style="width:200px"> <time class="dt-updated" datetime="2020-02-25 11:14:20">25 <sup>th </sup> February 2020 </time> <div class="h-entry> <p class="p-name">(un)Celebration</p> <a class="p-author" href="/"></a> <time class="dt-published" datetime="2020-02-01 13:34:20">01<sup>st</sup> February 2020</time> <audio class="u-audio" src="https://jgregorymcverry.com/poetry/(un)Celebration.m4a" controls="controls"> </audio> <data class="p-size" value="222672"></data><data class="p-duration" value="PT0H0M15S"></data> </div>
- Please note that an RSS feed from Granary will not be compliant with ITunes Validators
This feed uses the SSL certificate authority “Google Trust Services”, which is not compatible with iTunes.
How to create a subscribe link
It is important to make it easy for people to subscribe to your podcast. Jeremy Keith uses the following code, as of before 2018-04-23, to allow people to easily subscribe to Huffduffer feeds:
<ul> <li><a rel="alternate" type="application/rss+xml" href="/adactio/rss">RSS</a></li> <li><a href="pcast://huffduffer.com/adactio/rss">Subscribe in Podcasts app</a></li> <li><a href="overcast://huffduffer.com/adactio/rss">Subscribe in Overcast</a></li> <li><a href="downcast://huffduffer.com/adactio/rss">Subscribe in Downcast</a></li> <li><a href="instacast://huffduffer.com/adactio/rss">Subscribe in Instacast</a></li> <li><a href="podcast://huffduffer.com/adactio/rss">Subscribe in another app</a></li> </ul>
This list is very iOS centric, but the “Subscribe in Podcasts app” (with the pcast
scheme) also works for some Android applications:
- Pocket Casts (verified by Martijn van der Ven, 2018-04-23)
- AntennaPod (verified by Chris Aldrich, 2018-04-23)
WordPress recommends the itpc
scheme “to make life easier for iTunes users”. They make no mention of which podcatcher may support it.
Sessions
See Also
- audio
- video
- microcast
- podcatcher
- podcasts about the indieweb
- Indieweb Podcast Club
- Screech
- Audiogram
- transcript
- Displaying Listen Webmentions
- https://help.apple.com/itc/podcasts_connect/#/itcb54353390
- 2018-03-31 Hacker News thread about podcasts and business models
I work for a company that tried to do exactly this [a YouTube for podcasts] and we ended up pivoting to enterprise once our technology matured. The money just isn't there, that's why this service doesn't exist. Podcasts are cheap to host and easy enough to produce that nobody is going to invest serious money
- useful guide https://github.com/filmgirl/podcasting-resources/blob/master/README.md
- https://xoxo.zone/@roseveleth/100545231834099543
- "I just found out that an old RSS feed for Flash Forward is no longer redirecting which means pretty much anybody who subscribed during Season 2 of the show is no longer getting episodes in their feed which is a LITERAL NIGHTMARE. Plz check your RSS it should be this one: https://www.flashforwardpod.com/feed/podcast/" @roseveleth August 13, 2018
- https://xoxo.zone/@roseveleth/100561170540168529
- "cool cool cool cool Acast's refusal to do a 301 redirect on my RSS feed means that people who listen on Stitcher haven't been getting episodes either cool great yep great no problem" @roseveleth August 16, 2018
- https://xoxo.zone/@roseveleth/100561221081956765
- "So apparently what happened is that Acast didn’t set up a 301 redirect, they setup 302 redirect. Which doesn’t tell any of the apps like Apple that the feed is permanently moved. Then they deleted my feed since I was no longer with them and they thought it was old and no longer in use. That means that anybody who subscribed to the Acast feed got bumped from the show. Which explains why I went from 80-90k downloads per episode to 30-40k. Excuse me while I go throw up." @roseveleth August 16, 2018
- https://changelog.com/posts/an-open-letter-to-all-podcast-apps-except-overcast
- http://shortcut.thisamericanlife.org/#/?_k=j2dhhy - UI creates short audio clips/movies
- https://tokbox.com/customer-story/blab-im - live group social streaming service
- https://zencastr.com/ - silo service that does high quality audio recording
- https://twitter.com/AlexNitkin/status/1101241835731779585
- "Actual thing a luxury apartment broker told me yesterday: tenants have come to expect soundproof recording studios in new buildings so they can all record their own podcasts." @AlexNitkin February 28, 2019
- https://www.theguardian.com/commentisfree/2019/nov/30/podcasting-fifteenth-years-old-corporate-greed-threat
it seems to be falling prey to the same phenomenon that has bedevilled the web – the thundering herds motivated by corporate greed. In that sense, it may be subject to the pernicious cycle first noticed by Tim Wu in his landmark book, The Master Switch – in which a medium starts out glorious
- Captivate.fm - a fee-based podcast host and infrastructure platform with player and analytics
- The Podcast Index aims to be a permanent open index to podcasts. Its two goals are to "preserve podcasting as a platform for free speech" and to "re-tool podcasting to a platform of value exchange that includes developers with podcasters and listeners".
- https://castopod.org/ an open source project for self-hosting podcasts
- BBC MakerBox: Adaptive Podcasting
- Apple technical guidelines for publishing a podcast feed (note, no mention of their Atom support) https://podcasters.apple.com/support/823-podcast-requirements
- Apple iTunes / Podcast apps do apparently support Atom feed podcasts. Example and recommendation to embed cover art in the actual MP3 file: https://stackoverflow.com/questions/5124014/is-it-possible-to-add-itunesimage-to-an-atom-feed-with-enclosures