what-are-microformats

From Microformats Wiki
Jump to navigation Jump to search


If this is your first visit, please see the introduction page.

What are microformats?

Launch Definition

The current definition on the home page says:

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

originally written by Dan Cederholm with help from Tantek Çelik for the launch of microformats.org on June 20th, 2005.

From The Mailing List

Microformats are simple conventions for embedding semantics in HTML to enable decentralized development.

from someone on the microformats-discuss mailing list. Please link/cite if you know the origin of this.

More Specifically From The Mailing List

More precisely, microformats can be defined as:

  simple conventions
  for embedding semantic markup

      for a specific problem domain

  in human-readable (X)HTML/XML documents, Atom/RSS feeds, and "plain" XML

      that normalize existing content usage patterns
      using brief, descriptive class names
      often based on existing interoperable standards

  to enable decentralized development

      of resources, tools, and services

from someone(s) on the microformats-discuss mailing list. Please link/cite if you know the origin of this.

(I'm pretty sure Ernie kicked off this particular definition, and I think helped a little, but I don't remember the specifics. -Tantek)


Chris Messina

Microformats are simple codes that you can use to identify specific kinds of data, like people or events, in your webpages.


Tantek Çelik

Microformats are the way to publish and share information on the web with higher fidelity.

For example, if a company wanted their contact information to be easily found and shared, they would publish it with hCard. Similarly if an organization is planning a series of events and wants more people to know about them and add them to their calendars, then they would publish their events listing with hCalendar. For advocacy groups, whenever they take a position on some political leader, some piece of legislation etc., if they wanted their evaluations/reviews/ratings of those people/laws to be more easily found and passed around, they would publish such opinions with hReview. For all of these, to make it easier, publishers can use tools and services that support microformats.

The key here is that microformats are simple/easy enough that the any organizations own web authors/designers can easily add them in themselves. Adding microformats is easier than publishing an RSS feed for example. You don't have to be a programmer. Anyone with decent (X)HTML+CSS authoring/writing skills can use microformats. Pretty much anyone who is literate can be taught how to author HTML+CSS, and thus microformats makes use of very widely available skill sets.

From an IRC conversation 2006-06-06 which helped "knowprose" grok microformats. Update 2006-06-07: knowprose's blog post Making Sense of Microformats: Have Data, Will Find It.

microformats are carefully designed (X)HTML class names that extend the semantics of (X)HTML and enable authors to publish higher semantic fidelity content such as people, events, reviews, etc.

From an IRC conversation 2006-07-28 with tcaspers on irc.freenode.net/#wasp.


Drew McLellan

Microformats are a way of attaching extra meaning to the information published on a web page. This extra semantic richness works alongside the information already presented, and can be used for the benefit of people and computers. This is mostly done through adding special pre-defined names to the class attribute of existing XHTML markup.

from an IRC conversation

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)

Alok Jain

microformats are evolving frameworks for how to present commonly used data items. For e.g. hCard microformat provides framework to capture a person's details First, middle, last name,company, contact info etc.

In my view this is doing two things:

  • a Bringing some amount of standardization to commonly used data sets, which can lead to several benefits towards data retreival
  • a Bringing an implicit meta data structure which again can be used to fetch informaiton at more granular level. SO in above example one could fetch just the company name, even thought there is not meta data around company name

Alok Jain

Dave Sanford

Chris asked me to contribute my 'definition,' although I refer to it as a distillation:

“Microformats are a way of identifying and labeling classes of commonly used data that make it easier for humans or computers to locate or distribute such information on websites.”

Andy Mabbett

Here's my re-write of the current opening blurb, from:

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

to:

Microformats are a way of adding simple markup to human-readable data items such as events, contact details or locations, on web pages, so that the information in them can be extracted by software and indexed, searched for, saved, cross-referenced or combined.

Which can be followed by:

More technically, they are items of semantic markup, using just standard (X)HTML with a set of common class-names. They are open and available, freely, for anyone to use.

Principles:

  • Start with "Microformats are"
  • Mention web pages
  • Say what purpose microformats serve
  • Use plain language

Finally: don't use italics for whole paragraphs, it's harder for people (such as some with dyslexia or other cognitive disabilities) to read.

Guillaume Lebleu

Microformats are simple standardized annotations of content available on the Web that provide a practical solution today to more productive and decentralized Web-based information search and sharing.

In other words, Microformats allow you today to copy/paste information from a Web page, for instance someone's contact information from their blog to your address book, instead of manually retyping it. Eventually, microformats will allow anyone to make the information they publish easily sharable and searchable (products, events, resume, etc.) without having to duplicate and maintain up-to-date their data in centralized databases.

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,
Mousehole,
Cornwall,
UK.

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>
 </div>
</div>

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

  • Superb plain-language intro! AndyMabbett 01:02, 26 Oct 2006 (PDT)

BenWest

A microformat is a specific collection of names, values, and accompanying structure defined through rigorous market research intended to consider pervasive use of semantic html that increases data fidelity in HTML-borne data widely distributed on the web.

Microformats are more than one of these, eg "hcard and hcal are microformats."

DerrickPallas

microformats are semantics with momentum, a codification of what everyone did anyway. They are what works, written down.


Add Yours Here

microformats are...

written by You.

See Also

Translation