W3C Community Logo

(Kleiner Nachtrag zu der „OAuth ist tot“ Kolumne in der SCREENGUIDE Ausgabe 15 um zu zeigen, warum gerade das W3C auch für Community Formate durchaus nützlich sein kann)

Vor ein paar Wochen kam eine E-Mail mit der Bitte, an einer Umfrage zu den W3C Community and Business Groups teilzunehmen und das hat mich daran erinnert, dass ich mich bisher noch gar nicht zu dem Thema geäußert habe… das hole ich hiermit kurz nach!

Ich beschäftige mich ja jetzt schon eine ganze Weile mit dem Web und seinen diversen Formaten, Standards, Techniken, Spezifikationen usw. usf. Leider ist das Web aber ziemlich vergänglich und eine Menge guter Ideen und Formate sind, aus Mangel an Interesse, mangelndem Durchhaltevermögen, nicht genug Ruhm oder einfach nur aus kurzfristigen „Publicity“ Interessen wieder spurlos verschwunden.

Hier ein paar Beispiele:

  • MicroID – Ein simples Format um das leidige Thema „Webseite verifizieren“ zu vereinheitlichen. Domain nicht mehr erreichbar!
  • POSHFormats – POSHFormats wollte alle Websemantiken sammeln die es leider nicht zu einem Microformat geschafft haben. Domain nicht mehr erreichbar!
  • MicroJSON – Ein Projekt welches sich mit der JSON-Serialisierung von Microformats beschäftigt hat. Zum Glück hat die Diskussion einen Weg ins Microformats-Wiki gefunden. Domain nicht mehr erreichbar!
  • Portability Policy – Das DataPortability Vorzeige-Projekt wollte eine vereinheitlichte Policy für die Portability von Daten schaffen. Domain nicht mehr erreichbar!
  • Microsyntax – Eine Sammlung von Microblogging Syntaxen wie z.B. das „@username“ oder „RT“. Domain nicht mehr erreichbar!
  • AXSchema.org – Die Seite wollte die Attribute für OpenIDs Attribute Exchange sammeln. Domain nicht mehr erreichbar!
  • Monkeyformats.org – Eine etwas schräge Idee, Webseiten per Greasemonkey-Scripts mit Microformats zu versehen um sie dann mit Microformats-Plugins interpretieren zu können. Alleine wegen dem Namen aber schon großartig :(|)! Domain nicht mehr erreichbar!
  • Bioformats – Mikroformate um biologische Daten abzubilden. Domain wurde verkauft!

…um nur einige zu nennen. Ob jetzt alle Projekte gut waren, darüber lässt sich streiten, aber es ist auf alle Fälle schade dass sie mittlerweile gar nicht mehr erreichbar sind. Viele Ideen waren vielleicht zu früh gedacht oder das Problem, das sie versuchten zu beheben, war einfach noch nicht groß genug. Oftmals braucht es vielleicht einfach nur ein wenig mehr Zeit! Lange Rede, kurzer Sinn: Die W3C Communities bieten genau für diese Community Formate die ideale Plattform:

A W3C Community Group is an open forum, without fees, where Web developers and other stakeholders develop specifications, hold discussions, develop test suites, and connect with W3C’s international community of Web experts. Community Groups may produce Specifications; these are not standards-track documents but may become input to the standards process. For instance, a Community Group might gather to work on a new technical specification, or convene to have discussions about a tutorial for an existing specification.
W3C FAQ

Auch wenn aus den Formaten kein „Standard“ werden sollte, so sind sie beim W3C doch besser aufgehoben und HOFFENTLICH auch für längere Zeit erreichbar! Gerade Junge Projekte wie „Unhosted Web“ oder „Federated Social Web“ scheinen die W3C Communities gut anzunehmen und auch Facebook forciert eine „Mobile Web“ Gruppe (die jetzt vielleicht nicht mehr so aktiv betrieben wird ;)).

Vielleicht macht sich jemand ja mal die Mühe und zieht zumindest die MicroID und die Portability Policy um!

oauthdead


(das Bild hab ich mir von hueniverse.com ausgeliehen)

Am Freitag (also morgen) gibt’s mal wieder ’ne neue SCREENGUIDE mit dem Fokus auf „Social Commerce“… In meiner Kolumne geht es diesmal um OAuth und das Dilemma dass offene Standards, wenn sie einmal vom W3C oder der IETF betreut werden, zu wahren Monstern mutieren.

Open Web Technologien können sich bald nur noch die Googles, Microsofts, Yahoos und Facebooks des Internets leisten! OpenID Connect mutiert von einem simplen Konzept zu einer 8 Dokumente schweren Spezifikation, RDFa ist so kompliziert, dass es einer “light” Version bedarf und Eran Hammer legt sein Amt als Editor von OAuth 2.0 nieder, da ihm der Standard zu „Enterprise“-lastig wird.

KAUFEN! LESEN! FEEDBACK GEBEN!

OAuth 2 Logo

So, jetzt muss ich mich auch mal zu der OAuth Geschichte äußern! Wer nicht weiß warauf ich anspiele, der sollte sich zuerst mal Eran Hammers Blogpost durchlesen: OAuth 2.0 and the Road to Hell.

Auf alle Kritikpunkte von Eran Hammer möchte ich gar nicht eingehen… Ich kann seine Kritik durchaus verstehen und teile sie auch weitestgehend. Auch ich bin generell der Freund von schlanken Spezifikationen und hasse Standards die versuchen alles abzudecken und jedes Format zu unterstützen.

Abgesehen von den ganzen Sicherheitsaspekten und dem Fokus auf „Enterprise“-Anwendungen welche Eran Hammer in seinem Artikel erwähnt, hat mich die Fehlende Interoperability von OAuth 2 zuerst am Meisten genervt:

OAuth 2.0 provides a rich authorization framework with well-defined security properties. However, as a rich and highly extensible framework with many optional components, on its own, this specification is likely to produce a wide range of non-interoperable implementations.

Mein erster Gedanke: Na toll! Man macht sich hier Gedanken über dezentrale Netzwerke, für die man einfache und simple Spezifikationen braucht und Familie OAuth released ein „Framework“…

Aber eigentlich ist ja gerade das auch eine riesen Chance für das Web! Während OpenID Connect bestimmt, dass jeder Provider die komplette Spezifikation implementieren muss:

The OpenID Connect Basic Client profile only documents Clients using the Code Flow. OpenID Providers MUST support both flows. OpenID Providers should consult the OpenID Connect Standard 1.0 Specification.

bleibt es jedem frei gestellt welchen Teil von OAuth 2 er umsetzt… Also warten wir doch einfach ab, bis das „Framework“ fertig ist, suchen uns die für das Web eleganteste Variante raus, dokumentieren sie schön und fertig ist „OAuth 2 – The Web Edition„.

…nicht perfekt, aber es könnte auch schlimmer sein!

Durch einen Artikel auf ReadWriteWeb (5 Great YQL One-Liners) bin ich nach langer Zeit mal wieder auf Yahoos YQL-Plattform gelandet und habe nicht schlecht gestaunt, was die Yahoo Query Language mittlerweile alles leistet (mehr über YQL hier). Ich hatte z.B. keine Ahnung, dass man auch eigene table definition schreiben kann und dass es auch schon eine ziemlich fleißige Community um diese Definitionen gibt.

Meine Favoriten sind:

Microformats

select * from microformats where url='http://wait-till-i.com'Code-Sprache: JavaScript (javascript)

…findet diverse Microformats. » Direct Link

Mehr dazu hier: SELECT * FROM microformats

OpenID

select * from openid.discover where normalizedId="http://www.yahoo.com/"Code-Sprache: JavaScript (javascript)

…klassische OpenID-Discovery. » Direct Link

select * from openid.yadis where uri="http://www.yahoo.com/"Code-Sprache: JavaScript (javascript)

…YADIS-Discovery. » Direct Link

…und es gibt noch ’ne Reihe anderer OpenID Queries… es sollte sogar möglich sein einen kompletten OpenID-Client mit YQL zu bauen.

OAuth

select * from oauth where uri='http://example.com' and consumerKey='asd123' and consumerSecret='zxc456' and callbackUri='http://example.com';Code-Sprache: JavaScript (javascript)

…sendet einen OAuth-Request. » Direct Link

pubsubhubbub

insert into pubsubhubbub.publisher (hub_url, topic_url) values ('http://pubsubhubbub.appspot.com/publish', 'http://developer.yahoo.com')Code-Sprache: JavaScript (javascript)

…sendet ein Update an das angegebene Hub. » Direct Link

Webfinger

select * from webfinger where account='pfefferle@gmail.com'Code-Sprache: JavaScript (javascript)

…Webfinger-Discovery. » Direct Link

OpenSocial

select * from opensocial.peopleCode-Sprache: JavaScript (javascript)

…sendet eine OpenSocial People-Anfrage. » Direct Link

Social Graph API

select * from socialgraph.lookup where q = "notiz.blog" AND edo = "1"Code-Sprache: JavaScript (javascript)

…ermöglicht Zugriff auf Googles Social Graph API. » Direct Link

Atom

select * from atom where url='https://notiz.blog/feed/atom'Code-Sprache: JavaScript (javascript)

…interpretiert Atom-Feeds mit allen möglichen Erweiterungen, beispielsweise der ActivityStreams-Extension. » Direct Link

Vielleicht bekomm‘ ich die Tage ja auch mal eine Query zusammen 🙂

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.

Hier klicken, um den Inhalt von Vimeo anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von Vimeo.

» 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.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

» 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>.Code-Sprache: HTML, XML (xml)

Jetzt:

<a prefix="cc: http://creativecommons.org/ns#"
   rel="cc:license"
   href="http://creativecommons.org/licenses/by-nc-nd/3.0/">
</a>.Code-Sprache: HTML, XML (xml)

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

Als Erstes mal ein frohes, neues Jahr euch allen… Ich hoffe ihr habt die Feiertage gut überstanden 🙂

Es war die letzten Monate ja etwas ruhiger hier, aber das soll sich jetzt wieder ändern (erster guter Vorsatz fürs neue Jahr!).

Resumé

Microformats

So, jetzt aber erstmal ein kleiner Rückblick auf 2009… ich hatte mir ja vorgenommen mich wieder etwas mehr mit Microformats und dem lowercase semantic web zu beschäftigen. Das hat, glaube ich, ganz gut hin gehauen:

… wenn ich euch eine Empfehlung geben dürfte:

Microformats Top: Ich bin seit Ende letzten Jahres ein stolzer Microformateer 🙂
Microformats Flop: Das Angekündigte „The weekly microformat“ ging total in die Hose und ich habe nicht mal einen Artikel dazu veröffentlicht 🙁 (vielleicht klappt’s ja dieses Jahr)

APML

APML kam letztes Jahr leider nicht so gut weg, es gibt zwar einen OpenWeb-Podcast zu dem Thema und eine erste Version von NoisePress (leider noch keinen Blogpost) aber das war es auch schon.

Vorsatz für 2010

Was ich dieses Jahr so alles vor habe:

  • Bei APML tut sich gerade wieder eine ganze Menge und die neue Version (1.0) wird nochmal komplett überarbeitet. Ich habe mir vorgenommen ein wenig bei der Weiterentwicklung von APML zu helfen und das NoisePress mal zu Ende zu führen.
  • Ich hoffe auch in 2010 die OpenWeb Kolumne für das Webstandards-Magazin weiter führen zu dürfen (die nächste Ausgabe ist zumindest schon gesichert 😉 ).
  • Neue, offene Standards die ich ganz spannend finde und mit denen ich mich dieses Jahr sicherlich etwas mehr beschäftigen werde, sind das Salmon Protokoll, Webfinger, XRD und OAuth WRAP.

Außerdem natürlich fleißig weiter OpenWeb podcasten und alle erwähnten offenen Standards in yiid einbauen 😉