August 19, 2003
Follow me on Twitter


Postel's Law (which is actually a rule) says that a system that participates in a protocol should "be liberal in what it accepts and conservative in what it emits." Aaron Swartz has come to believe that XML was wrong in requiring that XML parsers simply fail when asked to parse anything that is not legal XML.

I'm not sure Postel's Law applies here. Postel talks about what the participants in a negotiation should do; XML is the language in which the negotiation takes place.

The problem with liberally accepting something that's nearly OK, but isn't, is that you're introducing ambiguity in a situation where it may not have been anticipated. Because nobody was expecting ambiguity here, there may be no opportunity later to discover that we're not speaking the same language.

Swartz suggests a social sanction, a warning visible to the user. Netscape did this for forms, and ended up convincing an entire generation that The Internet Is Dangerous. iCab does this with a smiley that frowns on bad HTML, but the social sanction of the iCab smiley face is merely social. Social sanctions are set by whoever has clout or whoever seems cool right now -- by the in crowd. How are we going to feel about Microsoft systems that smile whenever they see a page created with Office and frown whenever they see a page created with something else? And how do we communicate smiles for an interchange without a user interface -- which, after all, is where XML is chiefly useful?

These social sanctions generate lots of bulletin board arguments, but they encourage people who to crusade on behalf of issues they half-understand. Look at validation and the Web. First, we said "Works Best With Netscape" was a Bad Thing and set the standard that sites should work well in all browsers. Then, the consensus turned 180 degrees and said, "Use Web Standards" even if some browsers foul things up. But those pointy-haired managers are still tuned into the fashions of 1997 and still want their sites to look good in Netscape 4.

One of the most pernicious aspects of Web culture is the tendency to assign moral roles to technical questions. Adherence to standards isn't Good. It's just adherence to standards.