MIME types and feed handlers


Mac OS X's handling of podcast RSS feeds illustrates perfectly a problem with using RSS as a vector for other data: how to get the data from a web browser to the application that needs to receive it. When all RSS feeds are served with the MIME type of application/rss+xml, all start with the same root node and all have the same file extension (.xml or .rss), there's no way to distinguish a weblog feed from a podcast feed.

Hence, Safari picks up all http:-linked RSS feeds (or hands them to a specified external program like NetNewsWire), requiring the pcast: hack to send links directly to iTunes. The pcast: link generally doesn't work outside OS X though, so most sites just use the http: link, which means to subscribe to a podcast you have to root around in the feed properties in NetNewsWire, find the feed URL, then copy it and paste it into the dialog from iTunes' "Advanced → Subscribe to Podcast" menu.

An alternative is for all podcast feeds to have a metafile in Apple's .pcast format: the .pcast file extension would be registered to a specific application, as would a pcast MIME type for systems that don't take notice of file extensions. However, this seemed to be quite broken at first and hasn't really caught on (and it complicates the process of generating feeds too).

Ideally then, podcast RSS (and Atom, if Apple gets round to including support for Atom in iTunes) feeds would be served with a different MIME type, so they can be distinguished from weblog RSS feeds.

Apparently there was a vote a few months ago on the ipodder list, but it seems like they came to a different conclusion, and maybe they were right after all: a weblog RSS feed that happens to have media enclosures can't have two different MIME types or two file extensions, so all RSS feeds, whatever their intended destination, have to use the same file extensions and application/rss+xml MIME type.

Lucas Gonze wrote about this at the time, and noted that this outcome would mean that everyone would have to use a separate desktop or in-browser RSS-handling application that would give the choice of which destination (NNW, iTunes, Bloglines, etc etc) to send the RSS feed to (similar to the handler ISI produced for RIS-formatted bibliography files that can be handled by Endnote, Procite or RefMan). This hasn't happened, yet, but I think it's quite necessary.

Update: Or alternatively, perhaps, it would be better just to have the operating system aggregate all the feeds into one big database and have individual applications take their pick from there; this seems to be how the next version of Windows will handle things.