Ansichten eines Informatikers

Akonadi

Hadmut
28.3.2009 13:58

Zur Abwechslung mal wieder was technisches.

Wie so mancher weiß, bevorzuge ich Linux. (Und je mehr ich beruflich mit Windows/Outlook arbeiten muß, desto mehr bevorzuge ich Linux… Wenn ich allein an den Mist mit den .pst-Files und die vielen Unzulänglichkeiten von Outlook denke, es ist mir schleierhaft, wie so etwas zum Industriestandard werden konnte. Das muß von wirklich bösen Menschen geschrieben sein.)

Nun ist das unter Linux aber auch nicht alles so schön und doll gemacht.

Seit ein paar Jahren habe ich auch die alte Ära hinter mir gelassen, in der ich nur einen einfachen Window-Manager hatte und ansonsten jedes Programm von Hand gestartet habe (fvwm2 war da mein letzter Favorit). Inzwischen verwende ich die moderenen Desktops, vor allem Gnome, selten KDE, in Spezialfällem XFCE. Wobei man da nicht mehr ganz durchblickt, was diese Desktops eigentlich alles treiben und wie es zusammenhängt. Eine gewisse vermicrosoftierung des Benutzers findet auch hier statt, man sitzt davor, wundert/freut sich über die bunte Oberfläche mit viel Dingsda, und weiß eigentlich nicht mehr richtig, was unter der Motorhaube läuft. Immerhin ist jeder Desktop für sich betrachtet insoweit eher konsistent als die frühere Methodik, als die verschiedenen Programm die Bibliotheken teilen und sich auf Zugriffsmethoden einigen. So greifen alle KDE-Programme auf die gleiche Personenadressdatenbank zu, es reicht eine Person einmal einzugeben. Und auch die Gnome-Programme greifen auf die gleiche Datenbank zu. Dummerweise läuft das bei Gnome anders als bei KDE.

Und meine Angewohnheit ist es nunmal, Programme aus beiden Welten einzusetzen. Weil manchmal die Programme von KDE besser sind und manchmal die von Gnome. Und ab und zu die von XFCE. Und manchmal eigenständige Programme, die keinem der drei Desktops zugehören. An sich geht das auch ganz gut, denn man hat da doch eine gewisse Standardisierung durchgesetzt. KDE-Programme laufen einwandfrei unter Gnome, usw.

Der Haken ist aber, daß sie trotzdem unterschiedliche Datenbanken für Adressen, Termine, TODOs usw. verwenden. Was man in dem einen einträgt, sieht das andere nicht. Man merkt es z. B. auch bei der Verwaltung von X.509-Zertifikaten und ähnlichem.

Und das wird noch ärgerlicher: Denn weder Gnome (mit Evolution) noch KDE kommen an die wirklich gute Benutzeroberfläche von Firefox und Thunderbird ran. Ich kenne keine anderen Browser und Mailprogramme, die so flexibel und effizient, so gut erweiterbar sind und für die es so viele Plugins usw. gibt. Auch da ist aber nicht alles Gold, was glänzt. Man merkt, daß die Programmierer großen Wert auf die Oberfläche legen, unter der Motorhabe sieht es aber oft finster aus. Vor allem bei Thunderbird. Thunderbird ist bis heute nicht in der Lage, ordentlich mit Adressbüchern umzugehen. Viele der internen Daten von Thunderbird und noch manche in Firefox werden in diesem unsägliche Mork-Format abgelegt, was nicht nur nicht brauchbar dokumentiert ist, sondern generell eines der schwachsinnigsten Dateiformate ist, die in der Computertechnik jemals erdacht wurden. Aber Mozilla/Thunderbird schafft es nicht, sich von diesem Unfug zu trennen. Unter Firefox sind inzwischen Verbesserungen ersichtlich, dort werden datenbank-artige Daten inzwischen teilweise als sqlite3-Datenbank abgelegt. Das wäre ein Fortschritt, wenn sie es nicht anderweitig wieder vermurkst hätten. Sie packen nämlich Konfigurationsdaten wie die Bookmarks und Cache-Daten wie die History zusammen in eine Datenbankdatei. Weshalb man es nicht schafft, seine Konfigurationsdaten wie die Bookmarks und die abgelegten Passworte von einem Rechner auf einen anderen rüberzukopieren oder zu backupen ohne gleichzeitig auch die – möglicherweise sehr vertrauliche – History und die Formulareingaben mit zu kopieren.

Und die Datenbankfunktionen von Thunderbird sind schon seit Jahren miserabel. Das Adressbuch basiert auf einem unbrauchbaren Datenformat, ein Adressaustausch ist schwierig bis unmöglich und wenn überhaupt, dann immer nur als Ganzes und als LDIF-Datei möglich, was wiederum mit vielen Beschränkungen, Problemen, Bugs und Mehrdeutigkeiten verbunden ist. Und die LDAP-Schnittstelle ist read-only und macht nur Probleme. Einige der Funktionen funktionieren seit Jahren nicht und werden nie gefixt. Man hat mal daran rumdiskutiert, wie man die LDAP-Schnittstelle erneuern könnte, kam aber erstens nicht zum Ziel und zweitens nicht davon ab, die alten Fehler einfach zu wiederholen. Ich hatte mehrfach darum gebeten, den ganzen Adressschrott rauszuwerfen und stattdessen ein klares und dokumentiertes API zu setzen, damit andere Leute da Ergänzungen und Plugins schrieben können. Nichts passiert. Im Mozilla-Umfeld und ganz besonders bei Thunderbird merkt man sehr deutlich, daß der Fokus auf dem Aussehen liegt und man aber insgesamt zuwenig (freiwillige und befähigte) Programmierer hat, und das überwiegend ganz junge Leute an dem Ding rumprogrammieren, für die Aussehen wichtig ist, die aber noch kaum über die Programmiererfahrung verfügen, die Anforderungen zu erkennen und das auch nach hinten raus sauber umzusetzen. Überaus ärgerlich.

Leider ist es damit so, daß was den Umgang mit Adressen, Termindaten usw. betrifft (auch z. B. X.509-Zertifikate) Windows trotz aller seiner Schwächen und üblen Konstruktionsfehler Linux ein paar Sachen voraus hat, nämlich die Einheitlichkeit.

Weil ich selbst nicht genug Zeit habe, mich jetzt auch nicht in die Details der KDE- und Gnome-Programmierung einarbeiten will und sowieso nur ein Einzelner bin, habe ich bei Ubuntu den Vorschlag eingereicht, doch mal eine einheitliche Schnittstelle vorzuschlagen, etwa eine Library, die dann die Daten alle in einer zentralen sqlite-Datei ablegt und auf die die Desktops über ihre jeweiligen Standardschnittstellen zugreifen können. Wär doch mal eine Idee.

Ja, bekam ich die Antwort, das gibt’s doch schon. Das ist doch schon erfunden. Und heißt Akonadi (siehe auch Wikipedia). Ach gar? Schön!

Nun habe ich gerade mal den ersten Rechner auf die neue Ubuntu 9.04 Jaunty Jackalope (Beta) hochgezogen, wo Akonadi schon drin ist.

Und habe erst mal den Kopf geschüttelt. Das Ding schleppt tatsächlich einen Benutzer-individualisierten eigenen MySQL-Server mit sich und legt für Akonadi schon mal vorab diverse MySQL-Daten (was ja jede Tabelle in mehreren separaten Dateien ablegt) an, und belegt schon mal 150 MByte, noch bevor man überhaupt irgendetwas gespeichert hat.

Auf einem anderen Rechner ist Akonadi erst gar nicht losgelaufen, weil es irgendwelche Probleme mit dem D-Bus hat. Also ein Riesen-Drumherum, nur um Adressen usw. in einheitlichem Format zu speichern.

Naja, und so wie ich bisher verstanden habe, kann Akonadi die Adressen dann nicht einmal selbst speichern, sondern ist nur ein Frontend für alle möglichen Quellen und Ablageplätze, ist also nicht geeignet, die Daten an einem zentralen Platz abzulegen.

Ziemlich gruselig, was da derzeit so an Desktop-Entwicklung abläuft. Immer wieder nur komplizierter, undurchsichtiger, fehleranfälliger.

Eine einfache, einheitliche, simple Datenbankdatei, auf die alle einfach so zugreifen, ist heute anscheinend nicht mehr zu machen.

Ein Kommentar (RSS-Feed)

yasar
29.3.2009 21:11
Kommentarlink

Outlook: Outlook ist nicht per se ein Erfaolg, sondern, weil es mit Exchange zusammen ein (sogar brauchhbares) Team bildet. Es ist halt weit mehr als nur eine MUA. Termine Kontakte, Workflow, etc. Was vergleichabres wäre das Duo Notes/Domino, Meiner Meinung nach war das eigentlich besser als Outlook/Exchange, allerdings hat Lotus sich zu sehr auf seinen Loorbeeren ausgeruht und später IBM es verbockt, es runderneuert auf Vordermann zu bringen.

Windows und Einheitlichkeit:das widerspricht meinen Erfahrungen. Einheitlich funktioniert das Ganze nur, wenn man sich strikt mit Microsoft-Produkten umgibt und hat trotzdem manchmal Probleme, wenn man über verschiedene Versionsgrenzen hinweg arbeitet (z.B. O2K bis O2K7). Und wenn man mal dir frechheit hat die Standardapplikation z.B. für Mail zu etwas anderem als Outlook oder Microsoft Mail zu ändern, bricht manchmal auch einiges weg.