Microformats und Structured Blogging

Klebstoff für das Web 2.0
Kommentare

Es war keineswegs die Namensähnlichkeit seines Unternehmens, die den Microsoft-Gründer Bill Gates dazu veranlasste, auf der MIX06-Konferenz auszusprechen, was andere längst dachten und folglich auch umsetzten: „We need Microformats“. Vielmehr war es die tiefe Einsicht, dass weniger manchmal mehr ist.

Wir, die Software- und Webentwickler, brauchen Mikroformate, weil zwischen dem vergleichsweise simplen, aber wenig aussagekräftigen HTML und dem mächtigen, aber oftmals zu komplexen Gespann aus XML, XML Schema und RDF eine große Lücke klafft – die des Microcontent. Als Microcontent werden Inhalte bezeichnet, die kompakt, abgeschlossen und strukturiert sind, wie beispielsweise ein Kontakt auf einer Visitenkarte. Visitenkarten haben eine Struktur, die klar erkennen lässt: dies ist der Name, dies die Telefonnummer und dies die E-Mail-Adresse. Und Visitenkarten lassen sich einfach austauschen und weitergeben.

Mit Auszeichnung

Gleiches sollte für Kontaktinformationen auf einer Website gelten. Tatsächlich ist es aber so, dass ein Kontakt auf einer HTML-Seite nicht einfach mittels Copy & Paste in das Adressbuch kopiert werden kann. Entweder man kopiert die einzelnen Informationen (wie Name, Telefonnummer etc.) stückweise oder man verwendet einen mehr oder minder intelligenten Screen-Scraper. Dieser liest das HTML-Dokument womöglich in ein DOM ein und versucht anschließend, im Objektmodell jene Teile zu identifizieren, die einen Namen, eine Anschrift oder eine E-Mail-Adresse darstellen. Eine E-Mail-Adresse als solche zu erkennen, ist meist leicht, denn – wie das Beispiel in Listing 1 zeigt – E-Mail-Adressen werden in der Regel mit einem Link hinterlegt.

Listing 1: Visitenkarte in HTML
----------------------------------------------------------
Max Mustermann 
Musterstraße 1 
99999 Musterstadt 
Germany  
phone: +49 123 456789 
fax: +49 123 456780 
email: max@musterstadt.de

Dieses Prinzip, Textfragmente mit Markup auszuzeichnen, ist natürlich nicht neu, sondern die Grundlage von HTML und XML. Doch bei HTML betreffen die Auszeichnungen hauptsächlich die Darstellung. Ganz ohne Semantik kommt aber auch HTML nicht aus. So gibt es neben den physikalischen Auszeichnungen wie i für „Italic“ auch logische. Das Element abbr kennzeichnet beispielsweise eine Abkürzung:

etc.

Zudem gibt es eine ganze Reihe von Attributen, die zwar meist keinen Einfluss auf die Darstellung eines Elements haben, aber für die Bedeutung und Deutung der Inhalte wesentlich sind. Bekannt ist das Attribut rel in einem Hyperlink:

Es beschreibt die Relation zwischen der HTML-Seite, die diesen Hyperlink enthält, und der Seite, auf die der Hyperlink verweist. Der spezielle Wert nofollow weist eine Suchmaschine wie Google an, bei der Indizierung der Website diesem Link nicht zu folgen. Ebenso ließe sich das rel-Attribut dazu verwenden, auf seiner privaten Homepage auf die Websites der Freunde und Arbeitskollegen zu verweisen:

In diesem Fall ist mein einziger Freund zugleich auch mein Arbeitskollege und das rel-Attribut weist demnach zwei Einträge auf. Dies ist zudem das erste Beispiel für ein Stück Microcontent und gleichsam ein Beispiel für das erste als Microformats bezeichnete Format namens XFN.

Klein, aber fein

XFN steht für „XHTML Friends Network“ und macht dabei bereits eine wesentliche Voraussetzung für Mikroformate deutlich: Die umschließende Seite muss im XHTML-Format vorliegen – das ermöglicht die Verarbeitung mit einem XML-Parser. XFN entstand im Umfeld der Blogrolls, also jenen Linklisten von Bloggern, mit denen sie auf befreundete und themenähnliche Blogs hinwiesen. In der Summe der Links ergibt sich hieraus die Blogosphäre, das bis dato wohl größte Social Network. Die Entstehungsgeschichte von XFN weist auf zwei weitere Kennzeichen von Mikroformaten hin. Erstens sollte ein Format im Sinne einer bestimmten XHTML-Formatierung bereits gängige Praxis sein, bevor es in den Stand eines Mikroformates erhoben wird. Dies ist auch der Grund, weshalb die Initiatoren von Microformats.org nicht davon ausgehen, dass es in Zukunft eine unüberschaubare Anzahl an Mikroformaten geben wird. Zweitens sollte ein Mikroformat so weit wie möglich auf bestehenden Standards aufbauen, wobei es sich nicht zwangsläufig um andere Mikroformate handeln muss. Damit schließt sich der Kreis, denn für die Darstellung einer virtuellen Visitenkarte sieht die Microformats-Website das hCard-Format vor, ein so genanntes „Compound Microformat“, das sich aus „Elemental Microformats“ wie dem XFN zusammensetzt. Getreu der Prämisse auf bestehende Standards zu setzen, orientiert sich hCard außerdem an dem etablierten vCard-Standard und übernimmt dessen Bezeichnungen wie „given-name“ für die Kennzeichnung des Vornamens. Diese vordefinierten Schlüsselwörter tauchen beim hCard-Format im class-Attribut auf. Das class-Attribut, welches im Gegensatz zu dem rel-Attribut bei beinahe sämtlichen XHTML-Elementen erlaubt ist, übernimmt im Rahmen der Mikroformate neben seiner gewohnten Funktion eine weitere, von XML bekannte Funktion. Die ursprüngliche Funktion des class-Attributes ist es, eine Verbindung zu einem Cascading-Stylesheet herzustellen, wobei die CSS-Datei definiert, wie ein Element dieser Klasse formatiert werden soll. Die hinzugekommene Funktion ist, dass das class-Attribut den Elementinhalt mit einer bestimmten Bedeutung markiert, wie etwa: „Dies ist eine Telefonnummer“. Listing 2 zeigt hierzu das Beispiel aus Listing 1, formatiert als hCard.

Listing 2: Visitenkarte als hCard
------------------------------------------------------------------
Max Mustermann
Musterstraße 6 99999 Musterstadt Germany
phone: +49 123 456789 fax: +49 123 456780 email:
Gerührt, nicht geschüttelt

Das LEGO-Baustein-Prinzip lässt sich natürlich noch weiterspinnen. So besteht hResume, ein Mikroformat für die Darstellung von Lebensläufen, aus den Mikroformaten hCard und hCalendar. Letzteres kann verwendet werden, um Termine zu beschreiben, es orientiert sich ebenfalls an einem bestehenden Standard: iCalendar. Doch wozu der Aufwand mit den class-Attributen? Für den Nutzer macht es keinen Unterschied, und soll es auch nicht machen, ob Mikroformat oder simples HTML. Eine Antwort auf diese Frage sind Mashups, also jene Anwendungen, die einfach bestehende Webdienste miteinander verbinden, um so einen neuen Dienst zu kreieren. So ermutigt die Foto-Community Flickr ihre Nutzer, Bildern mittels Mikroformat geogenaue Ortskoordinaten zuzuweisen. Flickr selbst nutzt diese Information, um auf einer Satellitenkarte von Yahoo! Maps mit den Fotos aus der Datenbank die Orte ihrer Entstehung zu „geotaggen“, also die Fotos mit ihren Entstehungsorten zu verknüpfen. Weitere Beispiele und interessante Seiten zum Thema Mikroformate liefert die Linksammlung, die übrigens auch in Form des (noch in Entwicklung befindlichen) Mikroformats xFolk bereitgestellt wird. Zudem nutzt die Website das sehr einfache Mikroformat rel-tag, um die Links in einer Folksonomy zu kategorisieren. Eine ausführliche Darstellung zum Thema findet sich außerdem in dem Buch „Using Microformats“.

Gesucht und gefunden

Ein Mashup-Entwickler muss also dank der Mikroformate nicht erst ein API erlernen, sondern kann die gewünschten Informationen direkt aus der für ihn relevanten Seite extrahieren – die HTML-Seite ist also zugleich das API. Doch auch für die Suchmaschinen sind die Mikroformate zunehmend interessant. Einen ersten Ausblick auf zukünftige Entwicklungen bietet die Microformats-Suche von Technorati, der führenden Suchmaschine für Blogs. Vor der eigentlichen Suche gibt der Benutzer an, was er sucht, beispielsweise eine andere Person, dessen Namen er kennt. Die Suchmaschine liefert daraufhin sämtliche hCard-Einträge, die im Web zu dieser Person mit diesem Namen vorhanden und bei Pingerati registriert wurden. Pingerati ist ein weiterer Dienst von Technorati, der nur eine Aufgabe hat: Er nimmt Benachrichtigungen, dass eine Seite mit Microcontent erstellt oder geändert wurde, manuell von einem Benutzer oder automatisch von einem Content-Management-System wie einer Blog-Software entgegen und benachrichtigt daraufhin selbst eine Reihe von registrierten Ping-Empfängern wie eben die Microformats-Suchmaschine von Technorati. Noch finden sich nur wenige Personen oder Termine mit der Microformats-Suche. Doch sobald beispielsweise die großen Social-Network-Betreiber ihre Netze öffnen, dürfte die Microformats-Welt gleich anders aussehen. LinkedIn offeriert bereits hCards, allerdings nur intern. Der Konkurrent aus Deutschland, Xing (ehemals openBC), will folgen.

Auf dem Schreibtisch

Doch nicht alles spielt sich nur online ab, sondern vieles eben noch auf dem heimischen Schreibtisch, sprich dem Windows- oder Linux-Desktop. Und auch hier eröffnen Mikroformate interessante und hilfreiche Anwendungsmöglichkeiten. So lassen sich bereits heute mit wenigen Klicks Kontakte aus LinkedIn nach Outlook exportieren, sofern als Browser Firefox eingesetzt wird. Für diesen bietet die Website ein Plug-in namens Tails an. Dieses Plug-in erkennt Mikroformate innerhalb einer Seite und signalisiert dies durch ein kleines Symbol (dem grünen Microformats-Logo) in der rechten unteren Ecke des Hauptfensters. Ein Klick auf dieses Symbol öffnet die in Abbildung 1 gezeigte Liste von Microcontent-Elementen. Dank einer Erweiterung für Tails, einem Tails-Script, bieten die Contact-Einträge die Option an, eine hCard als vCard zu exportieren und damit in Outlook zu importieren. Andere Tails-Skripte bieten Ähnliches für die Mikroformate hCalendar, geo oder xFolk an. Umgekehrt listet die Microformats-Website eine ganze Reihe von Websites, Werkzeugen und Konvertern auf, um Daten im Mikroformat zu erzeugen.

Abb. 1: Der Live-Clipboard-Demo mit geöffneter Tails-Firefox-Erweiterung
Lebendige Zwischenablage

Wohin die Reise mit Mikroformaten geht, zeigen die Live-Clipboard-Demo und der Live-Clipboard-Screencast von Microsoft-Chefentwickler Ray Ozzie. Auf der Demo-Website – zu sehen in Abbildung 1 – können Kontakte im hCard-Format und Termine im hCalendar-Format in das Live Clipboard kopiert und von dort wieder in die Website eingefügt werden. Der Clou dabei ist: die Zwischenablage funktioniert auch zwischen verschiedenen Websites und selbst zwischen verschiedenen Browsern oder Anwendungen. Hinter dem Live Clipboard steckt ein einfaches XML-Format und ein wenig JavaScript-Zauberei. Eine clientseitige Erweiterung ist hingegen nicht erforderlich. Was mit dem Live Clipboard in naher Zukunft möglich sein soll, demonstriert der erwähnte Screencast. Er zeigt, wie Termine von einer Social Event Calendar-Website nach Outlook kopiert werden und der Outlook-Kalender mit dem Online-Kalender synchronisiert wird. Für die Datenbeschreibung kommt – wie zu erwarten war – das hCalendar-Mikroformat zur Anwendung. Die Datenübertragung übernimmt RSS und die Synchronisierung die Simple Sharing Extensions.

Mehr Struktur

Mikroformate decken eine ganze Reihe von Anwendungsfällen ab, aber eben nicht alle. Ein Mikroformat für die Beschreibung eines Wohnungsgesuchs gibt es (noch) nicht. Es gibt allerdings eine große Zahl von etablierten XML-Formaten für die unterschiedlichsten Zwecke. Diese den Mikroformaten zu opfern, ist weder gewollt noch zu empfehlen. Eine allgemeine Lösung muss also her. Die Structured-Blogging-Initiative liefert eine solche Lösung, indem sie XML-Daten innerhalb eines script-Elements in HTML-Seiten einbettet. Das script-Element erhält zusätzlich ein type-Attribut mit einem speziellen Wert, der den Inhalt des Elements als X-Subnode deklariert. Listing 3 zeigt ein gekürztes Beispiel, das an die Beispiele aus Listing 1 und 2 angelehnt ist. Der Vorteil in der Verwendung des X-Subnode-Skripttyps zeigt sich, wenn die zugehörige Seite in einem Browser geöffnet wird, der von all dem nichts weiß. Er ignoriert die Information einfach und der Benutzer wird damit nicht behelligt. Andere Programme oder Websites können dagegen die Information einfach extrahieren und zum Beispiel aggregieren.

Listing 3: Visitenkarte im Structured-Blogging-Format
----------------------------------------------------------------
 
Dezentrale Kontrolle

Daraus resultiert ein vollkommen anderes Internet-Paradigma als es z.B. Amazon verfolgt. Amazon lockt seine Kunden auf seine Website, indem es ebenfalls von Kunden generierte Bewertungen („User-generated content“) anbietet. Ziel von Amazon ist, dass die Besucher auf der Website entweder einen Einkauf tätigen oder zumindest selbst Bewertungen abgeben. Die Structured-Blogging-Initiative zeigt einen anderen, einen dezentralen Weg auf. Der persönliche Blog ist der Ort, auf dem eigene Rezensionen, Kauf- oder Verkaufsgesuche und das persönliche Profil veröffentlicht wird. Andere Websites, die Aggregatoren, tragen die strukturierten Inhalte zusammen, filtern diese und präsentieren sie dem Besucher in neuem Gewand. So könnte sich eine Website auf Buchrezensionen, eine andere auf Musikrezensionen spezialisieren. Der Vorteil für den Verfasser ist offensichtlich. Er behält die volle Kontrolle über seine Daten. Der Leser muss zudem nicht mehr verschiedene Websites befragen und auch die großen Websites profitieren hiervon. Da ohnehin viele Informationen zunehmend nur noch gebloggt und eben zum Beispiel nicht bei Amazon veröffentlicht werden, ist es in ihrem Interesse, dass die Informationen in strukturierter Form vorliegen.

Ich blog das!

Damit es allerdings dazu kommt, dass etwa Buchrezensionen in strukturierter Weise publiziert werden, bedarf es der softwaretechnischen Unterstützung. Deshalb bietet die Structured-Blogging-Website unter anderem für die beliebten Blogging-Werkzeuge WordPress und MovableType entsprechende Plug-ins an. Diese bieten Formulare an, um beispielsweise Termine über den eigenen Blog bekannt zu geben. Die Software erzeugt nicht nur die notwendigen script-Inhalte, sondern stellt den Microcontent gleichsam als HTML dar und – wie zu erwarten war – formatiert ihn mittels passender Mikroformate. Zudem sorgt die Plug-in-Software dafür, dass die Informationen auch in dem zugehörigen RSS- beziehungsweise Atom-Feed verfügbar sind. Und schließlich unterstützt der Structured-Blogging-Ansatz bereits die GRDDL-Spezifikation des W3C. Was sich hinter diesem Akronym verbirgt, erklärt der Kasten „GRDDL verknüpft Microformats mit dem Semantischen Web“. Ist Structured Blogging nun auf das Blogging begrenzt? Keineswegs, denn dieselben Mechanismen lassen sich auch auf jedes andere Content-Management-System übertragen. Doch hat sich die Blogosphäre stets aufgeschlossen gegenüber neuen Technologien gezeigt, und so hofft man, dass viele Blogger ihre Inhalte zukünftig mit dieser Technik strukturieren werden und damit der Idee zu einem guten Start verhelfen.

GRDDL verknüpft Microformats mit dem Semantischen Web GRDDL steht für „Gleaning Resource Descriptions from Dialects of Languages“. Die Spezifikation des W3C beschreibt einen Mechanismus, wie sich aus XML-Dokumenten zum Beispiel mittels einer XSLT-Transformierung Metainformationen zusammenklauben („gleaning“) und zu einer RDF-Beschreibung zusammensetzen lassen. Diese lassen sich dann unter anderem mittels SPARQL abfragen. Das W3C stellt sieben verschiedene Anwendungsszenarien für die GRDDL-Spezifikation vor. Ein wesentliches Einsatzgebiet von GRDDL soll die Extraktion von Microformats-Daten aus XHTML-Dokumenten sein. Hierfür erweitert der Verfasser den Kopf (head-Element) des XHTML-Dokuments um ein profile-Attribut, dessen Wert (eine URL) das Dokument als GRDDL-konform kennzeichnet. Ein untergeordnetes link-Element mit dem Wert „transformation“ für das Attribut rel verweist schließlich auf das XSLT-Stylesheet, das ein so genannter „GRDDL-aware Agent“ verwendet, um die Transformierung des XHTML-Dokuments in eine RDF-Beschreibung anzustoßen. Angedacht sind auch Agenten für den OpenDocument-Standard oder die Atom-Spezifikation. Bisher liegt GRDDL nur als Working Draft vor und noch fehlen Anwendungen, vor allem Browser, die GRDDL unterstützen.
Fazit

Klein sein ist kein Manko, sondern Mode. So haben die Vereinten Nationen das Jahr 2005 zum Jahr der Mikrokredite ausgerufen und im Jahr 2006 erhielt ihr Erfinder dafür den Nobelpreis. Soweit wird es bei den Mikroformaten zwar nicht kommen, aber 2007 könnte ihr Jahr werden. Dann prangt im Internet Explorer 7.x und Firefox 2.x neben dem bekannten RSS-Logo womöglich auch das Microformats-Logo. Ob der Structured-Blogging-Initiative das gleiche positive Schicksal beschieden ist, hängt nicht von technischen Faktoren ab, sondern ob, wie und wann die namhaften Unterstützer, welche die Initiative listet, ihre Unterstützung in tatsächlichen Programmfunktionen realisieren und damit die notwendige Aktivierungsenergie leisten.

Martin Szugat schreibt, bloggt und spricht über XML und Social Software. Bei Fragen oder Kritik erreichen Sie ihn unter Martin.Szugat[at]GMX.net oder auf www.aboutxml.de.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -