Dan Cederholm recently linked to an article called Can Your Website be Your API? by Drew McLellan. In that article, Drew linked to his presentation of the same name that he gave at the Web Standards Group London Meetup (podcast feed linked on that page) on October 19. Naturally, I downloaded all of the podcasts and listened to just about all of them on my way home last night and way in this morning.
Drew’s talk was one of three related to Microformats. The first was by Mark Norman Francis (of Yahoo) and the second was by Jeremy Keith. Drew’s came third. The theme of the three was a past, present, and future of Microformats and the applications of Microformats.
Drew talked about how simply adding Microformats (the formal name for adding semantic, standardized class names to your HTML, essentially) could open your site up to many of the benefits an API gives. Your plain HTML content then becomes machine readable and agents can use your data with very little difficulty.
I have explained Microformats to colleagues as somewhat of a “band aid” between “semantic markup” and “The Semantic Web” (the latter being Tim Berners-Lee’s vision of a machine-readable and -usable web). But Microformats seems to be encroaching on some of the ground established by the Semantic Web. The first speaker, Mark Norman Francis, gave a compelling and provocative case for adopting Microformats as a replacement for much of what the Semantic Web is trying to accomplish.
First, Mark quoted the Semantic Web’s entry on Wikipedia:
For example, with HTML and a tool to render it (perhaps Web browser software, perhaps another user agent), one can create and present a page that lists items for sale. The HTML of this catalog page can make simple, document-level assertions such as “this document’s title is ‘Widget Superstore’”. But there is no capability within the HTML itself to unambiguously assert that, say, item number X586172 is an Acme Gizmo with a retail price of ‚Ç¨199, or that it is a consumer product. Rather, HTML can only say that the span of text “X586172″ is something that should be positioned near “Acme Gizmo” and “‚Ç¨199″, etc. There is no way to say “this is a catalog” or even to establish that “Acme Gizmo” is a kind of title or that “‚Ç¨199″ is a price. There is also no way to express that these pieces of information are bound together in describing a discrete item, distinct from other items perhaps listed on the page.
Mark immediately follows with:
Those people have never heard of the hListing microformat, which does pretty much exactly that.
This is the problem we have—visible metadata. All of the information on the web should be visible to you as a human. The moment you take this information, whether it is already on the web page or about the web page and put it somewhere else, it becomes invisible to you. You then have to go and use other software to extract it. This is bad, from my point of view anyway.
Mark then continues to go on to slap around the Semantic Web some more, as well as things like XML namespaces. He certainly makes a case. I’m not going to pretend I know enough about the Semantic Web to say all of the associated technologies can be replaced by Microformats, but it seems that some aspects of both the Semantic Web and APIs are simplified by Microformats.
I highly recommend listening to the podcasts. Mark’s is quick—just 21 minutes. Here are the links:
More Microformats resources: