Die neue Version des Mail- und News-Clients der Mozilla Corporation: Thunderbird 2.0
Der kleine Bruder des Firefox-Browsers kämpft seit Anbeginn nicht nur mit mangelnder öffentlicher Wahrnehmung, sondern vor allem mit einer beschränkten Anzahl von Entwicklern. Fortschritte geschehen, aber langsamer als von Firefox gewohnt. So liegt denn der Schwerpunkt der zweiten Thunderbird-Ausgabe – neben verbesserter Stabilität und Sicherheit – auch nicht auf großen, neuen Features, sondern auf einer besseren Organisation und Verwaltung von Mails.
Bessere Organisation und Verwaltung
Die auf den ersten Blick sichtbarste Änderung, neben dem leicht modernisierten Standard-Theme, ist die Einführung von Ordner-Ansichten. Wurden bisher grundsätzlich alle angelegten Konten und ihre Ordner dargestellt, kann die Anzeige nun schnell per Mausklick mit drei weiteren, übersichtlicheren Ansichten eingeschränkt werden: nur Ordner mit ungelesenen Nachrichten, nur die als Favoriten markierten Ordner oder nur die zuletzt genutzten Ordner.
Weitere Verbesserungen sind erst auf den zweiten Blick zu finden. So wurden die bisher auf fünf Stück beschränkten Etiketten („Labels“) deutlich aufgebohrt: Jede Nachricht kann nun beliebig viele, frei definierbare „Tags“ erhalten. Nach Tags kann anschließend gefiltert und sortiert werden, eine spezielle Nachrichtenansicht für jedes angelegte Tag wird zudem automatisch vordefiniert.
Ebenfalls unscheinbar geben sich zwei neue Knöpfe für die Werkzeugleiste und ihre Gegenstücke im Menü: „Vor“ und „Zurück“ erlauben die einfache Navigation in der Historie der im Programmlauf angezeigten Nachrichten wie von einem Browser gewohnt. Das lästige „sich erinnern müssen“, in welcher Newsgruppe ein bestimmter Artikel war, den man ein paar Minuten zuvor gelesen hatte, entfällt damit.
Ähnlich wie in GMail und anderen Mail-Diensten können die eigenen Antworten jetzt automatisch im selben Ordner wie die ursprünglichen Mails abgelegt und Unterhaltungen so zusammengehalten werden. Müssen dennoch Nachrichten verschoben werden, enthalten die Kontextmenüs für Kopieren und Verschieben nun ebenfalls einen Eintrag mit den zuletzt genutzten Ordnern. Wer bereits ein GMail-Konto hat, wird sich vielleicht über Thunderbirds „neues“ Sternchen-Feature freuen: Wichtige Nachrichten können mit einem Sternchen versehen und gesternte Nachrichten in Filtern verwendet werden. Alte Mozilla-Kenner werden aber (zu Recht) einwenden, dass lediglich die altbekannten „Flaggen“ umbenannt wurden.
Wirklich neu, wenn auch nicht unbedingt überraschend – bedenkt man das Google-Engagement im Mozilla-Umfeld – ist die Aufnahme von GMail in den Kontenassistenten, sodass die Einrichtung von GMail-Konten mit einem Minimum an Wissen um Konfigurationsdetails vonstatten gehen kann.
Gehen neue Mails ein, muss der entsprechende Posteingangsordner nicht mehr angeklickt werden, um sich einen Überblick über die Neueingänge zu verschaffen; eine Kurzzusammenfassung der neuen Mails wird als Tooltip angezeigt, wenn der Mauszeiger über dem Ordner verweilt. Der Informationsgehalt des Benachrichtigungsfensters für neue Mails ist jetzt auch individuell anpassbar: Die gesamte Kontenübersicht kann auch ausgeblendet und durch ein neues Listen-Element in der Werkzeugleiste ersetzt werden.
Schließlich kommen viele kleinere Anpassungen hinzu, die das Arbeiten mit Thunderbird allgemein einfacher und angenehmer machen, zum Beispiel ein regelmäßiges automatisches Speichern von Nachrichten als Entwurf, während noch am Text gefeilt wird. Auch sind ein inkrementelles Suchen im Text der aktuellen Nachricht sowie der automatische Ordnerwechsel beim Markieren eines News-Diskussionsstranges als „gelesen“ möglich.
Erweiterungen
Wie schon in Firefox 2 wurde die Verwaltung von Erweiterungen und Themes im so genannten Add-On-Manager zusammengefasst, während am eigentlichen Erweiterungssystem nichts geändert wurde. Entwicklern steht auch weiterhin keine einfache Funktionalität zur Definition von „Aufräummethoden“ bei Installation und Deinstallation ihrer Erweiterung zur Verfügung. Dennoch profitieren Erweiterungsautoren von der neuen JavaScript-Version 1.7, die auch die Grundlage des UI-Codes in Thunderbird 2 bildet. Die Möglichkeiten als solche, sich mit seiner Erweiterung in Thunderbird einzuklinken, sind aber verbessert worden. Zum einen sendet der Mail-Editor nun eine interne Benachrichtigung, sobald das Fenster vollständig initialisiert ist [1]. Zum anderen sträubte sich bisher insbesonders die Nachrichtenübersicht erfolgreich gegen jede inhaltliche Anpassung, sieht man einmal von der Entscheidung über Reihenfolge und Sichtbarkeit einzelner Spalten ab. Dieses Manko wurde behoben.
Nun können Erweiterungen eigene Spalten zur Nachrichtenübersicht hinzufügen, durch die Registrierung entsprechender Methoden, die dann vom Backend entsprechend aufgerufen werden. Zusammen mit der ebenfalls neuen Fähigkeit, beliebige Kopfzeilen automatisch in den Indizes (.msf-Dateien) der Nachrichten-Dateien zu speichern [2], lassen sich ohne größere Performanzverluste beliebige neue Spalten etablieren.
Ein Beispiel
Als Beispiel sei hier das Grundgerüst für eine Erweiterung skizziert, die den Verursacher einer so genannten „Bugmail“ in einer eigenen Spalte der Nachrichtenübersicht anzeigt (registrierte Nutzer der Fehlerdatenbank des Mozilla-Projekts https://bugzilla.mozilla.org/ können sich über neue Einträge oder Änderungen durch eine Mail benachrichtigen lassen).
Jede Bugmail enthält spezielle Kopfzeilen, die einige Aspekte der zugrunde liegenden Änderungen näher beschreiben, der Nachrichtenrumpf enthält in der Regel den der Änderung beigefügten Kommentar. Die Kopfzeile „X-Bugzilla-Who“ enthält die hier anzuzeigende E-Mail-Adresse des Verursachers. Um nicht die notwendigen Daten zur Anzeige in der Nachrichtenliste hochgradig inperformant aus der jeweiligen Mail herauslesen zu müssen, muss der Wert der entsprechenden Kopfzeile in der Index-Datei vorliegen. Dazu werden alle Kopfzeilen, für die eine solche Speicherung gewünscht wird, als leerzeichengetrennte Liste in die Konfigurationsdatei„prefs.js“ eingetragen, in der Regel programmatisch durch die Erweiterung selbst:
user_pref("mailnews.customDBHeaders", "X-Bugzilla-Who");
Listing 1
Des Weiteren muss die Spalte natürlich auch in der Nachrichtenübersicht angezeigt werden. Das geschieht – wie in allen Mozilla-Erweiterungen – durch ein so genanntes „Overlay“, einer speziellen XML-Datei. Hier auszugsweise die Datei „xbw.xul“:
<overlay id='X-Bugzilla-Who-Overlay' xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'> <script type='application/x-javascript' xsrc='chrome://xbw/content/xbw.js'/> <tree id="threadTree"> <treecols id="threadCols"> <splitter class="tree-splitter" /> <treecol id="colxbw" flex="2" currentView="unthreaded" persist="hidden swappedhidden ordinal width" label="X-Bugzilla-Who"/> </treecols> </tree> </overlay>
Listing 2
Für die eigentliche Textübergabe muss anschließend ein entsprechendes Behandlungsobjekt registriert werden, das gewisse Teile des internen Interfaces „nsITreeView“ implementiert. Die zusätzlich anzuzeigenden Kopfzeilen müssen beim Auslesen aus der Index-Datei in Kleinbuchstaben angegeben werden. Hier ein Auszug aus einer solchen JavaScript-Datei „xbw.js“:
var xbwHandler = { getCellText: function(row, col) { // den Wert der Kopfzeile aus der Index-Datei lesen return gDBView.db.GetMsgHdrForKey(gDBView.getKeyAt(row)) .getStringProperty("x-bugzilla-who"); } getSortStringForRow: function(hdr) {return null;}, isString: function() {return false;}, getCellProperties: function(row, col, props){}, getImageSrc: function(row, col) {return null;}, getSortLongForRow: function(hdr) {return 0; /* keine Sortierung */} } function xbwAddHandler() { gDBView.addColumnHandler("colxbw", xbwHandler); } var xbwDBObserver = { observe: function(aMsgFolder, aTopic, aData) { // X-Bugzilla-Who-Spalte aktivieren xbwAddHandler(); } } function xbwOnLoad() { Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService); .addObserver(xbwDBObserver, "MsgCreateDBView", false); } window.addEventListener("load", xbwOnLoad, false);
Listing 3
Fazit
Thunderbird 2 ist im Wesentlichen ein „Wohlfühl-Update“: Es gibt keine übergroßen Umbauten, aber viele Anpassungen, die das tagtägliche Arbeiten angenehmer machen. Der Artikel beruht auf der ersten Beta-Version, die bereits als inhaltlich komplett bezeichnet wurde. Bis zum Erscheinen der finalen Version im ersten Quartal 2007 sollen noch letzte Fehler ausgebügelt und die Übersetzungen erstellt werden. Das Weblog „The Rumbling Edge“ [3] hält stets eine Übersicht über die aktuellen Änderungen bereit.