Last night I stated my position on well-formed Atom feeds, but I’m not sure I did a good job of explaining myself.
The point here isn’t that I’m trying to save myself time by requiring well-formed Atom feeds – I’ve already written a forgiving RSS parser which could easily be adapted to handle Atom, so this will actually take me more development time. And while I agree 100% with the position that users don’t care about well-formed XML, the point is that parsing malformed feeds will require users to care later on.
With both HomeSite and TopStyle, I’ve seen first-hand the problems that customers deal with due to the way different browsers handle HTML and CSS. If you’re a web author, no doubt you’ve wasted countless hours trying to get your pages to look right in multiple browsers. Instead of pulling your hair out over cross-browser inconsistencies, wouldn’t you rather have spent your time creating a great site?
So it is with Atom. If you have a blog (and if you don’t, chances are you will in the next year or two), your focus is on writing interesting content. Now, what would you do if your newsfeed didn’t work right in different aggregators? Perhaps one aggregator showed the right content, but your spacing is all screwed up. Or another got your spacing right, but has HTML entities such as
< spewed all over the place. And another aggregator shows your post just fine, but the link to your site doesn’t work. This sort of thing already happens with RSS, and it’s frustrating to blog readers and writers alike.
Would you really want to devote time to tracking down these problems? Web authors have to deal with this situation today, and it’s a royal pain (in fact, I created TopStyle to help web authors solve these problems). Wouldn’t it be nice if bloggers didn’t have to face these same issues down the road?
Now, keep in mind that the vast majority of Atom feeds will be produced by blogging tools rather than hand-coded. By requiring well-formed Atom feeds, FeedDemon and NetNewsWire give the blogging tool creators a very strong incentive to create well-formed feeds – they don’t want to deal with customer complaints about their feeds not working in aggregators. By taking this position now – when Atom is in its infancy – we can avoid the problems that have plagued web authoring, and enable both content creators and end users to focus on great writing.
Update: I’ve compromised on the above position.