Aaron Brazell is the author of Technosailor.com and is a regular guest blogger at ProBlogger.
Last month, I wrote an article here at ProBlogger in The Blogging for Beginners series introducing the concept of feeds. The article was Kick Your RSS: Jumping on the Syndication Bandwagon and it was received extremely well.
Today I want to take the discussion of syndication a step farther and look at the two main types of feeds used in blogging today – Atom and RSS. I say two, but that’s really a misnomer. Mark Pilgrim counted 9 different flavors of RSS and there are 2 different variants on the Atom specification. Specifically, we’ll look at Atom 1.0 and RSS 2.0.
Really, there is much to say about the various formats. I can pass along what I’ve learned myself, though I’ll never hold myself up as an expert on them.. There are certainly people more qualified to deal with feeds. What I can say about feeds though is that they are mutually important to providing a third dimension to a blog and the differences between the two are mainly semantic and not critical differences – unless you’re Dave Winer, of course.
RSS 2.0 has the widest acceptance of any feed format. Much of that has to do with the defacto use of it by WordPress, but it is also the one variety of RSS format that seems to have solved some of the problems presented by earlier versions. Of the two feed types, RSS is most widley used but also has signifigant downfalls.
For one, RSS does not allow any well-formed XML markup in it’s content. This is very bad when it comes to using RSS-syndicated content elsewhere. In fact, it only supports plain text or escaped HTML which, without getting into the technical issues surrounding that, simply means it’s very difficult to work with.
RSS has only three required fields on a per item basis- title, link and description. There are a variety of optional fields but some key features, such as a “last updated” field are missing.
Atom is a relatively recent spec and is much more robust and feature-rich than RSS. For instance, where RSS requires descriptive fields such as title and link only in item breakdowns, Atom requires these things for both items and the full feed.
And my favorite – Atom feeds provide an “updated” field which means that any feeds that are modified have a timestamp associated with them. Trust me when I say I find this useful.
A cool feature of Atom has to do with autodiscovery. Most of the time, if you point your browser to a feed-enabled website, autodiscovery kicks in and the browser alerts you in its own unique way to the presence of a feed. The same thing happens when you point a feed reader to a feed-enabled website as opposed to the specific feed itself. While feed autodiscovery has been around for a long time, Atom feeds actually contain a self pointer autodiscovery URL which is highly unique from RSS itself.
There’s quite a lot different in terms of the two specs. If you’re really interested in discovering the technical differences between the two, I encourage you to read Tim Bray’s comparison piece. He really nails it very well.
I am likely to have to invest in an Atom parser as well as an RSS one, as I aggregate a lot of content on BFN, and at present don’t pick up Atom feeds. Having two formats makes it slightly more of a pain from a developers point of view, but there ya go, standards eh?
Blogcharm uses a really unusual php version. I have found little compatibility for it on its own but parsing it through feedburner has really helped me.
Is FeedBurner both RSS2 & Atom (and the 7 other RSS types) covered in one feed? I’m thinking of using the FeedBurner Plugin for WordPress. Or maybe I’m comparing apples & oranges?
I think Feedburner provides RSS 1.0 feeds. It will accept any feed (minus Atom 0.3) but it presents RSS 1.0.
I’ve been having problems on my aggregator with feedburner producing stuff that’s actually a jumble of RDF Site Summary (RSS 1, the real thing) and Really Simple Syndication (RSS 2, Dave Winer’s cheap spoiler). Anyone else noticed that?
RSS 1 addresses a lot of the criticisms of RSS 2 made in the article above, including allowing XML item content and full Dublin Core metadata.
I wish RSS 1 would win, but there’s some compatibility between it and Atom, so Atom’s not a bad compromise. It has developed some problems recently, including most feeds having unnecessary content in them and the Atom spec being published under a restrictive copyright licence by IETF.
So, for now, I’ll be using tricks like http://cavedoni.com/2004/02/atom03rss1.xsl to convert Atom to RSS 1 and feed it to my existing aggregation tools.
I’ve always wondered what’s the difference between those two, too bad i use RSS 2.0 for all of my blogs, but oh well =)
Thanks for making things clear Aaron!
So that means it’s better to bookmark the sites I read with Atom 1.0 feeds than with RSS 2.0?
Thanks for the heads up Aaron. What MJ Ray says is also very interesting on the RSS convertion tool. Since my WordPress blogs come with RSS2 I’m tempted to say I’ll stick with that, but having a Feedburner overview of how many people are following your blog is also interesting.
I see a lot of confusion if the different types of feeds are compatible or not in different types of readers, at least I certainly don’t get it.
The “Money-making Spamming RSS Tips Legal Podcast Blooper Flame Tags” Update
Today I continue my backlog-clearing series of link lists with ones about blogging and podcasting, including style, technicalities and legalities. If you blog or podcast and want to learn from others, I hope you’ll enjoy some of these:…
[…] روابط ذات صلة : RSS and Atom RSS vs Atom, you know, for dummies RSS vs. Atom: What’s the Big Deal […]
I never heard about Atom before, i like many other people assumed RSS was the only way to feed information to others. Atom does sounds like it has more advantages, i will look into this, thank you for sharing this information.
Aaron, I realize this post is a bit old, but wanted to comment about your ‘last updated’ notion. While it is true that there is no required date field in RSS v2.0, that’s more of an issue with newfeed generation than with the actual spec. RSS v2.0, like RSSv0.91 has an optional pubDate field that can be included in any generated newsfeed for syndication.
There are other custom elements that can be used, as well, with the inclusion of custom namespaces, which allow RSSv2.0 great flexibility.
The problem with RSSv2.0 is similar to ATOM – developers of newsfeed generators mostly do not always adhere to the specs, and do not take full advantage of the rich features enabled in each.
Personally, I find both about equal in terms of working with them for consuming feeds. To eliminate as much trouble as possible, I always inspect the incoming content to familiarize myself with it. I will say that the RSS pubDate element has its’ shortcomings in terms of the date formatting, it’s a bit more involved to develop sorting and localization routines than the Atom date fields, but using custom namespaces allows a workaround. However, this approach is not always used by those who syndicate their content.
While we can argue the merits of RSS vs Atom feeds, I think the better discussion is how to ensure that developers and syndicators follow the specs to allow smoother integration of syndicated content.
Both Atom and RSS 2.0 have their merits. That said, I saw some serious frustration out there where people couldn’t successfully convert between Atom and RSS. So, I created a free service to do it. And as long as the hosting doesn’t kill me, I’ll keep it running.
Convert Atom to RSS at: