Boris Mann

Open Source. Community. Decentralized Web. Building dev tools at Fission. Cooks & eats.


Microformats love vCards

I had a chance to to have a long talk with Tantek about microformats -- following on comments we were trading on the subject.

The impression that I had been getting is that microformats were meant as a replacement for today's desktop standard formats -- vCards for people and companies, vCal for events/calendaring data. But the various h* formats are not replacements. They build directly on these existing formats -- the hCard spec actually states that it is a "1:1 representation of the vCard standard (RFC2426) in XHTML".

I'm sort of posting this for my own clarity in trying to figure out where microformats fit, especially in comparison to desktop integration (they'll translate to vCard and vCal) and direct API support (e.g. the integration into Drupal).

Feedback to microformats promoters: the desktop integration story is something that I was very confused about, and it's where my perception of competition with vCards etc. came from. Other than being mentioned on the spec page, these desktop formats aren't mentioned on the front page or on the about page at all. There isn't a FAQ section, but maybe there should be. Here's my first cut at what I would put on such a page:

Q: How do microformats integrate with my desktop applications (e.g. Outlook, iCal, Thunderbird, etc.)?

A: insert answer with pointers to Greasemonkey scripts as well as vCard/vCal transformation proxies.

Q: Are microformats in competition with vCard, vCal, or other formats?

A: No. Microformats are primarily for display -- designed for human viewing. They work in conjunction with existing formats to integrate with desktop apps. See (insert link to first Q/A) for more information.

I think the main disagreement between Tantek and myself is how these formats will spread. He believes that hand-coding -- whether of individual static pages or of templates in publishing tools -- will be the main vector. I tend to think that writing plugins that implement APIs to various data sources will surpass this quite quickly. Of course, even in the latter case, developers can (will!) support microformats at the display layer, so everyone can have their own way.

I look forward to serving our new microformat overlords :P