|
|
(89 intermediate revisions by 25 users not shown) |
Line 1: |
Line 1: |
| __NOTOC__
| | {{DISPLAYTITLE:Introduction to Microformats}} |
| | == What are Microformats? == |
|
| |
|
| = Introduction to Microformats =
| | 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. |
|
| |
|
| * [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].
| | 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. |
| * See microformat [[presentations]] for more background and introductory material on [[microformats]].
| |
| * Recent [[press]] interviews and articles are also a good introduction.
| |
|
| |
|
| == Why Microformats == | | == Why Microformats == |
Line 13: |
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 === | | == The Appeal to Simplicity == |
|
| |
|
| 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.
| | * Microformats are a simple effort which has appealed to many frustrated with previous complex efforts. |
|
| |
|
| 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.
| | 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]]. |
|
| |
|
| 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.
| | ==Get Started == |
|
| |
|
| The introduction and growth of the [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].
| | It's easy to get started with microformats: |
| | * [[get-started]] with adding microformats to your HTML |
|
| |
|
| 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" <abbr title="eXtensible Markup Language">[http://www.w3.org/XML/ XML]</abbr>, <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.
| | ==Learn More == |
|
| |
|
| 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.
| | 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]]. |
|
| |
|
| 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]].
| | ==See Also== |
|
| |
|
| 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.
| | * [[testimonials]] |
| | * [[implement|So you want to implement microformats?]] |
|
| |
|
| === The Appeal to Simplicity === | | == External Resources== |
|
| |
|
| * 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]. | | * Emily Lewis's excellent series of articles: |
| * 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 | | ** [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]. |
|
| |
|
| == Stub note == | | == Translations == |
|
| |
|
| 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. - [http://tantek.com/log/ Tantek]
| | * [[introduction-pt-br]] (see also [[introduction-pt-br-2]]) |
| | | * ... |
| == 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. - [http://tantek.com/log/ Tantek]
| |
| | |
| * [http://www.betaversion.org/~stefano/linotype/news/93/ Data First vs. Structure First]
| |
| ** [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?''' | |
| | |
| == See Also ==
| |
| | |
| * [[suggested-reading]]
| |