Web Browsers, HTML, and Multiple XML Feed Formats

By Shawn Medero on 2008-04-20T03:23:39Z

Dean Allen asks weblog owners (and calls out Dan Hill’s cityofsound.com) to stop advertising multiple feed formats (RSS, Atom, etc) and promote only one. Dean suggests that people and software interested in other formats will know where to find them.

Update: Upon rereading Dean’s post for the third time, it is not clear to me who his intended audience is. What follows is still appropriate though… whether it is the HTML author, weblog software, or Safari the solutions aren’t that obvious.

Update 2: Dean follows up:

Having seen some responses to this, it’s clear I should’ve been less terse here. My point is that feed autodiscovery as it is in Safari (and Firefox, Camino, Firefox 2 on XP, Opera, iCab) is a very good thing, and I agree it’s perfect for this sort of application, allowing feeds carrying different content to be quickly tweezed out without one having to hunt for links on a page.

Cool, I think we’re on the same page.

If however you argue that multiple formats are important because, say, Microsoft prefers RSS while Google prefers Atom, then it’s trivial for you, Microsoft and Google to work that out amongst yourselves (think CSS). Just please don’t require every single person who tries a feed autodiscovery popup to have to decide if they want their ice cream served in a boot, a Pontiac, or a waffle cone.

Ok, so now I picked a shitty example. :) My point was that: in the present “wild wild web” environment semantic web crawlers aren’t capable of finding multiple XML formats unless you tell them where they are located. And sadly… given the completely shit state of feed formats (they are rarely valid XML) developers and content aggregators seem religiously devoted to one format or the other.

Also Jens Alfke chimed in with a similar post describing the autodiscovery legacy and the many problems with XML feeds.

One of the commentors on Alfke’s post asks:

Is there a single aggregator out there that can handle RSS 2.0 but not 1.0?

It is not solely about feed aggregators. There are other platforms grabbing and parsing XML feeds. They should be doing both (well, they should be doing Atom) but it is just not that straightforward.

What follows was the original post (with some modifications):


Since John Gruber didn’t call him out on this one, I’ve gotta throw my voice into the conversation.

Knowledgeable weblog authors have long complained about the plethora feed options displayed on the average weblog. RSS 0.91, RSS 2.0, Atom 0.3 and Atom 1.0? Who cares? Given that 88% of internet users don’t even know what feeds are why complicate matters?

The problem with Dean’s complaint is that in his example Dan is only actively advertising one feed. Visit Dan’s website and if you read the content in his sidebar you’ll see he only promotes one link to an XML feed with the text “Subscribe to this blog’s feed.”

Dean’s web browser, Safari, is parsing the HTML page using the only “official” method authors have to alert HTML user agents to alternate content: the `element combined with arelattribute and a a mimetype` attribute that signals if it is one of the known XML feed types. I call it unofficial because this practice has never been standardized to my knowledge. Mark Pilgrim pimped it and user agents implemented it after a couple major blogging packages started using it.

HTML authors can place references to alternate representations of their content by using the attribute+value pair of rel="alternate" (and in this case rel="feed" is a possibility, but it is not as widely supported as alternate.) There’s no other way to “semantically find feeds”. Options such as sniffing at common URLs and attempting to guess if you are using a common weblog system don’t scale.

Safari could choose to advertise only one of the possible feed formats, right? Just pick the first element in the order it appears in the DOM or Apple could simply promote one format only. If only it were that easy. “ is not just about promoting multiple XML feed formats, it can also be used for alerting user agents to multiple content feeds: recent entries, recent comments, recent links, and so on. There’s no easy way out for Safari and it probably does the most logical thing it could. (For the record Firefox does the same thing … I’m not sure about Opera or IE. It doesn’t really matter because I’m assuming you’d like to let bots know you have different feed formats. Google might prefer Atom and Microsoft might prefer RSS… it is a crazy world out there. Sadly, not everyone parses feeds using the Universal Feed Parser.)

Update: Well there is a very light specification for RSS Autodiscover. I wouldn’t call this an official standard though… it is more of a “gentleman’s agreement.” This specification recommends Dean’s approach:

Publishers who offer the same feed content in several syndication formats SHOULD NOT use autodiscovery links for all of them. Choosing only one feed format for autodiscovery makes it easier on new subscribers, especially if they are unfamiliar with syndication and can’t distinguish between the Atom, RSS 1.0 and RSS 2.0 formats.

I still think there are use cases for providing links to alternate feed formats. Especially in the world of feeds there are a lot of bozos.

For background, here’s a note from Lachlan Hunt on how HTML 5 is handling Feed Autodiscovery.