A veritable who’s-who of XMLerati are having a heated discussion about Brent Simmons’s decision to make NetNewsWire not attempt to parse Atom feeds that aren’t well-formed XML.Mark Pilgrim is weighing in with the opinion that rejecting XML on the client-side is a bad idea. He bases his statement on the fact that it is very hard to generate well-formed XML and XHTML, and to make things worse, when you run a site that allows trackbacks and comments, content that is outside your control can ruin your well-formedness. If a web browser were to take a conform-or-die position, a lot of the web would simply disappear. This is very true.The popularity of the web to a large extent stems from the fact that web browsers have bent over backwards to parse and ignore HTML errors, which significantly lowered the bar for creating content for the web and enabled people to kludge together web sites with wild abandon. And it was good.At the same time, though, now we’re talking XML. One of the purposes of XML is to be machine-readable so that we can create nifty pieces of software that does cool and interesting things with existing content, like Dave Winer’s feeds.scripting.com which does fun and social things with OPML files.It’s easy to note a sense of weariness in Simmons’s stance: I want to spend time on the features people care about – synching and searching and all the many things people are asking for. The more time I spend on work-arounds for feed parsing, the less time I spend on the really cool features that people want. Why should some bad feeds take up my time? If I let bad feeds take me away from new features and bug fixes, then bad feeds are punishing my users.As a NetNewsWire Lite user, I certainly would prefer to see Simmons spend his time implementing nifty features rather than work around weird hobgoblins. At the same time, having spent my time in the rat-infested trenches of customer support, I can guarantee that no matter how informative an error message NetNewsWire throws up when it encounters a malformed Atom feed, a lot of users will just assume that his software is crap and move to something that waves a dead chicken over the malformed feed.Hmm. There’s a lot to think about this. Prima facie I applaud Simmons’s decision to take a hard line, and since Atom is such a new format, one can hope that the early adopters who use it and consume it will have a sufficiently high level of cluefulness that they will know to pester the source of the feed rather than the parsing software.Also, feeds aren’t web pages, so it’s not the same level of catastrophe if the feed won’t display as if the web page itself refuses to show. Interesting times ahead for Atom feeds.Perhaps a good idea would be to bring shame back into the equation. When reader software encounters a bad feed, even if it decides to work around the errors, it should flag it as bad and explain why. This way the human reader knows that something non-kosher is going on, but the consumption of the feed is not impaired, and it will also help motivate feed creators to rectify the errors of their ways. You would think that somebody who goes through the trouble of creating a feed would care if something is wrong with it?Music: “No Good (Start The Dance)” by The Prodigy
A sci-fi and fantasy heavy installment that includes The Valedictorian of Being Dead, The Mastermind, Broadsword Calling Danny Boy, Tiamat’s Wrath, The Raven Tower, The Liberation, The Light Brigade and Cryptonomicon.
Includes The Incomplete Book of Running, Aching God, The Murderbot Diaries, Lies Sleeping, The Consuming Fire, and Rendezvous with Rama.
Did you know Las Vegas is kind of nutty?
Includes Hollywood Dead, Tales from the Loop, Things from the Flood, The Court of Broken Knives, and Port of Shadows.
Nic has a retinal tear and has his vision is saved by a laser.
Includes The Storm Before the Storm, White Trash, Calypso, Tell the Machine Goodnight, Prince of Fools, and Provenance.
The Internet tells Nic to install Ubiquiti gear in his house, so he does, and now he has thoughts.