Web Development
SEO & Search
Microformats: Small Markup, Patient Bet
Some of the most interesting work on the web right now is invisible. View source on a growing number of well-built sites and you will find ordinary HTML wearing agreed-upon class names: vcard, vevent, fn, dtstart. They mean nothing to browsers and everything to a small but growing set of tools.
These are microformats: a grassroots effort to make human-readable content machine-readable too, using nothing but the HTML we already write.
The idea, and why it’s clever
The Semantic Web, capital S, has been promised for years. A web where machines understand content, built on new languages and grand schemes. Microformats are the pragmatists’ answer, an approach the community sums up as designing for humans first, machines second.
Rather than invent new syntax, they standardize class names on existing elements. An address marked up as an hCard is still just an address on your contact page, styled however you like. But any tool that speaks the convention can now extract it as structured contact data. Name, organization, phone, and address. Each field identified.
hCalendar does the same for events: dates, locations, summaries. rel-tag classifies content. The specifications live at microformats.org and are readable in an afternoon. Best of all, they reward exactly the clean, structural markup that standards-based builds practice anyway. If your markup is clean, microformats are an annotation pass, not a rebuild.
What can actually read them today
Honesty first, because this is where enthusiasm outruns 2007 reality. The consumer tooling is young. Operator, a Firefox extension released this winter, detects microformats on any page and offers actions. Add this hCard to your address book. Send this event to your calendar. Map this address. It is fun to demo and niche to use.
Technorati has experimented with microformat search. Beyond that, the ecosystem is mostly potential. No mainstream browser ships native support, and no major search engine has announced that microformatted content earns anything.
So a fair skeptic asks: why mark up for machines that mostly are not listening yet? Fair question. Our answer is about cost, not returns.
The cost side is the whole case
Here is the math as we run it on real projects. A staff directory template gets built once. Adding hCard classes while building it costs minutes. An events calendar template, likewise hCalendar. Office locations on the contact page: minutes.
Because the work happens at the template level, every future entry inherits the markup free. Mark up the pattern once and three hundred faculty profiles are machine-readable forever. Total added cost across a typical institutional build: an hour, maybe two.
Against that, the plausible payoffs. If browsers add native support, and there are signals the Firefox team is thinking about it, your content is ready the day it ships. If search engines start consuming structured markup, and an industry whose whole business is extracting meaning from pages has every reason to eventually, early adopters inherit the advantage. If neither happens, you have lost an hour and gained markup that is more consistent and self-documenting than it would have been.
The lopsidedness does all the work. Tiny downside, real if uncertain upside.
A worked example, in prose
Take the staff block on any contact page. A name and title. An organization. A phone number and address. Each probably already wrapped in its own element for styling. The hCard pass adds a container class of vcard, then labels each piece with its conventional name. The name gets fn, the organization org, the phone tel.
Nothing visible changes. Your stylesheet neither knows nor cares. But the block now parses as a contact record to anything fluent in the convention. Install Operator and load your own page. Watch your directory become data: exportable, mappable, actionable.
The demo takes five minutes and reliably converts skeptics, because the markup they are looking at is the markup they already had, with better labels. The same logic scales to anywhere a template stamps out repeated structure: faculty profiles, department listings, location pages, event calendars.
Why we think the machines eventually listen
The skeptic’s strongest card is ‘no major consumer, no payoff.’ Our counter is incentives. Search engines spend enormous effort guessing structure from pages: which string is a business name, which numbers are a date, whether this page describes an event. Every guess costs computation and risks error.
Content that declares its structure, in an open convention, is cheaper to understand and safer to present. And search engines have shown appetite for publisher cooperation before, as anyone who deployed sitemaps last year noticed. We cannot tell you which syntax wins or when. We can tell you the economics point one way, and that ‘eventually’ tends to arrive abruptly, with an announcement, after which the prepared collect and everyone else retrofits.
Where we’re deploying, and where we’re not
Our current practice: hCard on staff directories, people profiles, and contact blocks. hCalendar on event listings. rel-tag where a site already has meaningful tagging. We are skipping the more speculative corners. XFN’s social-relationship markup has few plausible consumers for institutional sites, and hReview matters mainly if you publish reviews.
Templates first, always. Hand-marking individual pages is exactly the labor-to-payoff ratio this bet does not justify. One craft note: date formatting for hCalendar wants care. The pattern for machine-readable dates alongside human-friendly ones is documented, and worth following exactly rather than improvising.
The pattern behind the pattern
Why this bet made the cut: the web’s history keeps rewarding content machines can parse. Clean markup won the search era. Feeds won the syndication era. The direction, from pages as pictures toward pages as data, has been steady for a decade even when specific vehicles stalled.
Microformats may or may not be the final syntax. Something like them seems inevitable. When positioning for an inevitable direction costs an hour per project, you take the position and stop watching the ticker. We will report back when the machines start listening. And if this particular syntax goes quiet, the markup was still cleaner for it.