In den letzten Tagen hat Facebook einige so spannende Ankündigungen gemacht, dass ich sogar kurz mal meinen Umzugsstress unterbrechen und darüber bloggen muss 🙂
Die Facebook Open Stream API
Die erste Ankündigung betrifft Facebooks Activity Stream der spätestens seit dem letzten Redesign das zentrale Feature von Facebook geworden zu sein scheint. Mit der Open Stream API führt Facebook diese Strategie fort und öffnet die Aktivitäten auch für externe Applikationen und Services. Besonders lobenswert ist, dass Facebook neben einer proprietären API (zum lesen und schreiben) auch einen Atom-Feed+Activity Extension1 zum weiterverarbeiten des Activity Streams anbietet. Leider ist aber auch der Atom-Feed über den Facebook-Authentifizierungsprozess geschützt und kann dadurch nicht ohne weiteres mit z.B. einem Feedreader abonniert werden.
Dass Facebook die proprietäre Open Stream API entwickelt, statt die OpenSocial RESTFul API einzusetzen ist leider zu verstehen, immerhin ist OpenSocial als Googles Antwort auf die Facebook-Apps entstanden. Schade!
OpenID Login
Als Facebook letztes Jahr der OpenID-Foundation beigetreten ist, um sie speziell in Sachen Usability/User Experience zu unterstützt, hatte ich natürlich große Hoffnung, dass Facebook in naher Zukunft auch selbst auf OpenID umstellen würde. Seit Montag ist jetzt klar, dass Facebook an einem OpenID-Login arbeitet, der hoffentlich auch irgendwann ein fester Bestandteil von Facebook-Connect wird.
Aber Facebook wäre nicht Facebook, wenn sie einfach nur einen klassischen OpenID-Login umsetzen würden. Wie Carsten Pötter auf SpreadOpenID beschreibt, plant Facebook eine Art OpenID-Auto-Discovery:
Facebook will automatically check to see if users have logged into any OpenID account when they hit Facebook.com, and give them the option to automatically login to Facebook without entering new information.
Leider ist dieses Feature, wohl nicht global für alle OpenID-Provider und definitiv nicht ohne Directed Identity möglich… aber man wird sehen (vielleicht spinn ich hier im Blog demnächst mal ein paar Szenarien (Worst-Cases) durch).
1 Die Atom Activity Extensions erweitert die Atom Spezifikation um eine Aktivitäten-Syntax. Die Idee entstand im Rahmen des DiSo-Projekts und wird unter anderem auch schon von MySpace und YIID unterstützt. Darauf werde ich demnächst sicherlich noch etwas detaillierter eingehen.
Ich denke auch, dass das Auto-Detect nur mit Directed Identity funktionieren wird. Habe deshalb auch mal nur von großen Providern geschrieben (bin mir aber von der Technik her nicht immer so sicher, weißt Du ja, und habe das mal weg gelassen). Aber mal abwarten, wie das dann live tatsächlich aussieht.
Spannend ist es allerdings schon, dass Facebook erst mal Relying Party wird. Ich hätte Geld darauf verwettet, dass es erst einmal Provider wird.
So als Nichttechniker frage ich mich auch, ob FB Connect überhaupt als Relying Party funktionieren kann oder ob dafür halt die Providerfunktionalität her muss. Ich sehe deshalb bei FB Connect eher erst mal OAuth als OpenID.
Ich hoffe nur, dass Facebook das Auto-Detect Feature nur als ein optionales Gimmik zusätzlich zu einem klassischen OpenID Login und OpenID nicht zweckentfremdet.
Meinst du nicht, Facebook würde als OpenID-Provider unnötige Konkurrenz zum eigenen Produkt (Facebook Connect) schaffen?
Das mit FB-Connect is so ne Sache… Technisch möglich sollte eigentlich alles sein, spannend wäre nur ob und wie Facebook OpenID als Alternative zum jetzigen Login einsetzt.
(Sorry für die verspätete Antwort, aber ich bin gerade ein wenig im Umzugs-Stress)
Wie geschrieben, habe ich keine Ahnung wie das Auto-Detect technisch genau funktionieren kann. Nur bin ich fest davon überzeugt, dass Authentifizierung über OpenID zukünftig nur noch über irgendwelche Auto-Detect Mechanismen laufen wird. Die Masse der User wird bei großen Providern sein, die sowohl die „klassische“ OpenID anbieten als auch ihre E-Mail Adressen zu OpenIDs switchen (Google, Yahoo!, Microsoft, GMX (ok, kleiner Scherz)). OpenID als solches wird nicht mehr für User sichtbar sein. Und wenn man dann erst einmal bei einer Relying Party eingeloggt ist, wird das ganze eh über Cookies erkannt und der User sieht nur noch diesen Provider.
Warum würde sich Facebook mit OpenID selbst Konkurrenz schaffen? Da wird einfach der Authentifizierungsteil von FB-Connect durch OpenID ersetzt und fertig ist. Damit wäre Facebook der erste Provider, der den ganzen Krempel wie Kontakte, News Feed,… gleich mitbringt. Ist dann zwar nicht Portable Contacts und Activity Streams, aber wen interessiert das schon. 😉
Momentan wird FB-Connect in vielen Implementationen zudem eh nur zum Einloggen genutzt. Der Rest der Möglichkeiten bleibt ungenutzt (s.a. das Posting von Silke: http://blog.paulinepauline.de/2009/05/04/einloggen-mit-facebook-connect/). Also OpenID pur. 🙂