Jump to: navigation, search


definition feedback

Feedback, issues, commentary and criticisms of the definition(s) of microformats, both on the website and on the what-are-microformats wiki page.

Joe Andrieu

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon (X)HTML and CSS.

The current blurb leaves me wondering "But what are they?". I remember this feeling from the first time reading through the microformats wiki. The about page goes on from the opening blurb to state what microformats are, what microformats are not, and the microformats principles.

All great descriptions... Yet still leaving me wondering the most basic level of concreteness: What are they? Javascript libraries? An XML vocabulary? PHP tools? The most specific language is "data format standard." Is that like HTML? Is it just an RFC for the next web thing?

Of course, I know the answers to all of these things, now. But it took me a while to get there.

This suggestion attempts to concretize the "existing and widely adopted standards". It's a bit shorter and to my eye a bit clearer and more powerful.

From The Wiki

There are unsettling faults with the definitions and explanations given. The writing seems to be a rallying cry for proponents - clever wording, impressive noun-phrases. But it explains nothing to those unfamiliar with microformats. Imagine giving this sort of explanation off-paper: "A Microformat? What do you mean?" one asks. "Well," the other replies, as he jumps onto the nearest table, his voice excited and booming, a crowd gathering around him:

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards. Instead of throwing away what works today, microformats intend to solve simpler problems first by adapting to current behaviors and usage patterns (e.g. XHTML, blogging). [...]

Ah, I see now. So it's something for people to use. Something simple and intuitive, like a steering wheel. Something open, easily changed by anyone, like a wiki or linux. A data format, like rtf, xml, or pdf. It obeys unspecified standards, but is so much more! It's based on something that already works. It doesn't attempt to solve anything it doesn't need to. It dynamically changes to comply with how I'm behaving at the moment... Yes. Yes! This is what I need! My living text streaming-based DOM machine/user -interface will never be the same, now that I have Microformats! Er... right?

Microformats are conventions for marking up commonly-encountered data (such as links, contact information, and calendar events) in established languages such as HTML. By using standardized structures, class names, and attribute values, information becomes more accessible and useful to both humans and computers.

I would appreciate if someone would copy this to the mailing list, since I don't wish to sign up, but would like this to be remedied. M 23:52, 23 Aug 2006 (PDT)

Richard Quick

This isn't a definition of microformats, it's more of an explanation of them...

Every web page contains information. Most websites have a contact page, with a phone number, email address and possibly a street address. Others have reviews of products, books or CDs.
Microformats are a way to label certain information, like contact details or reviews, so it can easily be extracted from your web page by a suitable computer program or web-based application.
Although microformats exist to make it easier for computers to extract information from web pages, they’re designed to be easy to use by people. For example, many microformats simply involve adding certain class names to an HTML tag (others use rel attributes, for example).
If a web page uses HTML on its own, it's very difficult (bordering on impossible in some cases) to write a computer program which can examine the web page, work out what kind of information is on the page, and extract that information.
For example, look at the following address:
John Smith
1 Seaview Lane,
How can a computer program work out what kind of information the word "Mousehole" is? Is it a town? Is it a country? Is it a hole where mice live?
Obviously, it's going to be pretty difficult. However, using the hCard microformat, you can label each piece of information so that it's obvious to a computer what kind of information the word "Mousehole" is.
<div class="vcard">
 <span class="fn">John Smith</span>,
 <div class="adr">
  <div class="street-address">1 Seaview Lane</div>,
  <span class="locality">Mousehole</span>, 
  <span class="region">Cornwall</span>,
  <span class="country-name">UK</span>
So is that all microformats are? A bunch of class names (and other similarly easy-to-use attributes)?
Yes, that's basically all they are.
They key is that everybody uses the same class names (and other attributes). In the example above, you can see that the div around word "Moushole", has "locality" as its class name. Of course, "city", "town" or "village" would all have been equally suitable class names to use, however by standardizing on one specific class name it makes it easy to write a computer program which can examine a web page, check for any microformats and then extract the information from that page.
Also, in the above example you might have noticed the following code:
<div class="vcard">
Why have we used "vcard" when the name of the microformat is hCard?
Well, another important feature of microformats is that they don't try to reinvent the wheel.
There was already an existing standard for labelling contact details on desktop computer, the V Card. V Cards are small files containing your contact information, which you can send to people you know. They can then import those contact details into any piece of software that supports the V Card format, for example Outlook Express.
Rather than coming up with a whole new way of labelling contact information, the hCard microformat uses the same structure as V Cards. (the "h" in hCard stands for hypertext, by the way).
And that's pretty much it. Microformats are a way of labelling information on web pages, so that it can be extracted by a computer program or web application. They're designed to be easy to use for people, and where possible, they are based in existing standards used elsewhere.

Richard Quick. Note: This text (with minor alterations) now appears in Web Design in easy steps

definition-feedback was last modified: Wednesday, May 23rd, 2007