introduction: Difference between revisions
m (→See Also) |
m (→See Also) |
||
Line 61: | Line 61: | ||
* [http://24ways.org/advent/practical-microformats-with-hcard Practical Microformats with hCard] by Drew McLellan | * [http://24ways.org/advent/practical-microformats-with-hcard Practical Microformats with hCard] by Drew McLellan | ||
* [http://www.thefutureoftheweb.com/blog/2006/1/hcard Jesse Skinner's introduction to hCard] | * [http://www.thefutureoftheweb.com/blog/2006/1/hcard Jesse Skinner's introduction to hCard] | ||
* [http://blog.usweb.com/ Shaun Shull's] great post on [http://blog.usweb.com/archives/how-microformats-affect-search-engine-optimization-seo How Microformats Affect Seearch Engine Optimization] | |||
== Miscellaneous Reference == | == Miscellaneous Reference == |
Revision as of 20:20, 30 January 2006
Introduction to Microformats
Related: press, presentations, suggested-reading, testimonials
What are Microformats?
Microformats are the "dictionaries" of XHTML semantic content. They are for codifying commonly used information-rich HTML content in such a way that semantic meaning can be machine extracted. In short, they are the easiest-possible way to design data (or data formats) intended for reuse on the web.
Stub note
This page is a stub and could certainly use some contributions, especially from folks new to microformats, and what key points and details from their perspective helped explain to them what microformats are, why they matter, what benefits they provide to web designers, information architects, web developers, web programmers etc. - Tantek
Why Microformats
Why did we come up with microformats?
In short, microformats are the convergence of a number of trends:
- a logical next step in the evolution of web design and information architecture
- a way for self-publishers to publish richer information themselves, without having to rely upon centralized services
- an acknowledgment that "traditional" metadata efforts have either failed or taken so long to garner any adoption, that a new approach was necessary
- a way to use (X)HTML for data.
Evolution of Web Design
In the beginning (1990), there was HTML and it was good. It was simple, minimal, and used to semantically markup user visible data (text) and share it on the World Wide Web.
Then came the browser wars (1994-1999) where dominant browser manufacturers took their turns introducing "innovative" presentational tags, giving the typical web author/designer what they wanted: a semblance of control over the presentation of their webpages. The result: HTML 3.2 "standardized" these defacto presentational innovations.
The introduction of CSS1 (1996) and the semantically richer HTML4 (1998) brought a glimmer of hope, but it wasn't until years later (2000-2001), with the introduction of fully compliant (or almost) implementations of CSS1/HTML4 (IE5/Mac, IE6/Windows, Netscape 6) that it became practical for web designers to depend on CSS in their web pages. Leaders in the community began to furiously adopt and promote CSS (even if it took a hack or two) and the efficiencies and enhanced productivity that separating presentation from markup brought them, yet remained a small vocal minority.
The introduction of the Wired News redesign in 100% CSS, and the beautiful CSS Zen Garden (2002-2003) was CSS's tipping point. With the clear and obvious presentation of visual beauty and broad creativity, designers world-wide "got it" and realized that this was the future of web design. The presentational markup of <FONT>
, <TABLE>
, and spacer.gif
were tossed aside by any and all self-respecting web designers, who discovered the near infinite flexibility of <div>
, <span>
, and the 'class' attribute. A few in the community even began adopting some of the more semantic elements in HTML: <p>
, <h1>
...<h6>
, <ol>
, <ul>
, <li>
, <em>
, <strong>
. Leaders in the community exercised the semantic limits of strict HTML4 (experimented with XHTML) and documented best practices.
As the community followed rapidly in the footpaths they had worn, the leaders began to run into the limits of semantic (X)HTML. Other subcultures were attempting to rewrite the world in their own language(s) (RDF, "plain" XML (2), SVG), yet not having much of an impact on the World Wide Web, which required human presentable data, compatible with the browsers people already used. Social Software and Blogs, written by this new generation of web designers and programmers, began to take off.
Natural patterns emerged from the way people used blogging systems, putting things into lists, for example lists of other bloggers (known as blogrolls), and annotating them with information representing relationships such has having met, friends, family, etc. The first microformat, XFN, was designed to match these behaviors, and introduced to the blogging community (2003-2004), who adopted it within weeks. The GMPG was formed as a home for XFN, and documented a few key design principles later adopted for microformats. The key notion, that semantic (X)HTML could be extended, had been introduced and accepted by the community.
By understanding, using, and combining semantic (X)HTML building blocks, as well as determining that semantic (X)HTML could be validly extended via new rel, meta name, and class values, defined in (X)HTML profiles in the XMDP format, the community began to design and develop many more microformats (2004-2005). More patterns emerged from the blogging community, and each aggregate human behavior drove the design of simple, adaptive microformats to meet its needs. Creative Commons licensing became popular and rel-license was proposed. Outlines and lists: XOXO. Contact info: hCard. Calendars and events hCalendar.
Using these new found building blocks, the web design and information architecture communities were no longer limited by the predefined semantics of HTML4 (nor did they have to compromise human presentation and ease of authoring which other attempts sorely lacked). 2005 may well be the year that microformats became the next step in the evolution of the web.
The Appeal to Simplicity
- Microformats are a simple effort which has appealed to many frustrated with previous complex efforts. One parallel that can be drawn is to REST in the web services world, i.e. see this comparison of microformats and REST. See the REST wiki for more about REST. Related microformats and microprotocols.
- See also: Web Services and the Innovators Dilemma by Justin Leavesley
Related Pages
- Recent press interviews and articles are also a good introduction.
- See microformat presentations for more background and introductory material on microformats.
- More suggested reading
- So you wanna implement microformats?
See Also
- Digital Web Magazine: Microformats Primer by Garrett Dimon
- Andrew D. Hume has written a blog post introducing microformats and another one on usable microformats.
- Practical Microformats with hCard by Drew McLellan
- Jesse Skinner's introduction to hCard
- Shaun Shull's great post on How Microformats Affect Seearch Engine Optimization
Miscellaneous Reference
These are various intro-related links/articles which I haven't figured out yet how to incorporate. You may find them of interest. - Tantek
- Data First vs. Structure First
- Tantek says: In many ways it is actually *far* worse than that post conveys. The "typical" programmer literally loves spending far more time worrying about and designing the structure for structure's sake, than data, and even less so, "real world" data (current behaviors etc.). Hence we have taken the directly opposite tack with microformats when looking to solve a problem.
- Zeroeth, define the real-world problem. If you can't do this, then stop.
- First, look at real-world usage (data).
- Second, what previous standards are people actually using today? If there is more than one, then lean towards those with the better adoption.
- And only after those first two do we bother to pay attention to theoretical standards, those that have been invented (whether by individuals, committees), but haven't seen much if any actual adoption.
- Tantek says: In many ways it is actually *far* worse than that post conveys. The "typical" programmer literally loves spending far more time worrying about and designing the structure for structure's sake, than data, and even less so, "real world" data (current behaviors etc.). Hence we have taken the directly opposite tack with microformats when looking to solve a problem.
- 2000-03-21 Dan Connolly on human-consumable information: (strong emphasis added)
- I believe that one of the best ways to transition into RDF, if not a long-term deployment strategy for RDF, is to manage the information in human-consumable form (XHTML) annotated with just enough info to extract the RDF statements that the human info is intended to convey. In other words: using a relational database or some sort of native RDF data store, and spitting out HTML dynamically, is a lot of infrastructure to operate and probably not worth it for lots of interesting cases. We all know that we have to produce a human-readable version of the thing... why not use that as the primary source?