Jump to content

Microformat

From Wikipedia, the free encyclopedia
(Redirected from Microformatting)

Microformats
AbbreviationμF
StatusPublished
Year started2005
Latest versionMicroformats2
May 2010; 14 years ago (2010-05)
Related standardsMicrodata (HTML), RDF, RDF Schema, OWL
DomainSemantic Web
Websitemicroformats.org

Microformats (μF)[note 1] are predefined HTML markup (like HTML classes) created to serve as descriptive and consistent metadata about elements, designating them as representing a certain type of data (such as contact information, geographic coordinates, events, products, recipes, etc.).[1] They allow software to process the information reliably by having set classes refer to a specific type of data rather than being arbitrary.

Microformats emerged around 2005 and were predominantly designed for use by search engines, web syndication and aggregators such as RSS.[2] Google confirmed in 2020 that it still parses microformats for use in content indexing.[3] Microformats are referenced in several W3C social web specifications, including IndieAuth [4] and Webmention.[5]

Although the content of web pages has been capable of some "automated processing" since the inception of the web, such processing is difficult because the markup elements used to display information on the web do not describe what the information means.[6] Microformats can bridge this gap by attaching semantics, and thereby obviating 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.[6]

As of 2013, microformats allow the encoding and extraction of event details, contact information, social relationships and similar information.

Microformats2, abbreviated as mf2, is the updated version of microformats. Mf2 provides a more easy way of interpreting HTML structured syntax and vocabularies than the earlier ways that made use of RDFa and microdata.[7]

Background

[edit]

Microformats emerged around 2005[note 2] 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.[6][note 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.[8]

CommerceNet, a nonprofit organization that promotes e-commerce on the Internet, has helped sponsor and promote the technology and support the microformats community in various ways.[8] CommerceNet also helped co-found the Microformats.org community site.[8]

Neither CommerceNet nor Microformats.org operates as a standards body. The microformats community functions through an open wiki, a mailing list, and an Internet relay chat (IRC) channel.[8] Most of the existing microformats originated at the Microformats.org wiki and the associated mailing list[citation needed] 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.

Technical overview

[edit]

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

class
Classname
rel
relationship, description of the target address in an anchor-element (<a href=... rel=...>...</a>)
rev
reverse relationship, description of the referenced document (in one case, otherwise deprecated in microformats[9])

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.

Examples

[edit]

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

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

With hCard microformat markup, that becomes:

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

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)#Usage.

Specific microformats

[edit]

Several microformats have been developed to enable semantic markup of particular types of information. However, only hCard and hCalendar have been ratified, the others remaining as drafts:

Uses

[edit]

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 online 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 microformats to be exported into formats compatible with contact management and calendar utilities, such as Microsoft Outlook. When dealing with geographical coordinates, they allow the location to be sent to applications such as Google Maps. Yahoo! Query Language can be used to extract microformats from web pages.[16] 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.[17] They subsequently extended this in 2010 to use hCalendar for events and hRecipe for cookery recipes.[18] Similarly, microformats are also processed by Bing[19] and Yahoo!.[20] As of late 2010, these are the world's top three search engines.[21]

Microsoft said in 2006 that they needed to incorporate microformats into upcoming projects,[22] as did 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:[23]

  • 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 do not support microformats
  • The web browser presents a single point of entry from the web to the user's computer, which simplifies security issues

Evaluation

[edit]

Various commentators have offered review and discussion on the design principles and practical aspects of microformats. Microformats have been compared to other approaches that seek to serve the same or similar purpose.[24] As of 2007, there had been some criticism of one, or all, microformats.[24] The spread and use of microformats was being advocated as of 2007.[25][26] 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."[27] However, in August 2008 Toby Inkster, author of the "Swignition" (formerly "Cognition") microformat parsing service, pointed out that no new microformat specifications had been published since 2005.[28]

Design principles

[edit]

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.[8]: 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.[8]

Accessibility

[edit]

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 screen readers that expand abbreviations.[29] In June 2008 the BBC announced that it would be dropping use of microformats using the abbr design pattern because of accessibility concerns.[30]

Comparison with alternative approaches

[edit]

Microformats are not the only solution for providing "more intelligent data" on the web; alternative approaches are used and are under development. For example, the use of XML markup and standards of the Semantic Web are cited as alternative approaches.[8] 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.[8]

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

Here's a new language we want you to learn, and now you need to output these additional files on your server. It's a hassle. (Microformats) lower the barrier to entry.[6]

For some applications the use of other approaches may be valid. If the type of data to be described does not map to an existing microformat, RDFa can embed arbitrary vocabularies into HTML, such as for example domain-specific scientific data such as zoological or chemical data for which there is no microformat. Standards such as W3C's GRDDL allow microformats to be converted into data compatible with the Semantic Web.[31]

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

Microformats provide an easy way for many people to contribute semantic data to the web. With GRDDL all of that data is made available for RDF Semantic Web tools. Microformats and GRDDL can work together to build a better web.[31]

Microformats 2

[edit]

Microformats2 was proposed and discussed during FOOEast, 2010-05-02.[32] Microformats2 was intended to make it easier for authors to publish microformats and for developers to consume them, while remaining backwards compatible[33]

Using microformats2, the example above would be marked up as:

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

and:

 <ul class="h-card vcard">
   <li class="p-name fn">Joe Doe</li>
   <li class="p-org org">The Example Company</li>
   <li class="p-tel tel">604-555-1234</li>
   <li><a class="u-url url" href="http://example.com/">http://example.com/</a></li>
 </ul>

See also

[edit]

Notes

[edit]
  1. ^ After the unit prefix micro-, symbol μ.
  2. ^ The microformats is a community-standard maintained by its Wiki, and the Wiki arrived ~2005.
  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 such as a screen reader.

References

[edit]

Citations

[edit]
  1. ^ "Class Names Across All Microformats". Microformats.org. 23 September 2007. Retrieved 6 September 2008.
  2. ^ "Microformats". MDN Web Docs. Retrieved 11 March 2020.
  3. ^ Tanna, Jamie. "Google confirms Microformats are still a recommended metadata format for content". Retrieved 18 March 2024.
  4. ^ Parecki, Aaron. "IndieAuth". Retrieved 18 March 2024.
  5. ^ Parecki, Aaron. "Webmention". Retrieved 18 March 2024.
  6. ^ a b c d "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. 27 July 2005.
  7. ^ "Microformats - HTML: HyperText Markup Language | MDN". developer.mozilla.org. Retrieved 6 August 2022.
  8. ^ a b c d e f g h Khare, Rohit (January–February 2006). "Microformats: The Next (Small) Thing on the Semantic Web?". IEEE Internet Computing. 10 (1). IEEE Computer Society: 68–75. doi:10.1109/MIC.2006.13. S2CID 15375082.
  9. ^ ""rel" attribute frequently asked questions". Microformats.org. 6 August 2008. Retrieved 6 September 2008.
  10. ^ hMedia · Microformats Wiki
  11. ^ Ultimate Guide to Microformats: Reference and Examples
  12. ^ rel-directory · Microformats Wiki
  13. ^ rel="enclosure" · Microformats Wiki
  14. ^ rel="license" · Microformats Wiki
  15. ^ rel="tag" · Microformats Wiki
  16. ^ Heilman, Chris (19 January 2009). "Retrieving and displaying data from Wikipedia with YQL". Yahoo Developer Network. Yahoo. Archived from the original on 27 January 2011. Retrieved 19 January 2009.
  17. ^ Goel, Kavi; Ramanathan V. Guha; Othar Hansson (12 May 2009). "Introducing Rich Snippets". Google Webmaster Central Blog. Retrieved 25 May 2009.
  18. ^ Gong, Jun; Kosuke Suzuki; Yu Watanabe (13 April 2010). "Better recipes on the web: Introducing recipe rich snippets". Google Search Central Blog. Retrieved 17 March 2011.
  19. ^ "Bing Introducing Schema.org: Bing, Google and Yahoo Unite to Build the Web of Objects – Search Blog – Site Blogs – Bing Community". Bing. 2 June 2011. Retrieved 2 June 2011.
  20. ^ "Introducing schema.org: A Collaboration on Structured Data". 2 June 2011. Archived from the original on 3 June 2011. Retrieved 2 June 2011.
  21. ^ "Top 5 Search Engines from Oct to Dec 10| StatCounter Global Stats". StatCounter. Retrieved 17 January 2011.
  22. ^ "Bill Gates at Mix06 – 'We need microformats'". 20 March 2006. Retrieved 6 September 2008. 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…
  23. ^ "Microformats – Part 4: The User Interface of Microformat Detection « Alex Faaborg". Archived from the original on 23 September 2008. Retrieved 6 October 2008.
  24. ^ a b "Criticism". Microformats.org. 24 March 2007. Retrieved 15 August 2007.
  25. ^ "Advocacy". Microformats.org. 27 August 2008. Retrieved 15 August 2007.
  26. ^ "Spread Microformats". Microformats.org. 29 August 2008. Retrieved 15 August 2007. This includes community resources for marketing microformats such as buttons, banners, wallpaper / desktop screens, logo graphics, etc.
  27. ^ Holzschlag, Molly E. (31 March 2005). "Interview with Håkon Wium Lie". Molly.com. Retrieved 18 November 2007.
  28. ^ Inkster, Toby A. (22 April 2008). "More than three years". Microformats.org. Retrieved 24 August 2008.
  29. ^ Craig, James (27 April 2007). "hAccessibility". Web Standards Project. Retrieved 16 August 2007.
  30. ^ Smethurst, Michael (23 June 2008). "Removing Microformats from bbc.co.uk/programmes". BBC. Retrieved 24 August 2008.
  31. ^ a b "W3C GRDDL Recommendation Bridges HTML/Microformats and the Semantic Web". XML Coverpages. OASIS. 13 September 2007. Retrieved 23 November 2007.
  32. ^ "microformats 2.0 discussion". 2 May 2010.
  33. ^ "microformats2".

Sources

[edit]

Further reading

[edit]
[edit]