Feeds are Awesome

What’s An RSS Feed?

An RSS feed is an XML file that you can publish on a website that describes a collection of items and where to find them. So if you have a blog, for example, your RSS feed can be a list of all of the blog posts on your site with some amount of metadata describing each post. You can also get more granular if you want and offer feeds for different categories of posts. People can subscribe to these feeds in any RSS reader, which makes it pretty convenient to keep up to date with your favourite websites without needing to constantly check if they’ve been updated. There are quite a few RSS readers now that can show you all of the new posts from feeds you have subscribed to.

If you’re still unsure about what RSS feeds might be useful for, take a look at About Feeds and give them a try.

Over the years, I have used these services for their web clients and feed syncing (along with various apps like Reeder on iOS):

What Does RSS Get You?

Direct Connection

If you distribute your posts solely by linking to them on social media one at a time, you’re missing out as an author/publisher. RSS feeds allow your audience to subscribe to you directly without relying on an algorithmic timeline to decide that your readers should be shown your content. There is certainly value in using social media to find your audience and promote your work, but once someone has decided that they like your work, an RSS feed provides a convenient way for them to see everything you publish in the future as soon as it’s available. It doesn’t cost either of you anything extra to do this other than possibly some setup time in your blog software. Unfortunately some people don’t set up an RSS feed for their content and it’s a real shame!

Consistent And Customized Rendering

One of the benefits of having a standardized format for content in the RSS feed is that feed reading software can display posts from different sites with whatever formatting you choose. You can choose whatever font, size, and colours make things look good to you. If you like the way the author formats their site, you can also just open the post in your browser and read it that way.

Time Shifting

A few time a day, I’ll pop open my RSS reader (mostly on my phone) and “triage” my unread items. This is fairly quick because I don’t have a massive volume of subscriptions to work through. For anything that sounds interesting, I’ll star the item for later. I’m actually pretty casual about reading the starred items. For most of them, there is nothing time critical – I just liked the way the headline and summary sounded. There is not a lot of difference between reading those articles when I have time, whether it’s in a week or a month. I find that the ability to time shift my reading like this makes the pressures of information overload less insistent.

Podcasts: What If You Linked To An MP3?

What else can you do with an RSS feed? A podcast is just an RSS feed that has a little extra metadata and links to audio or video files. While some companies have recently started distributing what they call podcasts through locked-down apps, I can’t bring myself to support them. It’s too important to me that podcasts remain an open format that relies only on the connection between publisher and listener. People have figured out ways for listeners to provide monetary support to podcast producers and many free podcasts are now ad-supported so that the producers can have some income that ranges from partial cost recovery to quit-your-day-job extravagance.

Podcasts are pretty awesome. If you can pay for the hosting for your files, you can have a radio show, even if you only have a handful of listeners. If you’re looking to listen to a show or even just one episode about a particular topic, you can probably find it in the directory of your favourite podcast client (or even as a video on YouTube, these days).

I tend to listen to podcast episodes that are over an hour long and consume them in chunks, so I need to be able to come back later and resume listening where I left off. This is one of the biggest differences to me between a podcast player and a music player: podcast players understand that you’ll want to resume from where you left off, where music players often don’t.

Hacking Together a Podcast Listening Setup in 2005

The early days of podcasting were pretty cool. People were figuring out data formats and other technology and it felt mostly driven by the people making and receiving the content, rather than being pushed by big corporations. I was at the right age and had the right interests to care about this sort of thing, and as soon as I found a few podcasts that I enjoyed, I was hooked.

I was in university and wanted an iPod, but I didn’t want to spend the money on one (a more charitable way to spin this is that I was being financially responsible). So I got an iPod Shuffle instead. I really wanted to be able to listen to podcasts on the go, but the Shuffle didn’t really support that in the way I’d want it to work. So I eventually hacked together a few things that would let me do it.

First Generation iPod Shuffle (1 GB)

The big premise of the Shuffle was that it didn’t have a display. You just loaded a bunch of music onto the device (it worked like a USB stick except that you were supposed to sync it with iTunes), turned it on, and hit play. You’d get some random ordering of a subset of your iTunes library. Kind of a neat idea and it was less expensive than the “real” iPods.

The first generation iPod Shuffle was great to hold in the hand. Later iterations of the device shifted to more of a square shape rather than the longer USB stick style of the first device. I really preferred the ergonomics of having my thumb over the controls when holding the longer device.

Python Script for Setting Playback Order

The only issue I had was that the iPod Shuffle was designed for you to load a collection of songs onto and then play randomly (hence “Shuffle”). But what I really wanted was to be able to listen to podcasts in a particular consistent order. This wasn’t really an option with iTunes. Fortunately, I was able to find a utility that could set the playback order on the iPod Shuffle. It looks like the code for this utility has been uploaded to GitHub here.

Fine, I’ll make my own podcast client

I don’t remember what the state of Apple’s support for podcasts in iTunes was as the time, but being a nerd who liked coding, I thought I should make my own custom podcast downloader app, of course. It ran as a C# Windows service and regularly checked each of my subscribed RSS podcast feeds for new content. I tried to be as respectful and efficient as I could, using HTTP HEAD requests to see if the RSS feeds had changed before downloading them fully. I didn’t really know what I was doing at the time, but thinking back on it now, I actually covered a lot of stuff that I still need to do now as a developer using modern APIs.

There was also some parsing involved. Parsing of an XML file with limited library support. So I had to use a stack to keep track of where I was in the document hierarchy and all of that, assembling a list of items from the RSS feed as I went. This all seems hilarious now when I could just use something like XmlSerializer.Deserialize and be done in minutes, but I don’t know that such conveniences existed at the time.

I think there may have been a little bit of manual futzing around with recovering in certain corner cases, but otherwise it worked pretty well.

I kept going with this setup for a while until I was able to start using real podcast apps on Android and iOS. After trying a multitude of podcast apps over the years, I’ve settled on Overcast these days because the flow of episodes and UI interactions makes the most sense to me.

The Joys of Custom Software

My setup was janky, of course, but it worked exactly the way I wanted it to. This is one of the things I like the most about making software for myself (though I haven’t done as much of it lately as I used to): being able to spend time getting something right that really matters to me and doesn’t matter to many other people. The open nature of RSS and podcasts is great for allowing people to work together to get content from producer to consumer with the ability to customize things to one’s liking.

If you enjoyed this article, consider subscribing to my site’s RSS feed!