|
|
(66 intermediate revisions by 21 users not shown) |
Line 1: |
Line 1: |
| __NOTOC__
| | {{DISPLAYTITLE:Introduction to Microformats}} |
| | |
| ==Introduction to Microformats==
| |
| | |
| Related: [[press]], [[presentations]], [[podcasts]], [[suggested-reading]], [[testimonials]]
| |
| | |
| __TOC__
| |
| | |
| | |
| == What are Microformats? == | | == What are Microformats? == |
|
| |
|
| Microformats are a way of adding additional, simple markup to human-readable data items on web pages, so that the information can be extracted by software and indexed, searched for, saved, cross-referenced or combined. | | 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. |
|
| |
|
| More technically, they are items of semantic markup, using common and open (X)HTML standards. | | More technically, they are items of semantic markup, using just standard "plain old semantic HTML" (i.e. "[[POSH]]") with a set of common [[class-names]] and "[[rel]]" values. They are open and available, freely, for anyone to use. |
| | |
| They are used for codifying commonly used information-rich content types such as events, contact details or locations. | |
|
| |
|
| == Why Microformats == | | == Why Microformats == |
Line 22: |
Line 12: |
| In short, microformats are the convergence of a number of trends: | | 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 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 | | # a way for people and organizations 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 | | # an acknowledgement that (outside of speci<span class="notspam">alist</span> areas) "traditional" metadata efforts (e.g. meta tags) 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. | | # a way to use well formed [[HTML]] for data. |
| | |
| === Evolution of Web Design ===
| |
| | |
| In the beginning (1990), there was [http://www.w3.org/MarkUp/ 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 [http://en.wikipedia.org/wiki/Browser_wars 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: [http://www.w3.org/TR/REC-html32 HTML 3.2] "standardized" these defacto presentational innovations.
| |
|
| |
|
| The introduction of [http://www.w3.org/TR/REC-CSS1 CSS1] (1996) and the semantically richer [http://www.w3.org/TR/REC-html40/ 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 [http://www.tantek.com/log/2004/07.html#ie5macbandpass a] [http://tantek.com/CSS/Examples/boxmodelhack.html hack] [http://www.tantek.com/CSS/Examples/midpass.html or] [http://tantek.com/CSS/Examples/highpass.html two]) and the efficiencies and enhanced productivity that separating presentation from markup brought them, yet remained a small vocal minority. | | == The Appeal to Simplicity == |
|
| |
|
| The introduction of the Wired News redesign in 100% CSS, and the beautiful [http://csszengarden.com/ 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 <code><FONT></code>, <code><TABLE></code>, and <code>spacer.gif</code> were tossed aside by any and all self-respecting web designers, who discovered the near infinite flexibility of <code><div></code>, <code><span></code>, and the 'class' attribute. A few in the community even began adopting some of the more semantic elements in HTML: <code><p></code>, <code><h1></code>...<code><h6></code>, <code><ol></code>, <code><ul></code>, <code><li></code>, <code><em></code>, <code><strong></code>. Leaders in the community exercised the semantic limits of strict HTML4 (experimented with XHTML) and documented [http://www.simplebits.com/publications/solutions/ best practices].
| | * Microformats are a simple effort which has appealed to many frustrated with previous complex efforts. |
|
| |
|
| 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) (<abbr title="Resource Description Framework">[http://www.w3.org/RDF/ RDF]</abbr>, [[plain-xml|"plain" XML]], <abbr title="Scalable Vector Graphics">[http://www.w3.org/TR/SVG/ SVG]</abbr>), yet not having much of an impact on the World Wide Web, which required human presentable data, compatible with the browsers people already used. [http://en.wikipedia.org/wiki/Social_software Social Software] and [http://en.wikipedia.org/wiki/Blogs Blogs], written by this new generation of web designers and programmers, began to take off.
| | One parallel that has been drawn is to REST in the API / web services world - for more on REST see [[suggested-reading#REST|suggested reading on REST]]. |
|
| |
|
| 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, <abbr title="XHTML Friends Network">[http://gmpg.org/xfn/ XFN]</abbr>, was designed to match these behaviors, and [http://tantek.com/log/2003/12.html#L20031215t0830 introduced to the blogging community] (2003-2004), who adopted it within weeks. The [http://gmpg.org GMPG] was formed as a home for XFN, and documented a few key [http://gmpg.org/principles design principles] later adopted for microformats. The key notion, that semantic (X)HTML could be extended, had been introduced and accepted by the community.
| | ==Get Started == |
|
| |
|
| 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 [http://gmpg.org/xmdp 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|XOXO]]. Contact info: [[hcard|hCard]]. Calendars and events [[hcalendar|hCalendar]].
| | It's easy to get started with microformats: |
| | * [[get-started]] with adding microformats to your HTML |
|
| |
|
| 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.
| | ==Learn More == |
|
| |
|
| === The Appeal to Simplicity ===
| | Learn more about microformats from the microformats.org |
| | * [http://microformats.org/about/ about page], |
| | * [http://microformats.org/ blog], |
| | * [[faq|FAQ]], |
| | * [[articles]], |
| | * [[press]], |
| | * [[presentations]], |
| | * [[books]], |
| | * [[podcasts]], |
| | * [[screencasts]], |
| | * and more [[suggested-reading|suggested reading]]. |
|
| |
|
| * 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 [http://www.windley.com/archives/2005/07/microformats.shtml comparison of microformats and REST]. See the [http://rest.blueoxen.net REST wiki] for more about REST. Related [http://patricklogan.blogspot.com/2006/01/microformat-microprotocol.html microformats and microprotocols].
| | ==See Also== |
| * See also: [http://www.justinleavesley.com/journal/2005/7/28/web-services-and-the-innovators-dilemma.html Web Services and the Innovators Dilemma] by Justin Leavesley
| |
|
| |
|
| == Related Pages ==
| | * [[testimonials]] |
| * Recent [[press]] interviews and articles are also a good introduction.
| | * [[implement|So you want to implement microformats?]] |
| * See microformat [[presentations]] for more background and introductory material on [[microformats]].
| |
| * Listen to [[podcasts]] about microformats. | |
| * More [[suggested-reading|suggested reading]]
| |
| * [[implement|So you wanna implement microformats?]] | |
|
| |
|
| == Articles == | | == External Resources== |
| * [http://www.digital-web.com/articles/microformats_primer/ Digital Web Magazine: Microformats Primer] by Garrett Dimon
| |
| * [http://www.gr0w.com/articles/design/an_extra_side_to_web_standards_based_design/ An Extra SIDE to Web Standards Based Design] - How Semantic Information Design Ethics (SIDE) and a few readily available techniques can help heal the Web, by Jon Tan. See also his [http://www.csszengarden.com/?cssfile=/193/193.css&page=0 CSS Zen Garden "Leggo my ego" entry].
| |
| * [http://thedredge.org/ Andrew D. Hume] has written a blog post [http://thedredge.org/2005/07/introducing-microformats/ introducing microformats] and another one on [http://usabletype.com/articles/2005/usable-microformats/ usable microformats].
| |
| * [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://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]
| |
| * [http://blogbusinesssummit.com/2006/04/microformats_in.htm Blog Business Summit: Microformats in Plain English: the Promise of Simple Business to Business Data Exchange] by Steve Broback
| |
|
| |
|
| == Miscellaneous Reference ==
| | * Emily Lewis's excellent series of articles: |
| | ** [http://ablognotlimited.com/articles/tag/Getting+Semantic+series/ A Blog Not Limited: Getting Semantic With Microformats Series] |
| | * Sitepoint has a nice introductory tutorial: |
| | ** [http://reference.sitepoint.com/html/microformats Microformats - Plugging the Gaps in HTML] |
| | * Premasagar has written up |
| | ** [http://premasagar.com/microformats/compound/ some nice microformats examples with source]. |
|
| |
|
| These are various intro-related links/articles which I haven't figured out yet how to incorporate. You may find them of interest. - [http://tantek.com/log/ Tantek]
| | == Translations == |
|
| |
|
| * [http://www.betaversion.org/~stefano/linotype/news/93/ Data First vs. Structure First] | | * [[introduction-pt-br]] (see also [[introduction-pt-br-2]]) |
| ** [http://tantek.com/log/ 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.
| |
| * [http://lists.w3.org/Archives/Public/www-rdf-interest/2000Mar/0103 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?''' | |