RSS Certification

Every half hour, a bot at Bloglines (Bloglines/3.0-rho) requests my feed from it’s old location, gets told the new location via a 301 redirect, and probably doesn’t follow it.

This means readers who subscribed to my old blog via Bloglines (all 21 of you) just aren’t seeing anything I write anymore.  (No big loss ) But this is a pretty basic thing that an aggregator should be able to do:  Follow along when an RSS feed says “I’ve moved, and here’s the new location”.

Here’s how it works:  The aggregator connects to my server and sends something like this:

GET /dottext/RSS.aspx HTTP/1.1
Location: www.stevex.org

What it gets back is:

HTTP/1.1 301 Moved Permanently
Connection: Keep-Alive
Date: Sat, 11 Feb 2006 00:13:03 GMT
Server: Microsoft-IIS/6.0
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 175
Location: http://blog.stevex.net/index.php/feed/

<html><body>The requested resource was moved. It could be found here: <a href="h
ttp://blog.stevex.net/index.php/feed/">http://blog.stevex.net/index.php/feed/</a
></body></html>

The 301 status combined with the Location: header tells the agent that’s fetching the feed that the feed has moved, and where to find it.  The HTML content that’s return is supposed to be shown to the user if the agent is unable to understand the 301 response – but really, there’s not much excuse for not understanding a 301 response.  (It looks like Russell Beattie has run into the same problem with Bloglines, although he puts it a little more bluntly than I do).

One of the services that standards bodies provide is certification.  I wonder if RSS Certification wouldn’t be a good thing for the industry.

Certifying both feeds and aggregators would help to ensure reliable interoperability, something that I think we’re really lacking right now.  A few examples:

 – Google Desktop doesn’t follow 301.
 – Bloglines doesn’t follow 301.
 – Many servers generate funky RSS (like the recent iPhoto issue).
 – I frequently get little flurrries of RSS items marked as “new” that aren’t really new.
 – Not everyone shares the same idea of what an OPML subscription list looks like.

There are validators, but they’re completely optional. 

I worked at JFL Peripheral Solutions for a few years on TWAIN drivers (among other things), and the lack of certification had shown itself to be a problem in that industry as well.  Scanner manufacturers would test their drivers with Photoshop.  Everyone lose in this scenario – the scanner manufacturer wins in the short term because they saved a few bucks on their driver, but in the end they’re slowing the growth of their market.  The consumer loses when they try to scan with anything but Photoshop.  Software developers waste time trying to hack their software to “look like Photoshop” to the scanner driver.  And so on. 

An aggregator “seal of approval” from the RSS Foundation could mean a minimum level of guaranteed compatibility.  A server tool’s equivalent “seal of approval” would mean that any aggregator bearing the seal would be guaranteed to work with it.

Of course our industry sucks at this sort of self regulation, so I don’t hold out much hope that it will happen, but if some of the industry leaders could pull something like this together, it’s hard to argue that it wouldn’t be good for absolutely everyone.