Atom (or web syndication)

This is the original post, which has been heavily modified. This was in response to a post that has now been removed. I didn't remove the link that points towards the post.

Note that I'm not involved in either of the projects, I do have a preference and I'm just writing down my current feelings about the subject.

Although the Atom specification isn't finalized yet it is already widely used and implemented. I would think that is a success, especially now Google is involved (just a bit) using the Atom API for Blogger and providing free Atom feeds for Blogger users (I heard they also propose new things for future versions of the specification). From what I have heard, we can compare RSS with the browser wars, specifications being completely incompatible, it isn't semantic (a bit strange for an XML specification) and the purpose isn't really clear. On IRC, I heard from Mark Pilgrim some of the possibilities Atom has (he was talking about a link log plugin for WordPress.

Atom is about semantics, just like (correct) HTML is and that is nice. Although the current specification doesn't include everything one would wish (ok, I wish) Mark told me that future specifications, like 0.4, may address these changes. But enough about semantics and why we I like Atom.

Dave Winer (yes the one who loses specific comments because of "DB errors") posted What about Atom? Dave has a list of questions for "normal" people, which I'm going to answer here short. I can't link to any of the questions directly, since he didn't add an ID attribute, but you can probably recognize them on his site.

Atom is a new format, with almost nothing in common with RSS (both are dialects of XML). Is this wise? Should Atom strive to be as close to RSS as possible to minimize the work developers have to do? Or is there a lot to be gained from starting over completely? What are the advantages of each approach?

As I Mark noted before RSS is already incompatible with itself, it would be quite stupid to base another language on that just because some people have knowledge of the RSS rules (I remembered reading things from a year back or so that RSS actually doesn't have any real stated rules what elements to use). Developers actually don't have that much to do. Creating a parser for XML isn't that hard and extracting the information should be easy (I wonder though why he asks that question having created 9 7 incompatible versions himself).

The advantages of starting over may be clear. Removing all the cruft and defining something that is actually useful makes sense to me. People can directly forget about which of the 9 RSS versions they have to support and instead just create a simple Atom feed, like I did for HREF.

Points 2 and 3 don't really matter to me although I would like a W3C specification, since I like the W3C (I agree, doesn't make sense). From my point of view the IETF looks really "elite", but I read on quite some weblogs it is actually more open then the W3C.

O and using XHTML for syndication isn't bad because it is styleable, but because it is meant for documents.