
Abbildung 1: Ein Pad in Aktion: Links befindet sich der Editorbereich, in dem gerade der Artikel entsteht. Rechts zeigt Etherpad die Liste der Bearbeiter und einen Chatbereich an.
Ende 2009 ging ein Aufschrei durch weite Teile des Internets, als Google die beliebte Plattform Etherpad [1] aufkaufte. Die Entwickler des kollaborativen Editors sollten ihr Know-how fortan Google Wave [2] zugutekommen lassen. Die Abschaltung von Etherpad war damit besiegelt und für März 2010 beschlossen.

Abbildung 1: Ein Pad in Aktion: Links befindet sich der Editorbereich, in dem gerade der Artikel entsteht. Rechts zeigt Etherpad die Liste der Bearbeiter und einen Chatbereich an.
Google hoffte vermutlich die früheren Etherpad-Nutzer von Google Wave überzeugen zu können. Doch selbst die Wünsche eines Branchenriesen wie Google gehen nicht immer in Erfüllung. Heimlich, still und leise hatte sich eine überzeugte Etherpad-Nutzergemeinde gebildet, die nicht bereit war, von dem aufs Wesentliche reduzierten Schnellboot Etherpad auf das behäbige Schlachtschiff Google Wave umzusteigen.
Google lenkte nur wenige Tage später ein und gab den Etherpad-Code unter der Apache-Lizenz frei. Umgehend entstanden die ersten privat betriebenen Etherpad-Klone, und in Zusammenarbeit mit Betreibern öffentlicher Etherpad-Installationen [3] gründete sich kurz darauf die Etherpad Foundation [4], die sich die Weiterentwicklung des freigegeben Code auf die Fahnen schreibt.
Keep it simple, stupid
Was macht Etherpad so interessant, dass Google gleich das gesamte Know-how des Unternehmens aufkaufte? Und warum entstand in so kurzer Zeit eine so große Fangemeinde? Etherpad ist das gelebte KISS-Prinzip [5] – die einzige Voraussetzung auf Anwenderseite ist ein Javascript-fähiger Browser. Auf der Startseite eines öffentlichen Etherpad-Betreibers wie etwa Netluchs [6] klickt der Nutzer auf »Neues öffentliches Pad anlegen«. Den Link zum neuen Pad verteilt er per E-Mail, Chat oder Twitter und lädt damit weitere Schreiberlinge ein.
Das neue Pad präsentiert sich dreigeteilt (Abbildung 1). Im Editorbereich findet die eigentliche Schreibarbeit statt. Daneben bietet die rechte Seitenleiste eine Übersicht der Mitarbeiter und ein kleines Chatfenster für den Meinungs- und Gedankenaustausch. Alle Nutzer können direkt nach der Anmeldung loslegen.
Etherpad weist jedem Autor eine Farbe zu und macht damit die Textzuordnung im Editor eindeutig. Auch ein Farbwechsel zur Laufzeit ist möglich, denn das Pad passt die Zuordnung an. Etherpad speichert alle Änderungen automatisch, sie sind auf einem Zeitstrahl nachverfolgbar. Um Bearbeitungskonflikte oder Vandalismus rasch beseitigen zu können, empfiehlt es sich zudem, regelmäßig Revisionen von Hand zu speichern.
Öffnen, arbeiten, fertig?
Das übersichtliche Benutzerinterface und die einfache Handhabung machen Etherpad zum idealen Werkzeug auch für weniger technikaffine Menschen. Ein gemeinsames Pad hilft nicht nur einer Schulklasse bei der Planung für den “Tag der offenen Tür”, sondern auch einer Laienschauspielgruppe, die den Text eines Theaterstücks gemeinsam umschreiben will. Ohne aufwändige Konfiguration von Benutzeraccounts oder Zugriffsrechten legen alle Beteiligte direkt los. Eine längere Einarbeitungszeit wie etwa bei Online-Office-Tools (siehe Artikel in der “Bitparade”) fällt ebenfalls weg.
Der Nachteil der öffentlichen Pads liegt auf der Hand: Jeder, der den Link kennt, kann das Pad verändern und damit auch zerstören. Abhilfe schaffen die Pro-Pads [7]. Diese sind nicht nur über eine eigene Subdomain (zum Beispiel »lm.netluchs.de«) erreichbar, sondern erlauben es dem Ersteller auch, einen Teambereich ganz nach seinen Wünschen einzurichten. So kann er Mitarbeiter für bestimmte Pads abstellen und gezielt Bereiche öffentlich oder geschlossen halten. Waren die Pro-Pads vor dem Verkauf von Etherpad an Google kostenpflichtig, sind sie mittlerweile bei allen unter [3] gelisteten Seiten kostenlos.
Blick unter die Haube
Deutlich verfrüht ist es, von einer eigenen Etherpad-Installation auf dem gemieteten Webspace zu träumen. Etherpad erwartet nicht nur MySQL 5.1, sondern auch Java 1.6.0, Scala 2.7.4 und den MySQL-Java-Connector in Version 5.1.0 – Anforderungen, die kaum ein gängiges Shared-Webhosting-Paket erfüllt. Auch wenn diese Klippen umschifft sind, ist die Installation [8] auf beinahe allen Systemen mit Bastelarbeit verbunden, vor allem wenn die Pro-Version oder PDF- und Open-Office-Export gewünscht sind [9].
Als fertiges Paket steht Etherpad derzeit lediglich für Debian-Systeme zur Verfügung, allerdings über ein externes Repository [10]. Client-seitig zeigt Etherpad sich im direkten Vergleich ebenfalls anspruchsvoll. Bei den meisten Browsern wird der Speicher knapp, wenn der Anwender vier bis sechs Pads gleichzeitig geöffnet hat – ein bekanntes Problem, das künftige Versionen hoffentlich lösen.
Die ersten Etherpad-Weiterentwicklungen nach Veröffentlichung des Quellcode beschränkten sich weitgehend auf kosmetische Eingriffe. So erhöhten die Entwickler die maximale Anzahl der Pad-Farben für die Bearbeiter von 16 auf 32. Für die nächste Version, die sich derzeit in der Testphase befindet, planen die Entwickler ein Plugin-System, um die Anpassungsfähigkeit zu erhöhen [11].
Außerdem soll es möglich sein, Pads durch Wiki-artige Interlinks miteinander zu verknüpfen und Hashtags einzusetzen. Ein Klick auf eine solche Verknüpfung löst dann eine Keywordsuche über andere, ebenfalls mit Hashtags versehene Pads aus (Abbildung 2). In der nächsten Milestone-Release wollen die Entwickler auch einen Windows-Installer ausliefern sowie Emacs als Client und ein XMPP-Gateway für Jabber integrieren [12].

Abbildung 2: Die aktuelle Betaversion bietet einen Ausblick auf künftige Etherpad-Features. So sind unter anderem eine Verlinkung zu anderen Pads und die Suche über Hashtags geplant.
Wider das Nuscheln
Vom Schreiben in Echtzeit steuert die Projekteküche zum miteinander Reden in Echtzeit – aber keine Sorge, der Name des nächsten Projekts ist nicht Programm. Wer mit Mumble [13] telefoniert, muss sich keineswegs auf Genuschel einstellen. Das VoIP-Programm setzt die Codecs Celt [14] und Speex [15] ein und nutzt deren fortschrittliche Audiokompression, um die Bandbreite zu schonen. Damit allein geben sich die Entwickler aber nicht zufrieden. Die Sprache passiert zusätzlich ein Preprocessing, das störende Nebengeräusche entfernt und den Klang hörbar verbessert.
Mumble ist streng genommen nur der Client des Sprachkonferenz-Tools, der für alle gängigen Desktop-Betriebssysteme erhältlich ist. Für Linux, Windows und Mac OS X liegen Installationspakete vor, für Free-BSD-Nutzer immerhin eine Anleitung zum Eigenbau [16].
Wer Mumble sagt, muss aber auch Murmur sagen. Um mit Mumble eine Sprachkonferenz zu schalten, ist ein Murmur-Server nötig. Zwar gibt es im Netz etliche frei zugängliche Murmur-Server, für den professionellen Einsatz führt auf Dauer aber kaum ein Weg an einer eigenen Murmur-Installation vorbei [17].
Murmur beruht auf der Qt-Library und hat am liebsten ein komplettes X-Window-System um sich – ärgerlich vor allem für Admins von Servern ohne grafische Oberfläche. Ein möglicher Ausweg ist das in C geschriebene und unter der BSD-Lizenz veröffentlichte Umurmur [18]. Um diese Serverkomponente übersetzen und in Betrieb nehmen zu können, benötigt der Anwender zusätzlich Open SSL, Polar SSL, Libconfig und Protobuf-c. Die Leistungsfähigkeit des Original-Murmur-Servers erreicht Umurmur allerdings nicht. Ein Manko ist beispielsweise, dass die IRC-ähnlichen Gesprächskanäle fest in der Konfigurationsdatei verankert sind und sich nicht bei Bedarf und im laufenden Betrieb neu erstellen lassen.
Auch wenn Mumble sich bereits jetzt sehen und hören lassen kann, dürfte die Software künftig noch spannender werden – nämlich wenn die vage angekündigte Video-Unterstützung Realität wird [19]. Kommen dann noch die geplanten Mumble-Clients für Smartphones, müssen Audio- und Videokonferenzen nicht mehr kompliziert und aufwändig sein.
PDF für alle
Um Webserver sicherer und stabiler zu machen, vermeiden Admins gerne die Installation eines X-Servers. Bei jedem zusätzlichen Programm und jeder weiteren Library gilt es, Schaden und Nutzen sorgfältig gegeneinander abzuwägen. Daher ist es nicht nur das erwähnte Murmur, das puristischen Admins Sorgen bereitet. Ein häufiger Wunsch an Webentwickler und Webserveradmins lautet: “Baut doch mal eben einen PDF-Export in unsere Websoftware ein.”
Während der Neuling gleich Ghostscript [20] samt X11 installiert, weiß der erfahrene Admin zwar, wie er die X-Komponenten vermeidet – Magengrummeln dürfte er trotzdem haben, während er dabei zuschaut, wie Ghostscript eine Library nach der anderen anfordert. Es grummelt sicher noch an anderen Stellen, taucht Ghostscript doch regelmäßig in den Security-Wettermeldungen auf.
Es geht einfacher – zumindest wenn PHP im Einsatz ist. Die PHP-Klasse TCPDF [21] des italienischen IT-Beratungshauses Tecnick steht unter der LGPL und muss für ihre Kernfunktionen auf keine weiteren Bibliotheken zurückgreifen. Eine ganze Reihe Projekte profitiert bereits von TCPDF. So setzen etwa Joomla, Drupal oder Moodle auf die PHP-Klasse, um PDF-Dokumente zu erzeugen.
Die Liste der Features kann sich sehen lassen: TCPDF ist die einzige PHP-PDF-Klasse, die sowohl UTF-8 als auch Rechts-nach-Links-Text vollständig unterstützt. Sie versteht zudem alle gängigen Grafikformate sowie PDF-Eigenschaften wie Footer, Header oder Anmerkungen und kann auch verschiedene Barcode-Standards ins Portable Document Format umwandeln. Deutsche Unternehmen dürfte vor allem interessieren, dass TCPDF digitale Signaturen erstellen kann. So kreiert die Buchhaltung automatisierte Rechnungen, die auch deutschem Recht standhalten.
TCPDF taucht bei Sourceforge in schöner Regelmäßigkeit bei den zehn aktivsten Projekten auf. Auf der Homepage stehen zahlreiche Codeschnipsel bereit, mit denen der experimentierfreudige Entwickler direkt erste Gehversuche unternehmen kann (siehe Abbildung 3).

Abbildung 3: Die Abteilung »Examples« auf der TCPDF-Seite bietet Anschauungsmaterial für Einsteiger und Fortgeschrittene. Alle Beispiele sind als Quellcode und als fertiges PDF-Dokument erhältlich.
Sektgelee mit Pfiff
Für sechs Portionen Sektgelee braucht man die folgenden Zutaten: ein Päckchen helles Gelatinepulver, 100 ml Dessertwein/Beerenauslese, fünf Esslöffel Zucker, zwei Piccoloflaschen Sekt (eisgekühlt) und einen Granatapfel.
Zuerst die Granatapfelkerne vorsichtig aus dem Granatapfel lösen und in einer Schale mit drei Esslöffeln Zucker vermischen. Das Gelatinepulver nach Anleitung auf der Packung mit einigen Esslöffeln kaltem Wasser vermengen und knapp zehn Minuten quellen lassen. In der Zwischenzeit den Dessertwein mit zwei Esslöffeln Zucker erwärmen. Die fertig gequollene Gelatine in die Wein-Zucker-Mischung rühren und anschließend abkühlen lassen.
Die Granatapfelkerne in sechs schöne Gläser geben. Den erkalteten Wein mit dem eisgekühlten Sekt auffüllen und vorsichtig über die Granatapfelkerne gießen. Das Sektgelee mindestens zwei Stunden kühl stellen, damit die Flüssigkeit gelieren kann. Die Gläser fünf bis zehn Minuten vor dem Servieren aus dem Kühlschrank nehmen, damit sich die Bläschen ausbilden können.
Während das Gelee erstarrt, bilden sich wie von Zauberhand Luftbläschen – mit etwas Glück sogar, während der Nachtisch auf dem Löffel vom Glas zum Mund wandert. Das Rezept gelingt nur mit Sekt aus Piccoloflaschen, der mehr Kohlensäure enthält als Sekt in großen Flaschen. (hej)





