NetNewsWire creator Brent Simmons recently announced that NetNewsWire’s future support for Atom will require Atom feeds to be well-formed. Some people aren’t too happy about this, claiming that he’s applying a double standard that will make Atom appear less useful than RSS.
So, I’ll add to the stink by stating that my plan is the same as Brent’s. FeedDemon will also support Atom, but if an Atom feed isn’t well-formed XML, FeedDemon will display an error rather than try to parse it. In fairness I have to consider this decision open to input from my customers, but I want to explain why I believe this is important.
When I started coding FeedDemon, I immediately ran into an ugly problem: a huge number of RSS feeds are invalid. This made it impossible to use an off-the-shelf validating XML parser, since it would choke on so many existing feeds. A number of very popular RSS feeds are shockingly invalid, and I couldn’t expect FeedDemon to compete in the RSS aggregator market if it couldn’t handle them. So, I coded my own XML parser, and made it extremely forgiving of problematic feeds.
Atom, however, is a new format, and there’s a chance we can get it right. Rather than wasting our time working around validation issues, aggregator authors such as myself can spend our time coding the features our users really want. This isn’t just self-serving on my part: it will make it easier for anyone who wants to consume Atom feeds if they can expect them to at least be well-formed. It’s not like well-formed XML is hard to do – Tim Bray has listed the four “Bozo Factor” rules that are required, and I have to think that anyone who can spell “XML” can follow these rules.
If both NetNewsWire and FeedDemon require well-formed Atom feeds, then perhaps we’ve provided authors of Atom feeds enough incentive to spit out valid XML instead of the tag soup that has infected too many RSS feeds.
Note: Be sure to read part II of this topic.