Ben Laurie blathering

Microformats, Decoupling and Self-Contained Standards

Perhaps I don’t get microformats. I keep hearing people wanting to invent their own format for things for which we already have half a dozen known standards. When pressed, the justification is either that it is too complicated, or that they want to “decouple” from whatever-it-is that the existing formats are “supposed” to be for.

Sometimes this is fair comment, but often it seems to me to entirely miss the point. When a standard format is self-contained (that is, it doesn’t rely on being embedded in a whole mess of infrastructure in order to be meaningful) there’s no reason to associate it with its normal environment. Because it is self-contained you can just pick it up and use it elsewhere. There are many formats like this, at all levels of the stack; examples are OpenPGP, iCal, vCard, practically all XML, and, if you get right down to it, most of TCP/IP (witness amusing standards like IP over carrier pigeon – no, really, RFC 1149 – and its even been implemented).

How about complicated? Well, I contend that any widely used standard format has libraries that can parse it, and if it doesn’t, then software engineers need to put their software architect heads on occasionally, dammit.

So, neither of these arguments are standing up, as far as I can see. Which leads me to wonder: what are microformats all about? Why do people want to decouple? Are they just lazy? Or do they hate the communities that make the standards so much they want nothing to do with them? Or are they merely misguided?

Or have I totally missed the point, and microformats are actually only used where there’s no existing self-contained standard?

Answers on a postcard, please!


  1. Hi Ben! Please send me the postcard too.

    Comment by Kim Cameron — 5 Feb 2007 @ 5:49

  2. Isn’t this simply a consequence of the fact that (for many people, at least) it’s easier to write new code than to understand someone else’s interface and design? After all, when you decide to sit down and write new code, you haven’t run into the subtleties of the problem yet, whereas the completed work out there has visible scars from its brushes with reality.

    I find myself much friendlier towards a technology’s reuse when I’ve actually worked with it for a while. Perhaps it’s because, at that point, I understand the problem well enough to see why my own approaches wouldn’t be different in any valuable way.

    Comment by Jim Blandy — 5 Feb 2007 @ 7:09

  3. Because they want their 15 minutes of fame, with their name on it? Also, if they’re part of the insider crowd that started it, they get to win the religious arguments about whether or not you need nested end tags.

    Comment by Shane Curcuru — 6 Feb 2007 @ 19:41

  4. Most microformats that have been released are about embedding semantic data within HTML, in a way that be viewed by both humans (using CSS rendering) and computers. They’re a way of trying to make “the semantic web” actually happen rather than just be talked about.

    The idea is that you don’t need to write a new browser to display them normally: the data encoded can be rendered with plain old CSS. So, chucking it in the middle of your web-page is useful in a way that, say, embedding vCard data isn’t.

    The alternative is to attach a vCard in addition to writing the contact information in the. But this duplication is annoying: sufficiently annoying to warrant a new standard. In particular, 99% of people out there aren’t going to bother.

    Of note is the fact that most of these formats aim to mimic their predecessors as much as possible: hCard is basically an encoding of vCard in HTML classes. This simplifies things like translation between the two and creation of systems that can use either format interchangeably.

    Comment by Sam — 15 Feb 2007 @ 23:46

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress