Das (OpenWeb-) Thema, welches die letzten Tage die meisten Netizens beschäftigt hat war wohl die Veröffentlichung des Diaspora-Codes. Irgendwie kam das Tool dabei nicht ganz so gut weg. Hier ein paar Meinungen aus deutschen Quellen:

Lange hat es nicht gedauert, bis die ersten sicherheitsrelevanten Lücken aufgedeckt wurden. Wie The Register meldet, haben Experten bereits Möglichkeiten entdeckt fremde Accounts zu übernehmen, ohne Erlaubnis neue Kontakte aufzubauen oder Fotos zu löschen.

Entwickler haben sich den Code bereits genauer angesehen und sind enttäuscht: Diaspora ist eine einfache Rails App, mit der man Fotos hochladen kann“, zitiert Mashable den Entwickler J. Chris Anderson. Daraus könne man schließen, dass die Codebasis keinesfalls ausreicht, um daraus in den nächsten Monaten einen echten Konkurrenten für Facebook zu machen.

» t3nWelche Chancen hat die dezentrale Facebook-Alternative?

Nun wurde Diaspora mit Ruby on Rails geschrieben zusätzlich braucht es eine Mongo Database – zwei dinge die jetzt nicht jeder installiert hat – oder ums spezifizieren – so gut wie niemand installiert hat. Das sind schonmal zwei Hürden die so gleich vorneweg mal 80% aller Hostingoptionen ausschliessen. Man braucht dafür dann schon ein Hostingprovider der einen Kram installieren lässt was bei den meisten Shared Massen Hostern(tm) nicht funktioniert – oder man hat nen eigenen Server irgendwo stehen.

» Blog RebellenDiaspora – Ein erster Eindruck

Die eigenen Server stehen übrigens auch einer großen Verbreitung von Diaspora entgegen. Denn wie viele an Social Networking interessierte Nutzer gibt es, die einen eigenen Server betreiben? Selbst wenn es Hoster in der Art von WordPress.com geben sollte, dürfte die Nutzerzahl begrenzt bleiben.

Nur mal so: Jeder kann einen Mail Server betreiben, jeder kann OpenID Provider werden. Frage: Wie viele Leute betreiben einen eigenen Mail Server und wie viele Leute sind ihr eigener OpenID Provider? Genau.

» NeunetzCarsten Pötter in den Kommentaren

Neben den Sicherheitsmängeln und den anspruchsvollen „Server Requirements“ gibt es aber vor allem ein Problem: Diaspora basiert auf den gleichen Ideen wie z.B. auch Noserub oder StatusNET und übernimmt auch all deren Probleme. Um einen Kontakt einer anderen Diaspora-Node hinzufügen zu können muss man seinen Identifier kennen (z.B. pfefferle@diaspora.t3n-magazin.de)… ein Problem mit dem beispielsweise die OpenID-Community schon seit Jahren kämpft. Des Weiteren spricht Diaspora eine eigene Sprache und kann nicht mit funktionierenden, etablierten und dezentralen Systemen (basierend auf offenen Standards) wie StatusNET, verbunden werden!

Technische Mittel ein dezentrales Netzwerk zu erstellen gibt es genug: OStatus, Salmon Protocol, Pubsubhubbub, OpenID uvm. (von denen Diaspora übrigens keine einzige nutzt) und wir brauchen wirklich nicht noch eine neue offene Plattform… viel wichtiger wäre doch die bestehenden Netzwerke untereinander zu verbinden oder einen Weg zu finden, dem normalen Surfer das Thema Identifier näher zu bringen…

Ich will keine Software installieren müssen um dann nur User der gleichen Software folgen zu können, ich will Google-User mit meinem Twitter-Account verbinden! Ich will meine Bilder bei Flickr hoch laden und bei MySpace referenzieren. Ein dezentrales „federated social web“ bedeutet für mich, das verbinden von verschiedenen Diensten, anstatt einer offenen Kopie von Facebook!

Ich habe mal ein kleines Plugin geschrieben welches den WordPress-Atom-Feed mit der ActivityStream-Syntax erweitert.

 <entry>
  <id>http://notiz.blog/?p=1775</id>
  <author>
    <name>Matthias Pfefferle</name>
    <uri>http://notiz.blog</uri>
  </author>
  <...>
  <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
  <activity:object>
    <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
    <activity:object-type>http://activitystrea.ms/schema/1.0/article</activity:object-type>
    <id>tag:notiz.blog,2009-07-13:/post/1775</id>
    <title type="html"><![CDATA[Matthias Pfefferle posted a new blog-entry]]></title>
    <link rel="alternate" type="text/html" href="http://notiz.blog/2009/07/14/webstandards-kolumne/" />
  </activity:object>
</entry>

Die Syntax ist dazu gedacht, dem Feed-Parser/Feed-Reader zu erklären um was für einen Eintrag es sich handelt. Bei WordPress sind die <entry />s ausschließlich Blogposts/Artikel…

<activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
<activity:object-type>http://activitystrea.ms/schema/1.0/article</activity:object-type>

…die gepostet wurden.

<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>

Und für die Dienste wie NoseRub, die die Aktivität gerne in einen Satz packen, gibt’s das ganze auch noch in Prosa.

<title type="html"><![CDATA[Matthias Pfefferle posted a new blog-entry]]></title>

Das ActivityStream Schema definiert übrigens noch ’ne ganze Reihe an weiteren Objekten und Verben, die auf alle möglichen Aktionen im Netz passen. Falls ihr also noch welche findet, die zu WordPress passen könnten… lasst es mich wissen 😉

Es gibt leider aber auch ein paar Probleme mit der Syntax und diversen Feed-Readern, die das zweite <title /> im <activity-object /> mit interpretieren und dann beide Titel ausgeben… aber da ja auch MySpace und Facebook die ActivityStream-Syntax einsetzen ist dieser Fehler sicherlich bald bei jedem Feed-Reader behoben 😉

Viel Spaß beim ausprobieren!

Die aktuelle Folge des OpenWeb Podcasts behandelt das Thema Distributed Social Networks. Wer sich mit der Idee der Dezentralen Netze bisher eher weniger beschäftigt hat, sollte sich unbedingt vorher Pixelsebis Screencast: Distributed Social Networking zu Gemüte führen. Sebastian gibt sich dabei sehr viel Mühe, das Thema so einfach wie möglich und auch für Nicht-Entwickler verständlich zu erklären.

Aber jetzt zum Podcast… Zu Gast hatten wir diesmal Dirk Olbertz, dem Mann hinter einer der ersten (wenn nicht sogar DER ersten) dezentralen Community-Lösung: Noserub. Wer Noserub einmal ausprobieren möchte, kann sich die aktuelle Version entweder herunter laden oder online unter Identoo.com testen.

Weitere Links zur Sendung gibt’s wie immer im Wiki!

Den Podcast abonnieren:

NoseRub hat ein WordPress-Plugin:

If you have an account on a social network site powered by NoseRub, i.e. identoo.com
this plugin provides a couple of widgets to show your lifestream your hCard, your contacts
and, on newer installations of NoseRub, your services.

You can also choose to use your weblog as an OpenID-URL, powered by your NoseRub account.

…außerdem wurde noch ne ganze Menge XFN verwendet 🙂

Mal schau’n was Dominik Schwind auf dem nächsten NoseRub-DevCamp so zaubert.

Eigentlich wollte ich NoseRub schon vor ner ganze Weile mal testen, jetzt habe ich die seit vorgestern erhältliche Version 0.6 zum Anlass genommen, NoseRub mal auf meinem Server zu installieren: pfefferle.org

Wer NoseRub, wie ich als SingleUser-System auf seinem Server/Webspace hosten will (anstatt als Service wie Identoo.com) muss nur zwei Dinge beachten:

NoseRub Registration Type

Zuerst sollte man sicherstellen dass sich keiner bei NoseRub registrieren kann, dazu einfach die Datei „app/config/noserub.php“ öffnen und den NOSERUB_REGISTRATION_TYPE auf none setzen.

define(‚NOSERUB_REGISTRATION_TYPE‘, ’none‘);

SocialStream durch „My Profile“ ersetzen

Im zweiten Schritt kann man die Startseite (SocialStream) durch sein eigenes Profil ersetzen. Hierzu muss man in der „app/config/routes.php“ einfach nur die Zeile

Router::connect(‚/‘, array(‚controller‘ => ‚identities‘, ‚action‘ => ’social_stream‘));

…mit…

Router::connect(‚/‘, array(‚controller‘ => ‚identities‘, ‚action‘ => ‚index‘, ‚username‘ => ‚USERNAME‚));

…ersetzen und statt USERNAME den eigenen Benutzernamen eintragen. Das wars eigentlich schon.

Viel Spaß beim ausprobieren 🙂