Microformats... a set of simple open data format standards that many are actively developing and implementing for more/better structured blogging and web microcontent publishing in general.
As legend has it at the 2004 SxSW conference...
Eric Meyer, Tantek Çelik and Matthew Mullenweg had a hallway discussion.
The discussion was about an asterisk * next to names of people they had 'met' IRL.
Their discussion turned into the very first microformat:
XHTML Friends Network (XFN)


How do we markup information with richer semantics without breaking what we already have?

The acronym POSH was coined as a shorthand abbreviation for "plain old semantic HTML".
Put simply, it's Web Standards!

Most of us have been doing web standards for years. If you are new, I recommend, The Web Standards Project for more info.
Bloggers started to mark people they had 'met' with an asterisk in their Blogroll.
Blogroll: list of blog site you read.
By using the approved "rel" attribute in the anchor tag, we move from this:
<li><a href="http://www.meyerweb.com">Eric Meyer</a> *</li>
<li><a href="http://johnfallsopp.com/">John Allsopp</a></li>
To the semantic XFN:
<li><a href="http://www.meyerweb.com" rel="met">Eric Meyer</a></li>
<li><a href="http://johnfallsopp.com/">John Allsopp</a></li>
The XHTML blogroll:
<li><a href="http://www.meyerweb.com" rel="met">Eric Meyer</a></li>
<li><a href="http://johnfallsopp.com/">John Allsopp</a></li>
The CSS to do what was already happening:
a[rel~="met"]:after {content:" *";}
Imagine that you put contact info on a website.
<blockquote>
Barack H. Obama<br />
The White House<br />
1600 Pennsylvania Avenue NW<br />
Washington, DC 20500
</blockquote>
As a human, we interpret that information as contact info because we adapt and infer meaning.
Computers 'display' the information, however they don't know the meaning.
The Internet Engineering Task Force (IETF) has developed a standard for contact information:
Computers understand specific code:
BEGIN:VCARD
VERSION:3.0
N;CHARSET=UTF-8:Obama;Barack;H;;
ORG;CHARSET=UTF-8:The White House
FN;CHARSET=UTF-8:Barack H. Obama
UID:
ADR;CHARSET=UTF-8:;;1600 Pennsylvania Ave NW;Washington;DC;20500;USA
END:VCARD
What... the... heck... is... THIS???
The vCard format has some very specific properties that we can re-use:
So we re-use the properties established by the IETF on vCard and put them directly into XHTML
We can use the 'class' attributes hold the vCard properties.
When they are put together, it forms: hCard (XHTML structred vCard)
<div class="vcard">
<span class="fn n">
<span class="given-name">Barack</span>
<span class="additional-name">H</span>
<span class="family-name">Obama</span>
</span>
<div class="adr">
<div class="street-address">1600 Pennsylvania Ave NW</div>
<span class="locality">Washington</span>,
<span class="region">DC</span>
<span class="postal-code">20500</span>
</div>
</div>
The following are the REQUIRED "class" properties:
Optional:
Though our example hCard seemed very structured, hCard (and all microformats) are FLEXIBLE!
A basic hCard can be written like this:
<div class="vcard">
<span class="fn n">Mark Greenfield</span>
</div>
Use "div" when you need a block element
Use "span" when you need an inline element
A basic hCard email can be written like this:
<span class="vcard">
<a href="mailto:markgr@buffalo.edu" class="fn n email">
Mark Greenfield</a>
</span>
Use "div" when you need a block element
Use "span" when you need an inline element
<h4>Mark Greenfield</h4>
<ul>
<li>Director of Web Services</li>
<li>Work: <a href="mailto:markgr@buffalo.edu">
markgr@buffalo.edu</a></li>
<li>Office: (716) 645-2811</li>
</ul>
<div class="vcard">
<h4 class="fn n">Mark Greenfield</h4>
<ul>
<li class="title">Director of Web Services</li>
<li>Work: <a href="mailto:markgr@buffalo.edu" class="email">
markgr@buffalo.edu</a></li>
<li>Office: <span class="tel">(716) 645-2811</span></li>
</ul>
</div>
<div class="vcard">
<h4 class="fn n"><span class="given-name">Mark</span>
<span class="family-name">Greenfield</span></h4>
<ul>
<li class="title">Director of Web Services</li>
<li class="email"><span class="type">Work</span>:
<a href="mailto:markgr@buffalo.edu" class="value">
markgr@buffalo.edu</a></li>
<li class="tel"><span class="type">Office</span>:
<span class="value">(716) 645-2811</span></li>
</ul>
</div>
To see Microformats in action, get the Operator Add On

The best part is the Operator Add On can be extended with user scripts.
Event information can be microformatted too!
IETF to the rescue again through: iCalendar (RFC 2445)
The "root" of any event is vevent
The "root" of any calendar is a vCalendar
The following are the REQUIRED "class" properties:
ISO date: International standard date notation is:
<div class="vevent">
<a class="url" href="http://www.more.net/conferences/helix/index.html">
http://www.highedweb.com/2008/</a>
<span class="summary">HELIX 2009</span>:
<abbr class="dtstart" title="2009-03-19">March 19</abbr>-
<abbr class="dtend" title="2009-03-20">20</abbr>, at the
<span class="location">Tan-Tar-A,
Osage Beach, MO</span>
</div>
<div class="vevent">
<a class="url" href="http://www.more.net/conferences/helix/index.html">
http://www.highedweb.com/2008/</a>
<span class="summary">HELIX 2009</span>:
<abbr class="dtstart" title="2009-03-19">March 19</abbr>-
<abbr class="dtend" title="2009-03-20">20</abbr>, at the
<span class="location">Tan-Tar-A,
Osage Beach, MO</span>
<div class="vcard contact">Contact:
<a href="mailto:slbrown@sbuniv.edu" class="fn n email">
Shelly L. Brown</a>
</div>
</div>
Not only can you mark up contacts, but you can also add a vcard for location.
<div class="vcard location"> ... </div>
You can also group events together into a full calendar.
<div class="vcalendar">
<div class="vevent"> [Event 1] </div>
<div class="vevent"> [Event 2] </div> ...
</div>
Sample HELIX 2009 hCalendar schedule. Based on Conference Schedule Creator.
rel - describes the relationship of the anchor's href to the current document
rev - a reverse link from the author specified by the href to the current document
Both allow authors to define additional link 'types'
My vote is for
<a href="http://www.packers.com" rev="vote-for">
Green Bay</a> over
<a href="http://www.bears.com" rev="vote-against">
Chicago</a>.
Ratings can be customized if you wish.
<p class="hreview">My rating on the
<a href="http://www.garmin.com"
class="item fn url" rel="tag">
Garmin Colorado 300</a></span>
<span class="type">product</span> is a
<span class="rating"><span class="value">9</span>
out of <span class="best">10</span>.
<span class="summary">Great GPS Unit,
though a bit pricey!</span></p>
When in doubt, go back to the source:
Otto von Vismark, Minister-President of Prussia
They may seem to be chaotic, however we are following currently approved recommendations and adopting them to the web.
Microformats are still in their infancy, but the potential is incredible!
http://www.uwplatt.edu/web/presentations
Email: frommelt@uwplatt.edu
Copyright Daniel M. Frommelt, 2009. This work is the intellectual property of the author. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of the author. To disseminate otherwise or to republish requires written permission from the author.