Sam Ruby proposes that aggregators validate on subscription, and I have to confess that this makes more sense than my stated position of requiring Atom feeds to be well-formed.
What Sam suggests is that aggregators such as FeedDemon inform of validation errors only when first subscribing to a feed. After informing the user of the fact that these errors might affect how the feed displays, the aggregator should continue to subscribe and not show any further indication that the feed is invalid. The hope is that this would gently persuade feed creators to pay attention to validation problems without stopping end users from reading invalid feeds.
After accepting that Sam's idea makes more sense than my own (which took all of two minutes!), I started coding this into FeedDemon. When a user subscribes to a feed, FeedDemon checks it for well-formedness, and if any problems are found the dialog shown below is displayed:
Clicking the "Details" button shows the text of the validation error, and a link to the online Feed Validator provides a way for authors to check the feed for additional problems.
My hope is to include this in the next build of FeedDemon. As always, I'm open to other suggestions, so please post a comment here if you think this can be improved (or if you think it's a bad idea altogether).
I liked the hardline approach better, personally. Accepting errors is how it all began with html too.
Posted by: Jesse Blomberg | Tuesday, January 20, 2004 at 02:30 PM
I think it's a great idea. It incorporates the best (and worst) of both worlds.
Posted by: kartooner | Tuesday, January 20, 2004 at 02:30 PM
After reading all the Postel's Law stuff, I have to think this is the right way to go about it.
Enough geeky users of the major logware will rail on their coders to get it right that the system will get solved. The difference is that the big geeks these days care about standards.
Posted by: Geof | Tuesday, January 20, 2004 at 02:43 PM
I think this approach makes a lot of sense.
When do you think your next release will be?
Posted by: Tod M | Tuesday, January 20, 2004 at 03:20 PM
I agree with Jesse Blomberg. If it's not well-formed then it shouldn't be displayed.
However, if you're going to go this route, at least continue to inform the user that the subscription is not well-formed (a la the IE done with errors icon in status bar).
Posted by: Terence Ordona | Tuesday, January 20, 2004 at 03:46 PM
I second Terence's comment.
While I can understand your desire to maximise usability to your customers. It would be nice if feed demon displayed an error for invalid feeds. Definitely not something as intrusive as a pop-up. But maybe some kind of visual cue with coloring, or an icon or something. With details available through a context or something
I subscribe to feeds rarely, but I read them all the time, this way I'll continue harrassing the authors until they fix it.
Posted by: Koz | Tuesday, January 20, 2004 at 03:59 PM
I think this is a very reasonable approach. It's difficult to find the right balance between strictness and ease of use, so if this will encourage good practice without making life difficult for users, go for it. Sounds a lot like what Brent has said he will do in NetNewsWire.
Posted by: Dave Seidel | Tuesday, January 20, 2004 at 04:09 PM
I agree. This seems to be the least intrusive approach right now, esp. for FeedDemon users who then get something over nothing.
Posted by: Zaine Ridling | Wednesday, January 21, 2004 at 12:24 AM
It is very well possible that a feed is valid on one day and invalid the next day... To keep the pressure on feed authors, a permanent icon (or textual node with link to the feed validator inserted at the top of the display) might be a good idea, if you decide to show them the feed anyway.
Popup dialogs are evil for users, especially when they can only click 'Ok'.
Posted by: Rijk | Wednesday, January 21, 2004 at 06:15 AM
Why don't you draw a big exclamation mark in the background of the feed ?
People tend to click on ok buttons without reading the message :), so I think it's better to constantly remind people of the bad feed through some visual markup.
Eventual you can put a button on the bottom of the screen with a explanation
Posted by: Henry | Wednesday, January 21, 2004 at 07:05 AM
As much as it goes against the grain, I'd have to agree that getting Feeddemon to display mal-formed feeds is the right way to go. As Mark pointed out [1] feeds can become mal-formed despite the best intentions so it would be harsh on both the reader and the publisher to outright refuse to render the feed.
I think your approach of a message on subscription is a good move and I would concur with those who ask for a little indication (which perhaps would reopen said message) for every feed which is still (or has become) invalid.
[1] http://diveintomark.org/archives/2004/01/14/thought_experiment
Posted by: Richard Rutter | Wednesday, January 21, 2004 at 07:55 AM
Elegant solution. Will this behavior be for Atom & RSS or just Atom?
Posted by: Anil | Wednesday, January 21, 2004 at 10:54 AM
What about feeds that parse wellformed on subscription but fail later due to invalid characters or comments or trackback?
Posted by: Shakeel Mahate | Wednesday, January 21, 2004 at 12:07 PM
Someone please explain the value of reporting errors to parties who can do nothing about them.
Posted by: pb | Wednesday, January 21, 2004 at 01:30 PM
I think you need to close the loop on this malformed feeds.
First, in preferences you should be able to say as a user if you will accept bad feeds. If you don't want them, then the old pop-up works fine. If you are willing to accept bad feeds, the the approach on a single pop up when subscribing is fine.
The reason I like this approach is that the author will know that they will lose some number of subscribers if their feeds are bad. This add incentive to make good feeds.
Second, to completely close the loop, the author needs to know. I suggest including the author's email address in the pop up so as a user I can immediately let the author know that I don't appreciate bad feeds. This will be real incentive.
Posted by: Ray Daly | Wednesday, January 21, 2004 at 01:32 PM
Thanks for accepting my suggestion--the flexibility along with the error message really strikes the right balance, IMHO. (reference my earlier comment)
Posted by: Adin | Wednesday, January 21, 2004 at 01:56 PM
Anil, this behavior will be the same for both RSS and Atom (once Atom is supported by FD).
Posted by: Nick Bradbury | Wednesday, January 21, 2004 at 02:43 PM
pb, like the error msg says, if the feed isn't well-formed it may not display correctly. The user should know the feed may not look as the author intended.
Posted by: Lukas | Wednesday, January 21, 2004 at 05:15 PM
I think a once-off message isn't going to do much, even to big geeks. The IE-style of putting an icon in the status bar somewhere is a great idea. Lots of people will still ignore the faults, but hopefully less than if you didn't have a continuous reminder.
Posted by: Andrew Herron | Wednesday, January 21, 2004 at 09:18 PM
I think the combination of a visual clue onscreen that a given feed is current invalid, as well as the error message is a good idea.
If you are notifying the originator of the feed, you might want to also include any specific errors (if available) to help fix the invalidity.
Posted by: Shannon Clark | Wednesday, January 21, 2004 at 09:48 PM
In theory, the idea of alerting the user makes sense, but how many of us are going to bother to let the feed author know? Have you ever bothered to let a webmaster know about a problem with their site? Usually you just move on.
The hard line approach is probably better in the long run because it forces correctness among the people who can control it (the feed authors). The downside is that it gives the user the impression that the problem is with FD, when it is really with the feed itself.
All in all, this seems like a good solution for now. RSS is too new for most people to understand where feed display problems come from.
Posted by: Peter | Friday, January 23, 2004 at 09:39 PM