negative zero

Podcasts are Not that Complicated

2020 December 9

[info] [podcasts] [rss] [tech]

Personal Context

A few years ago, I decided to start a podcast. (It's not still online, sorry.) I had a lot of trouble figuring out how to do it. There are several services that will do it for you, but I wanted to do as much of it as possible independently, without having to rely on some advertising company or whatever.

Those services (the "Just click sign up and we'll do everything for you!" ones) made that hard because they filled up the search results. I had a lot of trouble figuring out how to make a podcast "by hand", so to speak. People made it sound like you had to use specific services or you weren't allowed to have a podcast. I didn't know if podcasts were actually some centralized proprietary thing, and every single one had to go through Google, or if Apple's podcast platform was the authority on what podcasts were allowed to exist.

Eventually I did figure it out. Turns out podcasts are not that complicated, and you can make one using only your own website if you want.

What Is a Podcast?

There are two important components to a podcast: the media (I'll assume in this post it's audio, but some podcasts do use video) and an RSS feed. I'll assume everyone knows what an MP3 file (or an OGG file if you're cool) is, but let's talk about RSS.

An RSS (Really Simple Syndicate or Rich Site Summary) feed is basically just an ordered (by time of publication) collection of links that gets updated periodically. That's really all it is. Think of the front page of a blog. It has links to the most recent blog posts, maybe with a blurb or even the full text from each. If you go to that front page regularly (let's say once per day), you'll see this list change as new posts are published and added to the top of the list.

That's basically how RSS works. I won't get into the actual implementation here (there's syntax to it), but it's basically like the front page of a blog, except it's in a standard format that computer programs can easily parse. So instead of you having to check the front page of each blog you want to read each day, one by one, you can have a program (called a feed reader or RSS reader) check all of them for you and keep track of updates for you.

A podcast is just an RSS feed where each article listed in the feed includes a link to a media file. That's all. It's basically just a list of links to MP3 files that are publicly accessible over the internet. A podcast client is just a feed reader that can also play audio.

How to Make a Podcast Yourself

Again, I won't talk about the actual syntax of the feed, but I'll give you a basic overview of how to make a podcast. There are two components:

  1. The audio files
  2. The feed

You may wish to host these on different servers, and that's perfectly fine.

The audio files should be directly accessible over the web. This is to say, they shouldn't be hidden behind a web player. You should be able to go to the URL in a web browser, press Ctrl+S, and download that audio file.

I can't provide much advice about hosting options if you don't want to serve your audio from your own server. But the key thing is the hosting provider needs to offer a static download link for the audio file. offers no-cost hosting, but their speeds are slow, and there's no automatic way to delete files after you've uploaded them, so if you want something removed later, you'll have to ask a human to do it for you.

You don't need much in the way of server resources when hosting the feed. At bare minimum, you just need a web server that can serve one file: the feed itself. (It's a good idea to have some more human-readable information on other pages on the site too.) If you can't host it on your own server or don't want to, any service that lets you host static files should work. When I did a podcast before, I hosted the feed on GitLab Pages, and I edited the feed by hand in a text editor. I don't recommend doing it that way, but it's an option.

Comments on Podcast Services

Podcast Listing Services

My other issue with the way podcasts are presented is the idea that they're available "through" various platforms (like Apple or Google Podcasts). These services (generally) just link to the actual podcast (which, again, is just an RSS feed located at some URL like They (generally) don't host the feed or audio themselves; they just tell you where it is. It's like getting directions to a sandwich shop from a librarian then saying sandwiches are available at the library. It's fine to use services like that to help you find podcast feeds, but recognize that they're just giving you directions to a feed.

On the other hand, I don't have an issue with podcast creators listing these services on their sites as ways to find the podcast, but please also include a link to the RSS feed itself. Listeners shouldn't have to go through some proprietary third-party listing service just to get a feed you could have just linked from your own site.

Podcast Hosting Services

I won't begrudge you wanting to use an easy service so you don't have to set up the feed yourself or deal with hosting. (Some audio hosting services like Soundcloud offer an RSS feed option built-in if you want it, so it makes a lot of sense to just use that.) But there are a few providers I hate. Please avoid these services (or at least offer an alternative as well):

Comments on Podcast Clients

Given this understanding of what a podcast is, you shouldn't need a nonfree app that's tied to a centralized service and shows you ads. You shouldn't need an account on any server. You should just need a feed reader that can play audio (or can hand an audio stream off to another program). If it has the ability to search podcast listing services, that can certainly be a plus, but it definitely shouldn't be a requirement. You should just be able to add feeds directly. (And migrating your feeds from one client to another should be easy - there's a format called OPML which is used for exporting and importing lists of feeds between programs.)

For Android, I'm a big fan of AntennaPod, which is free software available on F-Droid. On GNU/Linux, I use the command-line tools newsboat/podboat, but if you want a graphical tool, gPodder (also available on other desktop platforms) is pretty good. I've never used an iOS podcast app, so I can't speak to any of them, but I would imagine there are some good free software options.


Hopefully this post has helped to demystify podcasts some. If you're a user of podcasts, understand that a podcast is basically just a list of links to audio files, that list is accessible over the web, and every so often your podcast client checks that page to see if there are any updates. If you're a podcast creator, understand what it actually is that you're making, what's needed for it, and (at a high level) how to put it together yourself. Don't lock users into specific nonfree podcast clients with proprietary formats, and use providers that respect users' ability to be anonymous, if they choose.