Brent Simmons asked me in email what I would do about ill-formed feeds, if I were him (writing NetNewsWire). I said my position had not changed since a year and a half ago: I would alert the user when a feed is not well-formed, but do my best to present the data anyway. I am pleased to see that he will be implementing something like this. I am not under any illusion that my arguments helped sway him; he said he had received a lot of email from his customers, presumably telling him that they didn’t care about this little techno-war and just wanted to read news. Hmm. Customers… random guy on the Internet… customers… random guy…
The primary goal of any software is to please your own customers. A secondary, and longer-term, goal is to support the underlying standards that make your software possible. For news aggregators, that means letting customers read news, then also doing what you can to increase feed quality. The key to increasing feed quality, as Sam points out, is to close the feedback loop, so that when a feed is bad or goes bad, someone who cares can notify someone who can fix it. Draconian error handling does not actually accomplish this, unless it is accompanied by a feedback mechanism that, for example, links to the feed validator or scrapes the invalid feed for contact information. But then, why not skip the draconianism and just keep the feedback mechanism? I am pleased to see that the discussion has now moved away from draconian-vs-tolerant and on to how best to close the feedback loop.
Another thing I learned from Brent is that, apparently, many people use NetNewsWire to validate their own feed, in much the same way that many people use Internet Explorer to validate their own web pages. He says that a future version of NetNewsWire will have a strict
mode that will allow developers to check for well-formedness, which is great, but it got me thinking that a full-blown client-side feed validator would be even better.
The web-based feed validator has been a moderate success, but not an overwhelming success. Almost a year and a half after its inception, lots of popular feeds are still broken. The mistakes range from non-well-formed XML to invalid dates to missing required elements, all easily detectable through validation, but people just aren’t validating. The validator is open source and designed to be embeddable, but so far no one has actually done this either. Maybe the answer is a more robust set of web services, so that clients could validate feeds programmatically and display the results in their own way (instead of just providing a link to the web page). Sam experimented with a SOAP interface a while back, but it never went anywhere and is not officially supported or documented. Another option is a simple XML-over-HTTP interface that returns validation results as a feed.
The point is, I think there are a lot of people who are willing to do a little bit to improve feed quality, if it’s not too hard and they can do it from where they are already. And where they are right now is the client-side news aggregators. If people won’t go to the validator, let’s bring the validator to them.
Update: there appears to be strong interest in this. I’ve had an offer to create a standalone OS X app that validates. Brent has offered to integrate it into NetNewsWire (more discussion at Sam’s). And this has reopened the discussion of a notification service for authors.

