Publishers of technology books, eBooks, and videos for creative people

Home > Articles > Web Design & Development > Usability

Web Design Reference Guide

Hosted by

Microformats: Tomorrow’s Web Today

Last updated Oct 17, 2003.

Despite the buzz about Web 2.0 and next-generation web applications, Informit readers will find it interesting that the original second generation vision for the Web has very little to do with the current perspectives and positions on Web 2.0. The Semantic Web is the term used to describe Tim Berners-Lee and the World Wide Web Consortium's work in encouraging the Web to its next level.

Interestingly, the W3C approach has been challenged by the concept of Microformats, which achieve the same goal, but by extending today's technology instead of building new science from the ground up. In this article, you'll find out about what the Semantic Web and Microformats have in common, and how they are profoundly different in terms of practical application for today's Web developers and designers.

About the Semantic Web

As the Web has matured, new ideas began to emerge about where to take the technology, and how best it can be used to manage data-centric relationships.

In an interview with ConsortiumInfo.org, Berners-Lee states that "the Semantic Web is an extension of the current Web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."

The general goal is to allow massive quantities and types of data to be quickly and efficiently processed by automated tools as well as by people, encouraging new uses of data as well as inspiring innovation and promoting imaginative new uses of such capabilities. What's different about the Semantic Web from the Web as we currently know it is that for the Semantic Web, the computers generate machine-readable data on a very broad scale, with richer meaning and multiple uses including:

  • Personal information management (contact information, address books)
  • Enterprise application development
  • Global sharing of commercial, scientific and cultural data

In order to accomplish this optimistic goal the W3C set out to develop the science that will enable the emergence of the Semantic Web. This science focuses in on two main W3C Technologies: The Resource Description Format (RDF) and the Web Ontology Language (OWL). RDF provides the description of data, and OWL allows for multiple ontologies – sets of terms that describe a given area of knowledge.

In a Semantic Web scenario, an individual might use a browser optimized for the Semantic Web to view all data associated with a conference event. The person could then quickly drag and drop or download calendar, contact and related information from the resources returned directly into his or her calendar and address book. The source of information becomes irrelevant to the user, because the data will be pulled from as many sources as can be found – no matter the data or database type, resulting in far broader opportunities to the person requesting the information. The important issue to remember about the W3C's Semantic Web is that the focus is on machine-readable data, not people.

Sounds pretty straightforward so far, right? Get machines talking to each other with a more sophisticated range of vocabularies, and we get more power for the user, more ability for machines to work at a massive scale and volume to share data because that data has meaningful, globally understood markers and descriptions via OWL and RDF.

The bad news is that the Semantic Web in its current W3C incarnation is difficult to implement and is still emerging in terms of the number of available ontologies. It's going to take time before software developers create Semantic Web agents, applications and other means of creating, storing and retrieving data.

Only a few true practical examples of the Semantic Web exist. An easy to understand example – and one that will provide context for concepts introduced later in this article is FOAF, or the "Friend of a Friend" project. FOAF uses RDF and OWL in order to create machine-readable documents that describe people, the links between them, and the things they do. Again, the technology focus comes first, with the machine-readable application doing the job of expressing identity, not the person. Uses of FOAF could include:

  • Better filtration for email software, basing filtration on a "in my address book only" fashion to ensure that incoming data is trustworthy
  • Allow individuals to find friends and colleagues who share similar interests

Borrowing from Edd Dumbill's example in his article "Finding Friends with XML and RDF" I've created a FOAF description for myself:

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/">

<foaf:Person>
  <foaf:name>Molly E. Holzschlag</foaf:name>
  <foaf:mbox rdf:resource="mailto:molly@molly.com" />
</foaf:Person>

</rdf:RDF>

This information now can be shared machine to machine to identify me, Molly E. Holzschlag, who has an email address of molly@molly.com.

FOAF, as you can probably imagine, finds a natural place in the blogging world, which is where most FOAF activity actually exists.

If you examine the markup, it seems fairly easy for most technical people to understand. But if our goal was to describe highly complex data such as tracking demographic information about persons infected with HIV throughout the world, it becomes clear that a vast number of ontologies have to be created, and these ontologies are naturally quite complex. And, even when people are accustomed to writing XML, XHTML or HTML, working with that level of complexity is going to require truly advanced and integrated software that supports the RDF/OWL approach.

It's easy to see how most implementation and practical application of the Semantic Web as seen by the W3C is truly years, if not decades, away.

Enter the Lower Case "semantic web"

Most people who have been working to get away from presentational (X)HTML and focus on semantic markup have often run into the (X)HTML's limitations in terms of available tags. It was becoming increasingly clear that a way to extend what we had to make our content more meaningful was desperately needed.

Three visionaries within the Web development field, Tantek Celik (Technorati), Eric Meyer (Complex Spiral Consulting), and Matthew Mullenweg (Wordpress) figured out that by extending existing attributes within (X)HTML, they could create a relationship model along the lines of FOAF. The difference? Instead of trying to reinvent the Web with new languages and ontologies, they created the first Microformat, XHTML Friends Network (XFN). In XFN, the rel attribute, which is freely available for use in (X)HTML, is applied here to describe human relationships.

Here's a look at a bit of the markup in my XFN blogroll:

<ul>
<li><a href="http://tantek.com/log/" rel="friend met colleague muse">Tantek Çelik</a></li>
<li><a href="http://www.stuffandnonsense.co.uk/" rel="met colleague friend sweetheart">Andy Clarke</a></li>

<li><a href="http://www.meyerweb.com/" rel="met colleague muse">Eric Meyer</a></li>
<li><a href="http://www.photomatt.com/" rel="met colleague friend">Matt Mullenweg</a></li>

<li><a href="http://www.mezzoblue.com/" rel="met colleague friend">Dave Shea</a></li>
</ul>

To any (X)HTML author's eye, the meaning of this information is immediately apparent and completely understandable. The blogroll itself is marked up using an unordered list, and each link makes use of the rel attribute with a selection of values to describe my relationship to the person at the other end of the link.

From this, it's easy to figure out my colleagues, which ones I've met (in this example all of 'em!), who my friends are, who I consider some of my muses, and who holds the key to my heart. The actual terminology is described in XFN, but as you can already tell, XFN information is very clear in its meaning.

When compared to the RDF/OWL example, it's very, very easy to understand why XFN was adopted into applications within weeks and has become a mainstay in many blogging and related tools since its emergence. No one really had to learn anything new! We just had to take existing semantic elements within (X)HTML and expand on them with extremely simple, human-readable terms within the value portion of the rel attribute.

With the success and rapid adoption of XFN, it became clear that there were real advantages to extending (X)HTML. New Microformats began to emerge, including rel-license for identifying Creative Commons licensing within information, XOXO, which allows for the identification of outlines and lists. Contact information, calendars and events all can now be shared in exactly the same way the "uppercase" Semantic Web envisions but can be done today with such Microformats as hCard and hCalendar.

Many people are now working on Microformats for both public and private sector use. AOL, for example, has created its own Microformat. Microformats are developed, maintained and described in a collaborative way, and public specifications, discussion and opportunities exist for all interested developers at http://www.microformats.org/.

Semantic Web and Microformats Compared

In order to further clarify how the W3C's Semantic Web and Microformats relate – and don't – consider the following comparison table (Table 1).

Table 1 Semantic Web and Microformats Compared

Semantic Web

Microformats

A way of thinking about data

A way of thinking about data

Machines first

Humans first

Requires the creation and development of new ontologies

Uses existing technologies and extends them

Requires the creation of new software and user agents

Uses existing software and user agents

Solves broad problems

Solves specific problems

Centralized development (W3C)

Decentralized development (anyone can write a Microformat)

It's important to also point out that Microformats and the Semantic Web can, and do, coexist. The primary value of Microformats is that because they rely on existing technologies, implementations can be done today, rather over a long period of time.

Getting Started with Microformats

If the idea of Microformats interests you, you might want to visit microformats.org and immediately begin checking out what's what. The topic is being discussed via wikis, forums, blogs, at conferences and in a range of articles from introductory materials such as this article, to more complex information to assist designers and developers implement, create and use Microformats.

In upcoming articles in this series, I'll be delving into more detail about specific Microformats and how you can begin using them right now to enhance and extend the rich, meaningful content you're creating for the Web.