Erste Schritte in Diaspora Alpha
Allzu viel darf man sich bei einer Alpha natürlich noch nicht erwarten, aber trotzdem: Ein paar Monate Entwicklungszeit sind ja nun doch schon in das Open Source Projekt Diaspora geflossen und es nimmt langsam Formen an. Es ist also an der Zeit das Projekt genauer unter die Lupe zu nehmen.
Überblick
Diaspora soll nicht wie Facebook über zentrale Server laufen, es verfolgt vor allem das Ziel dass sich jeder seinen eigenen Diaspora-Server basteln kann. Interessant könnte dies durchaus in grösseren Unternehmen für die interne Kommunikation werden. Dennoch gibt es (vorübergehend?) einen zentralen Server auf welchem man Diaspora bereits testen kann ohne einen eigenen Server dafür abstellen zu müssen. Man nimmt sich jedenfalls viel vor, wenn es auch nicht als “Konkurrenz zu Facebook” dargestellt werden soll, so sollen doch die wichtigsten Facebook-Funktionen integriert werden. Zumindest als “Alternative” soll es gelten, eine der ersten Funktionen die integriert wurden ist allerdings eine Facebook-Connection. Für mich stellt das irgendwie den Grundgedanken von Diaspora in Frage. Ist doch das Projekt im Prinzip aus der Angst vor unzureichendem Datenschutz bei Facebook und Co entstanden. Die ewige Diskussion darüber muss ich mit einem Schulterzucken beantworten: Jeder ist selbst dafür verantwortlich welche und wie viele private Dinge er im Internet bekannt gibt.
Das Projekt erhielt jedenfalls von Beginn an Unterstützung durch zahlreiche Spenden, einer der Spender war witziger Weise Mark Zuckerberg, der Chef von Facebook höchstpersönlich
Das Design
Optimiert für Auflösungen ab 1024 Pixel Breite setzt Diaspora auf Altbewährtes und erinnert designtechnisch ein wenig an Facebook, aber vor allem an Twitter. Zumindest was die Kopfzeile betrifft:
Ganz oben das (leicht verschwommene) Logo, der Stern ist Teil davon und kann einen durchaus verwirren da er auch als Tab-Titel im Browser angezeigt wird. In manchen Editoren bedeutet der Stern “die Datei wurde verändert und noch nicht gespeichert”. Man muss also dagegen ankämpfen ständig STRG+S zu drücken…
Daneben das obligatorische Suchfeld und ein kleines Brief-Symbol welches uns über neue Beiträge informiert. Ganz rechts dann wie bei Twitter der Name und ein Dropdown-Menü für den Zugriff auf Einstellungen und das eigene Profil. Rundum ein nettes Design, wenn auch fast ein wenig zu sehr inspiriert von der “Konkurrenz”. Der Rest ausserdem Header sieht jedoch noch ein wenig aus wie ein “work in progress”. In der Anzeige des eigenen Profils nimmt das Profilbild ein Drittel der Bildschirmbreite ein und rechts daneben werden die Kommunikationen (das wesentliche an der ganzen Sache) angezeigt. Hier besteht sicher noch Verbesserungsbedarf, aber es handelt sich ja um eine Alpha also drücken wir mal ein Auge zu.
Das Feedback-Formular ist natürlich gerade bei einem Projekt im Alpha-Stadium recht wichtig, aber man hätte durchaus ein eigenes programmieren und es dem Design anpassen können. Stattdessen poppt in der FancyBox ein recht buntes und vermutlich überdimensioniertes Ding auf:
Die Aspekte
Darunter werden gleich die sogenannten “Aspekte” mit einer maximalen Länge von 20 Zeichen angezeigt. Man hätte auch einfach “Gruppen” schreiben können, aber es sind ja eigentlich keine. Denn: Man startet zwar mit den beiden Aspekten “Familie” und Arbeit”, jeder stellt sich damit allerdings seine eigene Gruppe zusammen und ordnet seine Kontakte per Drag & Drop einem oder mehreren Aspekten zu. Das ganze untermauert von Darstellungsfehlern in Firefox und Internet Explorer:
Wie sich die Aspekte entwickeln, und ob es vielleicht dann doch irgendwann auch “richtige” Gruppen geben wird steht in den Sternen. Momentan bin ich jedoch sehr skeptisch, gerade im Business-Bereich kann man somit also zum Beispiel keine “Projektgruppe” anlegen weil sich eben jeder seine Gruppen selbst zusammenstellt. Ansonsten gibt es eine derartige Verwaltung in Facebook ebenfalls, nämlich über Freundeslisten.
Die Technik
joindiaspora.com läuft offensichtlich nicht auf einem dedizierten Server, wenn man die schlechte Performance betrachtet dann hat man wohl zu einem normalen Webhosting Paket bei Dreamhost gegriffen. Warum auch nicht, Grundgedanke von Diaspora ist ja immerhin kein zentraler Server sondern viele verschiedene Installationen. Sofern man diese nicht in irgendeiner Form verbinden kann (was wohl kaum geplant ist) braucht man also auch für jede Installation einen eigenen Benutzer.
Entwickelt wurde bzw. wird Diaspora in Ruby. Es ist fraglich ob dies eine gute Entscheidung war, mir ist eine Sprache die auch ohne Semikolon am Ende einer Anweisung auskommt eher suspekt und PHP erfreut sich nun mal grösserer Verbreitung. Daher wurde vermutlich Dreamhost als Provider gewählt, weil er als einer der wenigen Ruby unterstützt. Man setzt damit also leider schon mal eine kleine Hürde.
Verwendet werden ausserdem bekannte Skripte wie FancyBox oder jQuery. Allerdings ist jQuery auf höchst ominöse Weise eingebunden, und zwar ohne exakte Angabe der Versionsnummer und nicht direkt sondern über den Google-Server. Es kann also durchaus (wenn auch vermutlich unwahrscheinlich) vorkommen dass sich etwas am jQuery Plugin ändert und Diaspora funktioniert plötzlich nicht mehr so wie es soll.
Nebenbei wird noch Google Analytics integriert, darüber findet man aber keinen Hinweis auf der Seite und es reibt sich meiner Meinung nach genauso mit dem Grundgedanken von Diaspora wie die recht zeitig integrierte Facebook Connection.
Bugs, Bugs, Bugs
Klar, es ist eine Alpha. Dennoch, ein paar Fehler sind unnötig und könnte man schnell beheben. So verschwindet die numerische Anzeige der neuen Benachrichtigungen nicht immer korrekt und bleibt des öfteren auf einer Zahl stehen. Der Link “alle Kommentare anzeigen” könnte sich ruhig zum Beispiel in “alle Kommentare verbergen” ändern wenn man ihn benutzt. “Vor 5 Tage” ist nicht so ganz korrekt, aber das sind Banalitäten. Trotzdem natürlich auffällig dass so etwas nicht sofort auffällt und behoben wird. Weiter oben wurde schon ein Screenshot zu den Darstellungsproblemen gezeigt, derartiges sieht man leider noch recht oft.
Gerade die Usability sollte ebenfalls noch verbessert werden, wenn ich ein Foto löschen will dann muss ich zuerst in die Foto-Sektion, dann auf ein Foto klicken, dann auf Bearbeiten, und dann erst kommt der zauberhafte Button zum Löschen eines Fotos. Das sind viel zu viele Klicks für eine sicher recht häufig genutzte Funktion. Interessant wird es ausserdem wenn man sehr viele Aspekte anlegt, die wandern nämlich in eine nächste Zeile und sind immer sichtbar. Vermutlich wird man so viele Aspekte selten anlegen, aber eine gängigere Lösung wäre das Weiterschalten der Aspekte (Paging). Solche Dinge dürfen durchaus vor der Programmierung beachtet werden.
Fazit
Zugegeben, Diaspora ist schon ein interessantes Stück Software, bzw. die Idee dahinter. Nach einigen Monaten Entwicklungszeit hätte ich mir allerdings etwas mehr erwartet als ein von anderen kopiertes Design, ein paar Kommentarfunktionen und die Integration von fertigen Skripten wie jQuery und FancyBox anstatt einer eigenen (vielleicht performanteren/schlankeren) Lösung. Ich teste jedenfalls weiter und bleibe gespannt was da noch auf uns zu kommt.
Links

7. Januar 2011 


Gut geschrieben und ins Detail gegangen!
Sag Bescheid, wenn es mit FB mithalten kann!
“Entwickelt wurde bzw. wird Diaspora in Ruby. Es ist fraglich ob dies eine gute Entscheidung war, mir ist eine Sprache die auch ohne Semikolon am Ende einer Anweisung auskommt eher suspekt und PHP erfreut sich nun mal grösserer Verbreitung.”
Das ist doch nicht dein Ernst, oder? Was haben denn schliessende Semikolons mit der Güte einer Sprache zu tun? Dein Artikel ist wirklich gut geschrieben, aber diese Stelle macht mich schon stutzig…
Natürlich sagt dies nichts über die generelle Güte einer Sprache aus, das war vielleicht etwas missverständlich formuliert, sorry.
Ich bin nun mal ein grosser Fan von verpflichtenden Semikolons, eine reine Gewohnheit
Ich kann mich DerSaege nur anschließen, nur weil in Deutschland IT genrell langweilig ist und wir an PHP festhalten bis zum St. Nimmerleinstag, heißt das noch lange nicht das PHP auch eine gute Sprache ist. Natürlich kann jeder das verwenden was er für richtig hält, aber Webentwicklung mit PHP wirkt für mich doch ziemlich angestaubt…
Mag sein, aber mir ging es hauptsächlich um die Verbreitung. Diaspora in PHP und du kannst es auf so ziemlich jedem Webserver einsetzen. Vielleicht portiert es ja jemand
> Diaspora soll nicht wie Facebook über zentrale Server laufen, es verfolgt vor allem das Ziel dass sich jeder seinen eigenen Diaspora-Server basteln kann.
Also – ganz richtig ist das nicht. Es zielt derzeit schon auf eine pod-Architektur hin, also: Jeder kann sich eine Diapora-Instanz installieren, aber niemand muss es – man kann sich auch anderen Instanzen mit seinen Daten anvertrauen.
> Sofern man diese nicht in irgendeiner Form verbinden kann (was wohl kaum geplant ist) braucht man also auch für jede Installation einen eigenen Benutzer.
Die Vernetzung ist ja Kern des dezentralen Ansatzes. Man kann auch heute schon mit Bekannten auf Geraspora oder anderen Installationen kommunizieren. Im gesamten Raum wird nur ein Benutzer benötigt.
Und der Entwicklungs-Server ist durchaus dediziert, soweit ich das sehe. In der Alpha-Phase kann man aber noch keine Wunder erwarten.
Was Deine Kritik an Ruby angeht, gebe ich Dir recht: Das schließt leider eine rasende Verbreitung aus. Diaspora ist noch nicht das WordPress für soziale Netzwerke. (All die Konkurrenz-Ansätze wie Noserub und GNU Social, die alle in PHP geschrieben sind, aber auch nicht.)