Lasst uns das Web semantisch machen!

Ich bin ja ein Freund von Community-getriebenen Projekten. Außerdem finde ich das Semantische Web unheimlich spannend. Im Wesentlichen gibt es dazu drei Projekte, um seine Homepage und Blog-Beiträge für Maschinen (wie Such-Crawler) auswertbar zu machen: RDFa, Microformats und Microdata. Ich möchte hier auf die neue Version von Microformats eingehen.

Was denkst du bei diesem Bild?

User testing
Flickr: User testing von Heremy Keith (CC-BY)

Antwort: Die Kekse bilden das Logo von microformats.

Für unsere Vereinshomepage habe ich mich das erste Mal nach Möglichkeiten umgesehen, wie ich Inhalte (such-)maschinenfreundlicher aufbreiten könne. Ich bin dabei schnell auf die oben genannten Punkte gestoßen.

RDFa ist zwar relativ weit verbreitet, bezieht sich in erster Linie aber auf XML-Dokumente, u.a. auch XHTML, was ja durchaus noch verbreitet ist. Ich möchte aber HTML5 nutzen.

Microdata hat gute Perspektiven, was Unterstützung angeht, wird es doch via schema.org von großen Suchmaschinen wie Google, Yahoo!, Bing oder Yandex im Rahmen von Schema.org mitentwickelt. Darüberhinaus wird es vom W3C im Rahmen von HTML5 standardisiert. Aber das ist bei mir der Knackpunkt: Ich will nicht unbedingt etwas nutzen, was Suchmaschinenhersteller entwickelt haben; ich möchte etwas verwenden, was auch andere Technologien Raum für Unterstützung lässt.

Kommen wir also zu Microformats. Dies entstand aus dem Bedürfnis heraus, dem Web die Bedeutung von Begriffen zu vermitteln, die ein Mensch aus dem Kontext heraus ableitet. Dabei sollten keine neuen Sprachkonstrukte eingeführt werden, wie das bei den anderen Techniken der Fall ist. Stattdessen hat man sich auf bisherige Attribute wie class oder value beschränkt. Mit der Verbreitung von HTML5 stehen nun eine Reihe weiterer Optionen zur Verfügung, denen in der zweiten Version Rechnung getragen wird.

Ein Beispiel, dass ich dem Ankündigungs-Blogbeitrag entnommen habe:  Nehmen wir an, wir möchten auf eine Person verlinken:

<a href="http://waterpigs.co.uk">Barnaby Walters</a>

Klassischerweise sah das Auszeichnen dann so aus:

<span class="vcard"><a class="fn n url" href="http://waterpigs.co.uk">Barnaby Walters</a></span>

Ziemlich umständlich, nicht wahr? Es ist nicht unbedingt intuitiv, wofür fn und n stehen. In einem größeren Projekt kann das auch schnell einmal dazu führen, dass diese Klassen entfernt werden, da sie keinen offensichtlichen Sinn (im Hinblick auf CSS oder JavaScript) erfüllen. microformats2 ist da wesentlich angenehmer zu lesen:

<a class="h-card" href="http://waterpigs.co.uk">Barnaby Walters</a> 

Easy as that! Den Rest sucht sich ein Interpreter aus dem Kontext zusammen. microformats2 setzt sehr stark auf implizite Eigenschaften, das heißt, anhand des benutzten Tags wird auf die jeweilige Bedeutung geschlussfolgert. In der aktuellen Version werden zudem Präfixe eingeführt, die oben erwähntes Szenario entgegenwirken sollen, da eine Klasse jetzt nicht mehr so schnell verwechselt wird.

Aber es wird noch besser! Wenn du deine Kontaktadressen und Kalenderdaten mit microformats auszeichnest, kannst du dir automatisch Visitenkarten (vcards) und ICS-Dateien generieren lassen! Schmeiß dazu einfach die URL in diese Seite: http://dev.h2vx.com/ (Erfahre mehr zu H2VX im Wiki oder bau dir dein eigenes).
Ich muss dazu aber leider anmerken, dass es noch nicht microformats2 spricht.

Jetzt muss ich nur noch schauen, ob und falls nicht, wann Zurb Foundation den neuen Standard unterstützt. Ansonsten wird bei denen gepatcht 🙂 Die Blogs sollte ich auch noch nachrüsten …

Wann benutzt du microformats? Oder bevorzugst du eine der anderen Technologien? Schreib mir dazu in den Kommentaren!

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s