Last month I posted an entry here about Promoting valid newsfeeds. For the past few days, a discussion has been going full steam on the Atom syntax mail list about what to do with invalid feeds. The discussion began with the suggestion that Atom feeds include a URI that client software can contact if it encounters errors in a feed. A proposal is being written on the Atom wiki based on the discussion.

A related discussion re-opened by the discussion is whether client software should try to display invalid feeds, or whether it should report the error to the user and stop processing. When I posted last month, I was an advocate of not displaying invalid feeds, on the assumption that if client software developers can hold the line, publishing tool developers will be forced ensure that their tools produce valid feeds. With this idea of adding an error reporting mechanism to the file format itself, I would be okay with making an effort to compensate for a few common types of mistakes, as long as the error is reported to the publisher. Another good idea that came out of the discussion is for client software to inform the user that errors were found in the feed, so it may not display correctly. This would be another good way of putting pressure on publishers to generate valid feeds.

Once concern that has arisen in the discussion is that even if publishing tools know how to generate valid feeds, users can still mess things up. For example, they can enter invalid characters or modify their templates so that they don't produce valid feeds. I am of the opinion that publishing tools should be able to detect such errors and either correct them or notify their users that they've done something invalid. Any tool that doesn't do that either needs to be made more robust, or should accept responsibility for its weaknesses (by which I don't mean that it should accept any liability, just that its developers should be willing to admit that their software has a weakness).

One publishing tool developer mentioned in the discussion that validating user-edited templates in their tool is next to impossible, because until the moment when it is outputting the feed, there is no way to know what the template will produce (the same template can be used to generate data in multiple formats). While such tools may be great for many purposes, and the flexibility of their templates is surely useful, the simple fact of the matter is that if their design does not allow validation of the templates, they are not the most robust tools for generating valid newsfeeds. Is that a bad thing? Not necessarily, because some users value a tool with flexibility over one that protects them from making mistakes.

You'll be seeing some sort of error reporting mechanism added to Info Bite List in the near future.