A lazy Reykjavik
dog.

Gimlé

Wed, 20 Aug 2003

Threads in My Mind.

This is something I had planned to write a while ago, as a sort of followup to my last entry before my slight hiatus.

And today, as I glance through my daily reads, I read a post over on Mark Bernstein’s website that mentions this Postel fellow and a law of his.

Not that I’m disagreeing with Mark’s post in any way. It, and Aaron Swartz’ post Mark links to, just sparked of a thought I’ve been nurturing for a while. Their thoughts are definitely worth reading.

Postel’s Law goes along the lines of “be liberal in what you accept and conservative in what you put out.”

Which seems fair enough. I also happens to be the magic rule of conversation (stick to it and people you talk to are less likely to want to shred your face with a fruit peeler).

The problem, it seems to me, only starts when people assume that XML breaks Postel’s law because it demands validity and failure upon non-validation.

Which glosses over the fact that Postel’s law refers to actions, a task, a process, things like protocols and applications.

Repeat with me: “XML is just a format.”

It doesn’t break Postel’s law any more than a light-bulb does. It works until it breaks. Then it stops working. Trying to keep it working after that is generally too problematic to be worth the effort.

No, Postel’s law kicks in when you view the production of XML formats as a task.

When you look at weblogging tools, that is.

Tools like Radio, Blosxom, Movable Type and such are the true criminals in the eyes of the law.

They should take crap input (the junk users like me shovel in) and output healthy, valid XML formats. Without exception.

Liberal in, Conservative out (sounds like a Democrat slogan for the next US presidential elections).

It’s the applications that should follow Postel’s law, the authoring applications, that are the ones causing the vast majority of our interoperability problems on the internet.

Stop blaming it on XML or XML-based formats.

Baldur Bjarnason.
Clifton, Bristol.

Tell us...

Name:

URL/Email:
(optional)

Title:
(optional)

Comments (<p></p> for paragraphs, <a></a> for links):

Save my Name and URL/Email for next time