Microformat

Jump to: navigation, search
For the photographic miniaturization of documents, see Microform. For details of microformats used on Wikipedia, see Wikipedia:Microformats.

A microformat (sometimes abbreviated μF) is a web-based approach to semantic markup which seeks to re-use existing HTML/XHTML tags to convey metadata[1] and other attributes in web pages and other contexts that support (X)HTML, such as RSS. This approach allows software to process information intended for end-users (such as contact information, geographic coordinates, calendar events, and the like) automatically.

Although the content of web pages is technically already capable of "automated processing", and has been since the inception of the web, such processing is difficult because the traditional markup tags used to display information on the web do not describe what the information means.[2] Microformats can bridge this gap by attaching semantics, and thereby obviate other, more complicated, methods of automated processing, such as natural language processing or screen scraping. The use, adoption and processing of microformats enables data items to be indexed, searched for, saved or cross-referenced, so that information can be reused or combined.[2]

As of 2010 microformats allow the encoding and extraction of events, contact information, social relationships and so on. More are being developed.

Background

Microformats emerged as part of a grassroots movement to make recognizable data items (such as events, contact details or geographical locations) capable of automated processing by software, as well as directly readable by end-users.[2][3] Link-based microformats emerged first. These include vote links that express opinions of the linked page, which search engines can tally into instant polls.[4]

As the microformats community grew[when?], CommerceNet, a nonprofit organization that promotes electronic commerce on the Internet, helped sponsor and promote the technology and support the microformats community in various ways.[4] CommerceNet also helped co-found the Microformats.org community site.[4]

Neither CommerceNet nor Microformats.org operates as a standards body. The microformats community functions through an open wiki, mailing list, and Internet relay chat (IRC) channel.[4] Most of the existing microformats were created at the Microformats.org wiki and the associated mailing list, by a process of gathering examples of web publishing behaviour, then codifying it. Some other microformats (such as rel=nofollow and unAPI) have been proposed, or developed, elsewhere.

Plain Old Semantic HTML (POSH)

The phrase "plain old semantic HTML" has been found online as early as 1998, but the acronym POSH used in connection with microformats was coined in April 2007 on the microformats irc channel. Semantic HTML focuses on the use of tags and attributes for semantic rather than presentational purposes. Its proponents discourage the use of tables for layout (see Tableless web design) and the use of the <b> or <br /> tags since these tags are purely presentational.[5]

Technical overview

XHTML and HTML standards allow for the embedding and encoding of semantics within the attributes of markup tags. Microformats take advantage of these standards by indicating the presence of metadata using the following attributes:

  • class
  • rel
  • rev (in one case, otherwise deprecated in microformats[6])

For example, in the text "The birds roosted at 52.48, -1.89" is a pair of numbers which may be understood, from their context, to be a set of geographic coordinates. With wrapping in spans (or other HTML elements) with specific class names (in this case geo, latitude and longitude, all part of the geo microformat specification):

The birds roosted at
   <span class="geo">
     <span class="latitude">52.48</span>,
     <span class="longitude">-1.89</span>
   </span>

software agents can recognize exactly what each value represents and can then perform a variety of tasks such as indexing, locating it on a map and exporting it to a GPS device.

Example

In this example, the contact information is presented as follows:

 <div>
   <div>Joe Doe</div>
   <div>The Example Company</div>
   <div>604-555-1234</div>
   <a href="http://example.com/">http://example.com/</a>
 </div>

With hCard microformat markup, that becomes:

 <div class="vcard">
   <div class="fn">Joe Doe</div>
   <div class="org">The Example Company</div>
   <div class="tel">604-555-1234</div>
   <a class="url" href="http://example.com/">http://example.com/</a>
 </div>

Here, the formatted name (fn), organisation (org), telephone number (tel) and web address (url) have been identified using specific class names and the whole thing is wrapped in class="vcard", which indicates that the other classes form an hCard (short for "HTML vCard") and are not merely coincidentally named. Other, optional, hCard classes also exist. Software, such as browser plug-ins, can now extract the information, and transfer it to other applications, such as an address book.

In-context examples

For annotated examples of microformats on live pages, see HCard#Live example and Geo (microformat)#Three_classes.

Specific microformats

Several microformats have been developed to enable semantic markup of particular types of information.

  • hAtom – for marking up Atom feeds from within standard HTML
  • hCalendar – for events
  • hCard – for contact information; includes:

Microformats under development

Among the many proposed microformats[11], the following are undergoing active development:

  • hAudio – for audio files and references to released recordings
  • citation – for citing references
  • currency – for amounts of money
  • figure – for associating captions with images[12]
  • geo extensions – for places on Mars, the Moon, and other such bodies; for altitude; and for collections of waypoints marking routes or boundaries
  • species – For the names of living things
  • measure – For physical quantities, structured data-values[13]

Uses of microformats

Using microformats within HTML code provides additional formatting and semantic data that applications can use. For example, applications such as web crawlers can collect data about on-line resources, or desktop applications such as e-mail clients or scheduling software can compile details. The use of microformats can also facilitate "mash ups" such as exporting all of the geographical locations on a web page into (for example) Google Maps to visualize them spatially.

Several browser extensions, such as Operator for Firefox and Oomph for Internet Explorer, provide the ability to detect microformats within an HTML document. When hCard or hCalendar are involved, such browser extensions allow to export them into formats compatible with contact management and calendar utilities, such as Microsoft Outlook. When dealing with geographical coordinates, they allow to send the location to maps applications such as Google Maps. Yahoo! Query Language can be used to extract microformats from web pages[14]. On 12 May 2009, Google announced that they would be parsing the hCard, hReview and hProduct microformats, and using them to populate search result pages[15].

Microsoft expressed a desire to incorporate Microformats into upcoming projects;[16] as have other software companies.

Alex Faaborg summarizes the arguments for putting the responsibility for microformat user interfaces in the web browser rather than making more complicated HTML:[17]

  • Only the web browser knows what applications are accessible to the user and what the user's preferences are
  • It lowers the barrier to entry for web site developers if they only need to do the markup and not handle "appearance" or "action" issues
  • Retains backwards compatibility with web browsers that don't support microformats
  • The web browser presents a single point of entry from the web to the user's computer, which simplifies security issues

Evaluation of microformats

Various commentators have offered review and discussion on the design principles and practical aspects of microformats. Additionally, microformats have been compared to other approaches that seek to serve the same or similar purpose.[18] From time to time, there is criticism of a single, or all, microformats.[18] Documented efforts to advocate both the spread and use of microformats are known to exist as well.[19][20] Opera Software CTO and CSS creator Håkon Wium Lie said in 2005 "We will also see a bunch of microformats being developed, and that’s how the semantic web will be built, I believe."[21] However, as of August 2008, Toby Inkster, author of the "Swignition" (formerly "Cognition") microformat parsing service pointed out that no new microformat specifications had been published for over three years.[22]

Design principles

Computer scientist and entrepreneur, Rohit Khare stated that reduce, reuse, and recycle is "shorthand for several design principles" that motivated the development and practices behind microformats.[4]:71-72 These aspects can be summarized as follows:

  • Reduce: favor the simplest solutions and focus attention on specific problems;
  • Reuse: work from experience and favor examples of current practice;
  • Recycle: encourage modularity and the ability to embed, valid XHTML can be reused in blog posts, RSS feeds, and anywhere else you can access the web.[4]

Accessibility

Because some microformats make use of title attribute of HTML's abbr element to conceal machine-readable data (particularly date-times and geographical coordinates) in the "abbr design pattern", the plain text content of the element is inaccessible to those screen readers that expand abbreviations.[23] In June 2008, the BBC announced that it would be dropping use of microformats using the abbr design pattern because of accessibility concerns.[24]

Alternative approaches

Microformats are not the only solution for providing "more intelligent data" on the web. Alternative approaches exist and are under development as well. For example, the use of XML markup and standards of the Semantic Web are cited as alternative approaches.[4] Some contrast these with microformats in that they do not necessarily coincide with the design principles of "reduce, reuse, and recycle", at least not to the same extent.[4]

One advocate of microformats, Tantek Çelik, characterized a problem with alternative approaches:

For some applications the use of other approaches may be valid. If one wishes to use microformat-style embedding but the type of data one wishes to embed does not map to an existing microformat, one can use RDFa to embed arbitrary vocabularies into HTML, for example: embedding domain-specific scientific data on the Web like zoological or chemical data where no microformat for such data exists. Furthermore, standards such as W3C's GRDDL allow microformats to be converted into data compatible with the Semantic Web.[25]

Another advocate of microformats, Ryan King, put the compatibility of microformats with other approaches this way:

See also

Notes

  1. "Class Names Across All Microformats". Microformats.org. 2007-09-23. Retrieved 2008-09-06. 
  2. 2.0 2.1 2.2 2.3 "What’s the Next Big Thing on the Web? It May Be a Small, Simple Thing -- Microformats". Knowledge@Wharton. Wharton School of the University of Pennsylvania. 2005-07-27. 
  3. In this context, the definition of "end-user" includes a person reading a web page on a computer screen or mobile device, or an assistive technology software program such as a screen reader.
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Lua error in ...nsions/Scribunto/engines/LuaCommon/lualib/mwInit.lua at line 17: bad argument #1 to 'old_pairs' (table expected, got nil).
  5. http://microformats.org/wiki/posh
  6. ""rel" attribute frequently asked questions". Microformats.org. 2008-08-06. Retrieved 2008-09-06. 
  7. http://microformats.org/wiki/rel-directory
  8. http://microformats.org/wiki/rel-enclosure
  9. http://microformats.org/wiki/rel-license
  10. http://microformats.org/wiki/rel-tag
  11. "Exploratory Discussions". Microformats.org. 2008-08-15. Retrieved 2008-09-06. 
  12. http://microformats.org/wiki/figure
  13. http://microformats.org/wiki/measure
  14. Heilman, Chris (2009-01-19). "Retrieving and displaying data from Wikipedia with YQL". Yahoo Developer Network. Yahoo. Retrieved 2009-01-19. 
  15. Goel, Kavi; Ramanathan V. Guha, Othar Hansson (2009-05-12). "Introducing Rich Snippets". Google Webmaster Central Blog. Google. Retrieved 2009-05-25.  Cite uses deprecated parameter |coauthors= (help)
  16. "Bill Gates at Mix06 – "We need microformats"". 2006-03-20. Retrieved 2008-09-06. We need microformats and to get people to agree on them. It is going to bootstrap exchanging data on the Web… …we need them for things like contact cards, events, directions… 
  17. http://blog.mozilla.com/faaborg/2007/02/04/microformats-part-4-the-user-interface-of-microformat-detection/
  18. 18.0 18.1 "Criticism". Microformats.org. 2007-03-24. Retrieved 2007-08-15. 
  19. "Advocacy". Microformats.org. 2008-08-27. Retrieved 2007-08-15. 
  20. "Spread Microformats". Microformats.org. 2008-08-29. Retrieved 2007-08-15.  This includes community resources for marketing microformats such as buttons, banners, wallpaper / desktop screens, logo graphics, etc.
  21. Holzschlag, Molly E. (2005-03-31). "Interview with Håkon Wium Lie". Molly.com. Retrieved 2007-11-18. 
  22. Inkster, Toby A. (2008-04-22). "More than three years". Microformats.org. Retrieved 2008-08-24. 
  23. Craig, James (2007-04-27). "hAccessibility". Web Standards Project. Retrieved 2007-08-16. 
  24. Smethurst, Michael (2008-06-23). "Removing Microformats from bbc.co.uk/programmes". BBC. Retrieved 2008-08-24. 
  25. 25.0 25.1 "W3C GRDDL Recommendation Bridges HTML/Microformats and the Semantic Web". XML Coverpages. OASIS. 2007-09-13. Retrieved 2007-11-23. 

References

  • Lua error in ...nsions/Scribunto/engines/LuaCommon/lualib/mwInit.lua at line 17: bad argument #1 to 'old_pairs' (table expected, got nil).
  • Lua error in ...nsions/Scribunto/engines/LuaCommon/lualib/mwInit.lua at line 17: bad argument #1 to 'old_pairs' (table expected, got nil).
  • Lua error in ...nsions/Scribunto/engines/LuaCommon/lualib/mwInit.lua at line 17: bad argument #1 to 'old_pairs' (table expected, got nil).

Further reading

External links

cs:Mikroformát

da:Microformat de:Mikroformate es:Microformato eo:Mikroformatoj eu:Mikroformatu fr:Microformat ko:마이크로포맷 it:Microformat lv:Mikroformāti nl:Microformat ja:マイクロフォーマット pt:Microformato ru:Микроформаты simple:Microformat sk:Mikroformát sv:Mikroformat tr:Microformat uk:Мікроформат zh:微格式

Personal tools