Christmas present: podcast feed validator!

I get a lot of “what is wrong with my podcast feed?” kind of questions because I have written a fairly popular tutorial on podcasting with Blogger and Feedburner, and a lot of people start doing podcasts that way. There’s a couple of things that can go wrong:

  • Not a valid RSS feed
  • RSS feed without enclosures
  • Feed not updated when posting new article

To check some of those things, I needed to read and interpret the RSS feed by hand. That’s why I decided to make a podcast feed validator to do the checks automatically. Let’s take Adam Curry‘s DailySourcecode podcast as an example:

  • the URL of the feed is 0001014/ categories/ dailySourceCode/ rss.xml, so I input it into the input field and the results are:
  • #1: feed URL exists and can be reached
  • #2: feed is a valid RSS feed (but does not conatin the iTunes extensions),
  • #3: feed items have audio enclosure (but not all, as you see in the image below. The reason is that two enclosures are wrongly specified as text/html instead of audio/mpeg.)
  • #4: the audio enclosure (MP3 file) exists and can be reached

podcast feed validator
So the enhancements for this feed would be: make sure all enclosures have the right type, and provide iTunes meta data. Better still: use Feedburner to get that and more: subscriber statistics and lots of feed tools.

Try it out for yourself:
Check your podcast RSS feed!

Some more features of the podcast feed check:

  • estimation of mean-time-between-posts (MTBP), a metric I talked about in RFM for RSS feeds
  • estimation of required bandwidth/storage per month (DailySourcecode: 600MB/month, podcast: 10MB/month)
  • works with MP3 audio enclosures and AAC (MPEG-4) audio/video enclosures (any audio/mp* enclosure)
  • detailed (technical) information is hidden by default and can be shown through some AJAX functionality.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.