The desire for better Web APIs is what motivated the creation of JSON-LD, not the Semantic Web. If you want to make the Semantic Web a reality, stop making the case for it and spend your time doing something more useful, like actually making machines smarter or helping people publish data in a way that’s useful to them.

JSON-LD and Why I Hate the Semantic Web

Manu Sporny über seine Aversion gegen das Semantic Web und wie (bzw. warum) er JSON-LD ausgerechnet in diesem Umfeld entwickelt hat.

mf-whitemicroformats.org wird 7… Alles Gute!

Zur Feier des Tages hat sich Frances Berriman die Mühe gemacht, die letzten 7 Jahre zusammen zu fassen und einen Ausblick auf die kommenden Änderungen zu geben.

Da ich, seit ich bloggen kann, schon über Microformats berichte, will ich den Rückblick nicht weiter kommentieren und nur auf die kommende Weiterentwicklung ein wenig eingehen.

Microformats und HTML5

Seit dem ich das letzte mal über diese Kombination geschrieben habe, hat sich leider nicht viel geändert… Die Microformats Community weigert sich weiterhin auf Microdata oder RDFa „upzugraden“ und hält krampfhaft an den semantischen classes fest. Nichtsdestotrotz macht HTML5 mit <time /> und <data /> dem leidigen Thema abbr-design-pattern bzw. value-class-pattern ein Ende. Statt Meta-Informationen umständlich in HTML-Attributen zu verwurschteln, können Termine und GEO Daten bald sauber dargestellt werden:

<time class="dtstart" datetime="2006-09-23">a Saturday</time>
...
<data class="geo" value="37.386013;-122.082932" >Mountain View</data>

Immerhin! Mehr dazu im microformats-wiki.

Namespaces

Die wohl größten Veränderungen sind aber die geplanten Pseudo-Namespaces welche hauptsächlich das Parsen von Microformats vereinfachen sollen. Microformats waren bisher sehr fehleranfällig, da sie sich die class-Attribute mit CSS und JavaScript zu teilen hatten. Es besteht immer die Gefahr dass rein für CSS genutzte Attribute fälschlicherweise für Microformats genutzt wurden oder dass die semantischen Class-Names einem Re-Design zum Opfer fielen. Die Prefixes ‚h-‚, ‚p-‚, ‚u-‚, ‚dt-‚ und ‚e-‚ sollen das Zukünftig verhindern und ein generisches parsen ermöglichen.

h-‚ kennzeichnet einen Microformats-Container

Bisher ist die Microformats Community etwas inkonsequent mit der Benennung ihrer Formate… Mal mit beginnendem „v“, mal mit „h“ und in seltenen Fällen auch ohne oder mit anderem Buchstaben:

  • hCard: class="vcard"
  • hAtom: class="hfeed"
  • adr: class="adr"
  • xFolk: class="xfolkentry"
  • XOXO: class="xoxo"

Mit den Prefixes soll das jetzt alles vereinheitlicht werden:

  • hCard: class="h-card"
  • hAtom: class="h-feed"
  • adr: class="h-adr"

p-‚ zeichnet Properties aus

Die mit ‚p-‚ gekennzeichnet Properties sollten, wenn nicht expliziert definiert, als Plain-Text interpretiert werden (kein HTML). Ein klassisches Property ist beispielsweise der Name einer Person:

<div class="h-card">
 <span class="p-fn">Tantek Çelik</span>
</div>

e-‚ zeichnet Rich Text aus

Das ‚e-‚ Prefix könnte als Abkürzung für „element tree“, „embedded markup“, oder „encapsulated markup“ stehen und kann im Gegansatz zu den Properties auch HTML-Code beinhalten. In hAtom könnte der entry-content zu e-entry-content und bei der hReview die description zur e-description werden.

dt-‚ für DateTime und ‚u-‚ für URL

Aus dtstart wird dt-start und alle URL-Felder bekommen ein vorgestelltes ‚u-‚:

<a class="u-url" href="...">...</a>

<img class="u-photo" src="..." />

Die URL kann in bestimmten Situtionen auch weg fallen, dazu aber im nächsten Beispiel mehr…

Simpel und unabhängig vom Format

Zukünftig soll es auch nicht mehr so umständlich sein Informationen semantisch auszuzeichnen. Will man derzeit einen simplen Link mit einer hCard versehen, muss man ihn wie folgt aufblähen:

<div class="vcard">
 <a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
</div>

Nach der Überarbeitung soll folgendes reichen:

<a class="h-card" href="http://tantek.com/">Tantek Çelik</a>

Dabei gilt die Regel: Wenn es sich bei (z.B.) einer vCard um einen Link oder ein Bild handelt, kann man auf ‚u-*‚ und ‚p-name‚ verzichten… so ungefär zumindest 😉

Mehr dazu im Microformats-Wiki: implied properties

Außerdem kommt mit v2 eine Anleitung wie Microformats auf andere Formate wie JSON gemappt werden sollen. Aus…

<a class="h-card" href="http://benward.me">Ben Ward</a>

wird…

[{
  "type": ["h-card"],
  "properties": {
    "name": ["Frances Berriman"] 
  }
}]

Fazit

Ich bin mir noch nicht ganz sicher was ich von den geplanten Änderungen halten soll… die Nutzung der neuen HTML5 Tags und die Vereinfachung und Vereinheitlichung der Formate finde ich gut und notwendig… Auch eine einheitliche Regel, wie Microformats in anderen Formaten abgebildet werden sollen (z.B. JSON) macht durchaus Sinn (warum das Sinn macht, hier)… aber den Pseudo-Namespaces kann ich bisher nichts abgewinnen! Der „Namespace“ sorgt zwar für mehr Qualität beim Parsen der Microformats, aber auf Kosten des semantischen HTMLs.

Microformats sollten weiterhin für schönes, semantisches HTML sorgen und mehr nicht. Geht es um maschinenlesbaren Code, sollte man mit der Zeit gehen und auf Microdata oder RDFa setzen. Ob man seinen Quelltext an Microformats v2 anpasst oder mit Schema.org auszeichnet sollte kaum mehr Aufwand sein.

…Übrigens: Wer noch mehr über die Vorteile von Microdata gegenüber Microformats lesen will, sollte sich die Ausgabe 10 des Webstandards-Magazin durchlesen oder die Reihe „Microdata – wie Microformats bloß besser…“ hier im Blog!

Ich habe mich letzte Woche ein wenig mit Carsten über das „scheitern“ des OpenWebs unterhalten… wen es interessiert und wer mit diskutieren will, sollte am besten bei Marcel vorbei schauen, der hat den Dialog schön zusammengefasst und um ein paar eigene Gedanken erweitert.

Marcels Fazit:

Neben dem Chaos, das das Einbinden offener Standards, oder Möchte-gern-Standards für Entwickler unattraktiv macht, gibt es noch ein weiteres Problem, dem sich das Open Web, das dezentrale Web, gegenüber sieht: Die Protagonisten, also die Fürsprecher und die, welche die Grundlagen entwerfen und weiter entwickeln, haben es bis dato versäumt, einen effektiven Hebel zu erschaffen, um Anreize für alle Seiten zu generieren, die dann zu den virtuosen selbstverstärkenden Effekten führen.

Die im Gespräch angemerkte Kurzlebigkeit der Standards ist das Gegenteil eines effektiven Hebels: Sie treibt die notwendige Entwicklerseite frustriert weg.

Ich bin im übrigen mittlerweile fast der Meinung, dass jede signifikante Weiterentwicklung von Webstandards von Unternehmen wie Google und Facebook kommen wird und muss. Denn in deren Produkten steckt der Hebel schon drin. Das bringt uns allerdings wieder zurück zu den Argumenten von Bradbury zur Abhängigkeit bei Web-APIs.

Obwohl ich das immer noch nicht so richtig wahr haben will hat Marcel mit seiner Aussage wohl den Nagel auf den Kopf getroffen. Ein aktuelles Beispiel: Schema.org! Ich beschäftige mich seit mehr als 5 Jahren mit Microformats und RDFa… für mich ist Schema.org einfach nur ignorant!
Für die meisten Webentwickler ist Schema.org aber der erste Berührungspunkt mit Websemantiken, wieso sich also weiter mit Altlasten herumplagen. Google, Microsoft und Yahoo! einigen sich auf Schema.org… ein simples Format und ein valider Usecase. Damit wird Schema.org zum neuen defacto Standard ohne je den Anspruch darauf erhoben zu haben:

schema.org is not a formal standards body. schema.org is simply a site where we document the schemas that three major search engines will support.

Der Punkt ist: Was bringens uns „Standards“ von W3C und IETF wenn sie niemand unterstützt. Wir brauchen Formate die ein Bedürfnis decken und von der breiten Masse akzeptiert werden… ob man sie jetzt „Standard“ nennt oder nicht!

(Um dieses Thema geht es übrigens auch in meiner Kolumne im nächsten Webstandards Magazin.)

Was das OpenWeb so kompliziert macht ist das Wörtchen „alternativ„!

  • OpenID Discovery basiert auf Meta-Tags, alternativ funktioniert aber auch XRDS(-Simple)/Yadis oder Webfinger.
  • OpenID stellt über SREG Profilinformationen bereit, alternativ aber auch über Attribute Exchange.
  • RDFa 1.1 ist folgendermaßen aufgebaut:
    <html
      prefix="foaf: http://xmlns.com/foaf/0.1/"
      >
      ...
      <span property="foaf:name">John Doe</span>
      ...
    </html>

    alternativ aber auch:

    <div vocab="http://xmlns.com/foaf/0.1/" about="#me">
      <span property="name">John Doe</span>
    </div>

    …oder:

    <div profile="http://xmlns.com/foaf/0.1/" about="#me">
      <span property="foaf:name">John Doe</span>
    </div>
  • OpenSocial, oEmbed, ActivityStrea.ms und host-meta benutzen JSON, alternativ aber auch XML
  • OAuth verschlüsselt mit HMAC-SHA1, alternativ aber auch mit RSA-SHA1 oder PLAINTEXT

To be continued…

Wie viel Komplexität man sich sparen könnte wenn man sich auf eine Variante beschränken würde.

Pfefferles OpenWeb: Microformats V2

Seit Freitag gibt es wieder eine neue Ausgabe des Webstandard-Magazins, mit dem Fokus auf Communities.

…als hätte ich es gerochen, passt das Thema meiner Kolumne recht gut zu den aktuellen Diskussionen um Microformats, Microdata, RDFa und schema.org. Noch genauer: Es geht um die Zukunft der Microformtats.

Dieses Jahr feierten die Microformats ihren 8. Geburtstag. In diesen 8 Jahren haben sich mehr als zwei Milliarden hCards im Yahoo! Index angesammelt und die Mikroformate dominieren mit 94% Googles rich snippets (im Verhältnis zu RDFa und Microdata). Trotz allem sind Microformats eine Übergangslösung und es wird Zeit für einen richtigen Standard!

Wie sieht die Zukunft der Microformats aus, was ist ist geplant, machen Microformats neben Microdata und RDFa überhaupt noch Sinn usw.

Also los… kaufen! Zack, zack!

Google, Yahoo! und Bing haben heute angekündigt, dass sie beim Thema Websemantics zukünftig zusammen arbeiten werden und sich auf einen gemeinsamen Standard einigen wollen (wie vorher auch bei den Sitemaps, robots.txt, um.).

Auf schema.org findet man eine Übersicht alle Schemas die die Suchgiganten in Zukunft unterstützen werden:

This site provides a collection of schemas, i.e., html tags, that webmasters can use to markup their pages in ways recognized by major search providers. Search engines including Bing, Google and Yahoo! rely on this markup to improve the display of search results, making it easier for people to find the right web pages.

Was mich besonders freut: Die Schemas basieren alle auf Microdata und wer meinen Blog regelmäßig verfolgt wird wissen, dass ich das Format sehr schätze! Hier ein Beispiel wie eine Person mit dem neuen Schema aussieht:

<div itemscope itemtype="http://schema.org/Person">
  <span itemprop="name">Jane Doe</span>
  <img src="janedoe.jpg" itemprop="image" />
</div>

Soweit so gut, aber… es werden WIEDER einmal weder bestehende Microformats, noch RDFa Schemas auf Microdata portiert, was dazu führt dass mir spontan 5 unterschiedliche Formate einfallen um Personen zu beschreiben: hCard (Microformats), Data-Vocabulary (RDFa- und Microdata-Beschreibung genutzt von den rich-snippets), FoaF (RDFa), vCard (RDFa), schema.org (Microdata).

Die Microformats-Community hat von Anfang an eines richtig gemacht: Es gibt nur eine Stelle an der Microformats definiert werden und man muss einen relativ langwierigen Prozess befolgen um ein neues Format zu definieren. Das führt zwar dazu dass es bisher nur eine handvoll Schemas veröffentlicht wurden, diese aber wohl definiert sind und in der Regel auf bisherigen Formaten aufbauen. Die hCard ist beispielsweise ein 1:1 Abbild der vCard.

Schema.org ist zwar eine ganz nette Idee aber man hat leider versäumt sich mit der Microformats-, RDFa-, RDF- Community zusammenzusetzen und einen gemeinsamen Konsens zu finden!

Wäre folgendes Beispiel so viel komplizierter?

<div itemscope itemtype="http://microformats.org/profile/hcard">
  <span itemprop="fn">Jane Doe</span>
  <img src="janedoe.jpg" itemprop="photo" />
</div>

…oder das?

<div itemscope itemtype="http://www.w3.org/2006/vcard/ns">
  <span itemprop="fn">Jane Doe</span>
  <img src="janedoe.jpg" itemprop="photo" />
</div>

Das Format ist letztendlich Geschmackssache… der eine mag lieber die einfachen Microformats, der andere steht mehr auf RDFa und ich bevorzuge Microdata, man sollte sich aber endlich auf ein einheitliches Schema einigen!

Yahoo! zählt knapp zwei Milliarden hCards in ihrem Index und trotzdem diktiert man Webseitenbetreibern etwas komplett anderes auf…

Own Your Data

Am Tag als delicious starb machten sich alle (zu recht) sorgen um ihre Bookmarks und es entfachte eine kleine Diskussion unter Geeks, wo denn die eigenen Daten am sichersten wären: Jeremy Keith verwaltet seine Bookmarks nun selbst und schickt nur Kopien an delicious & Co., Tantek Celik tweetet auf seinem eigenen Webspace und sendet nur eine Kopie an Twitter, …
Früher hatte man seine Daten in Sozialen Netzen und benutzte APIs um sie in die Sidebar des eigenen Blogs zu bekommen und jetzt läuft alles andersrum?

HTML is the new HTML5, W3C Introduces an HTML5 Logo

HTML5 heißt jetzt nur noch HTML und zur Feier der Umbenennung spendiert das W3C ein neues HTML5 Logo 🙂 Großartig!

Eight HTML5 Drafts Updated

…außerdem wurden die Working Drafts von RDFa 1.1 und Microdata angepasst.

2011 Steering Committee Election Results

Die DataPortability Org. hat die neuen Chefs gewählt und bekannt gegeben… Mr. Topf is leider raus 🙁

Nach etwas mehr als zwei Jahren und diversen Hosting-Problemen ist Martin McEvoys microformats transformr jetzt unter microform.at erreichbar.

Martin McEvoys tweet

Aber nicht nur die Domain hat sich geändert. Martin (aka Weborganics) hat noch einmal extrem viel Arbeit in den transformr gesteckt, so dass er mittlerweile nahezu alles transformiert was sich so im HTML-Quellcode versteckt:

…und die Liste der Ausgabe-Formate ist mindestens ebenso eindrucksvoll.

Meine Favoriten sind der (von Martin überarbeitete) hCard2QRCode-transformr und der SPARQL Endpoint über den man vollen Zugriff auf alle zuvor transformierten Seiten hat.

Vergesst Optimus, H2VX, microformatic und ufXtract!

Ich hab vor Ewigkeiten mal einen Themenschwerpunkt: Websemantics im SELFHTML-Wiki angelegt… Das Wiki wäre doch der perfekte Platz für DIE deutsche Microformats/RDFa/Microdata-Standardreferenz! (wenn nicht bei SELFHTML wo dann?)

Vielleicht hat ja jemand Lust mir bei der Befüllung etwas zu helfen (ich hab meine eigene freie Zeit etwas überschätzt)? Eventuell spendet ja auch jemand einen schon fertigen Artikel/Blogbeitrag den wir als Basis nehmen könnten.

Chris Messina erklärt XAuth
XAuth ist eine Art Cross-Domain Cookie mit dem man Versucht die Flut an Share, Like und Login Icons auf ein Minimum zu reduzieren.

» XAuth – an introduction
» Offizielle XAuth Seite

OExchange einfach erklärt
OExchange ist ein offenes Protokoll um eine beliebige URL mit einem beliebigen Service im Web zu teilen. Die Demo zeigt die Funktionsweise von OExchange und welche Vorteile sich in Kombination mit z.B. XAuth ergeben.

» OExchange in action
» Offizielle OExchange Seite

Firefox Sync
Mozilla benennt das Labs-Projekt Weave Sync in Firefox Sync um und kündigt an, den Sync-Mechanismus in eine der nächsten Firefox Versionen fest zu integrieren. Im Zuge meiner Recherche bin ich außerdem noch auf einen Wiki-Artikel gestoßen, der erklärt wie man den Firefox Sync zukünftig auch mit OpenID oder OAuth koppeln könnte:

The user must have a way of proving to a third-party service that they really are who they claim, and for the Mozilla service to provide information back to the third-party service that access has been granted. The OpenID and OAuth protocols provide what we need here, and the OpenID/OAuth hybrid flow has been described.

Once this is done, the third party service will be able to establish a relationship with the Weave Sync service for a user, without the user disclosing his or her password.

» Stay in Sync With Your Firefox
» Firefox Sync Graduates from Mozilla Labs
» Secure Data Sharing

RDFa 1.1 – Alles neu, alles anders
Dank HTML5 (ohne X) wurde RDFa noch einmal grundlegend überdacht. In der Version 1.1 werden die RDF-Vocabularies beispielsweise nicht mehr über Namespaces definiert. Früher:

<a xmlns:cc="http://creativecommons.org/ns#"
   rel="cc:license"
   href="http://creativecommons.org/licenses/by-nc-nd/3.0/">
</a>.

Jetzt:

<a prefix="cc: http://creativecommons.org/ns#"
   rel="cc:license"
   href="http://creativecommons.org/licenses/by-nc-nd/3.0/">
</a>.

Grund der Änderung: HTML kennt im Gegensatz zu XHTML keine Namespaces und RDFa soll sowohl in HTML5 als auch in XHTML5 integriert werden.

» RDFa Core 1.1

RDFa checker
Toby Inkster hat einen sehr umfangreichen RDFa checker veröffentlicht:

It checks your web page for RDFa and displays any data found there. It also compares your data against the published recommendations from major consumers/users of RDFa data, to see how well your data matches their requirements.

» check rdfa