Podcast Feed Hell

18th June 2014

There are no things I consider myself to be an expert on: there is always something more to learn. When it comes to RSS feeds and podcasting, I’m still learning so go easy on me.

In my move away from WordPress to Statamic I needed to transplant my old podcast "Exastential" as well as the TechDistortion Audio Article Feed. I did what I usually did - grabbed a copy of some XML HTML source files from a bunch of sites on the internet and quickly read through the RSS fields and set them up the way that I thought they would need to be set up. The episodes came across, were posted and away we went. Using the FeedValidator it came up healthy and I smiled and moved on.

Then came the surgery, going indie with Pragmatic, and suddenly it was time to bring the feed across from Fiat Lux. Ben Alexander had set it up nicely but I wanted to serve the feed from my site, not from LibSyn. I redirected the feed from LibSyn to TechDistortion and within a day I received notification from a fan of the show that Pragmatic had vanished from iTunes. When I checked, so had Exastential and the TD Audio Feed.

Mistake #1: Rushing My Work

The truth was that everything had conspired to result in a close to one month gap from the move of the old two feeds to when I was ready to move Pragmatic across. I scrambled to get everything ready and in the rush I cut a few corners. If I’d had more time I would have been more thorough. First mistake. Stupid, stupid John. The rush drove all of the mistakes that follow.

Mistake #2: Copy and Paste

How many times have I rapped younger programmers across the knuckles about reusing code without understanding it well first. Especially code fragments and here I was rushing my work and doing it myself. I’ve begun to think that in our minds there’s a switch: when we’re in ‘teaching mode’ we have a different level of self-criticism but when we’re in ‘doing mode’ we end up cutting corners because, we know what we’re doing right?

I had unfortunately overlooked a single but rather important tag <iTunes:block> that was in an old feed I had extracted tags from and it was unfortunately set to "Yes". Since it was a common XML source template in Statamic it was therefore stopping all three feeds from appearing in iTunes. Additionally I’d inadvertently copied the <itunes:new-feed> tags redirecting the feeds to their new one: essentially redirecting the feed back to itself endlessly. I removed that once I figured out it made no sense.

Problem solved? No.

Mistake #3: Choose Your Validators Carefully

Validate, validate, validate. I did. What I didn’t appreciate is that the RSS Feed Validator I’d always used for the site RSS feed didn’t support iTunes podcast tags. After lots of reading online I then discovered Cast Feed Validator which did a podcast-specific check and if it found problems sent you to a standard RSS Feed Validator. In addition I enlisted the help of Feeder, a Mac app designed to help create, modify and validate feeds locally on your machine.

No matter how good your validator is there are some things it can’t detect. The redirection of the feed back to itself is a good example that passed through every single validator that I tried.

I had missed episode-specific summaries, summaries couldn’t have HTML in them, colons in title text messed up the parsing of the titles, plus there were a bunch of tags at the <channel> level that needed to be repeated at the <item> level for no adequately explained reason. At one point I was hacking and slashing code on the train on the way home. Having used up the trains Free WiFi quota (a paltry 50Mb) I switched to my iPhone tethering and noticed that the reception kept dropping out all of the time. Sometimes halfway through an online edit or an upload. Desperation had well and truly set in.

Mistake #4: Assumption

Previously in WordPress I’d used the excellent PowerPress plugin. It did everything for you. There was no XML anywhere. It all seemed so easy and straightforward but unfortunately it wasn’t. Assuming that I’d done this before was clearly, quite simply, stupid.

Mistake #5: Report A Concern

iTunes has a built in mechanism where you can go to a podcast and select "Report a Concern" then ask for help with the feed. This is essentially useless if the three feeds you’re having trouble with have already vanished. It wasn’t until I tried podcasts@apple.com that I was able to get a response. In fact when I told them what had happened I received a response within 18 hours. From what I’ve read on other sites on the internet that’s unusual so I’m either lucky or special - not sure which.

Apple Responds

Hello John, We apologize for the inconvenience. It seems our system ran into an issue when updating from your feeds. The podcasts have been reviewed and re-approved. Please allow 24 hours for the podcasts to appear in the iTunes Store. Best, Kyle

In fact it was significantly LESS than 24 hours. The feeds were literally back within 3 hours time of that email, although all of them lacked their artwork. Exastential gained its artwork the following day but TD Audio and Pragmatic took closer to a week before their artwork showed in the store. (Curiously the artwork showed up when you subscribed to the show itself just not in the search)

The Podcatchers

Thanks to some help from some Twitter fans and friends notably Clinton Philips, Matt Foster, Gabriel Visser and Brian Shand I was able to confirm whether the shows were appearing both in their searches and subscriptions for Castro, Downcast and Instacast. I was already testing with (redacted) and (redacted) made sure it worked despite an initial glitch due to my bad feed information leaving only one popular app 1 that was causing an issue at this point was PocketCasts.

Although it took a few days to get sorted PocketCasts came through not only with fixes for all of my shows but they were also kind enough to generate custom landing pages for the shows on their site.

Lessons Learned

It’s really quite simple: Statamic is great but there are currently no Podcasting plugins for it that I know of. This means that you’re hard coding the XML yourself and whilst there are plenty of examples, read up ALL of the documentation first, validate, validate and validate again across as many podcast feed validators as you can find and only then submit to iTunes and publish your RSS podcast feed.

One more lesson to learn: everyone makes mistakes, cuts corners and does stupid things. This time it was me. Next time it could be you.

  1. Popular in terms of the download proportion of Pragmatic as reported by LibSyn.