Ignoring standards as a feature
Published December 19th, 2003 in GeneralFeedDemon is out of testing and is available for purchase. I’ve decided to give it a spin and let Sharpreader rest for a while.
I noticed that FeedDemon actually honors the <ttl> (Time To Live) value in RSS feeds. This is a value that tells how many minutes the agent should wait before fetching the feed again. I have mine set to 120 minutes, and FeedDemon refuses to update my feed unless two hours have passed since the last check.
This is A Good Thing™. There are too many programs out in the wild that tout standards ignoring as a feature.
I recall having a very heated debate about that once. RSS is an XML format, and as such it’s not supposed to work if it’s broken — a browser displays an error if an XML document isn’t well-formed. But most browsers also have a quirks mode where it guesses what the document author wanted, in case the document isn’t well-formed.
Quirks mode is usually used for the older HTML standards, like 4.02 and older; while XHTML and on uses a strict standard mode — at least in Mozilla. Internet Explorer can still mess things up royally with a XHTML document that isn’t well-formed.
For documents sent as
text/html, Mozilla must decide whether to handle them in quirks mode or standards mode. (Content sent astext/xmlor other XML or XHTML MIME types is always handled in strict mode.) Currently Mozilla does this through DOCTYPE sniffing. That is, it uses the DOCTYPE declaration (DTD) as a hint as to whether the page is a recently written web page that can be expected to behave properly when all standard behavior is used.
My personal opinion is that if a document claims to adhere to a standard, let’s say XHTML, the agent should display a big fat error message if the document isn’t well-formed. Most RSS readers do this since they read an XML format. XML always crashes horribly when it isn’t well-formed; especially if the parser uses regular expressions instead of building an actual XML tree.
There’s a big difference between checking if a document is well-formed and if it is validating, however. You automatically see if a document is well-formed when you try to parse it — the aforementioned crashing and burning appears if it isn’t. Sharpreader displays an error message and a link to the Feed Validator so you can check if the document you’re attempting to read is actually valid.
I really don’t know where to draw the line here. If it’s just a minor transgression such as unescaped special characters, the client can still display it properly even if it means the document isn’t well-formed. But allowing such errors to pass means that the authors will get used to getting away with such errors.
And that could lead to the HTML tag soup all over again.
About this siteRecent PostsRecent Comments |
||||
No Comments to “Ignoring standards as a feature”
Please Wait
Leave a Reply