Mit Broadway, einem neuen HTML-5-Backend für GTK+, lenken Programme wie Gedit, Evolution, Libre Office & Co. ihre Ausgabe auf die HTML-Browser des Publikums. Die Produzenten stellten dem Linux-Magazin eine frühe Testversion zur Verfügung, die trotz Lampenfieber und Instabilitäten zu überzeugen weiß.
Der Broadway sorgt mal wieder für Schlagzeilen: Auf der Libre Office Conference in Paris kündigte die Document Foundation eine Portierung ihrer freien Officesuite für den Browser an [1]. Mit Libre Office Online [2], so der Codename des Projekts, sollen Textverarbeitung, Tabellenkalkulation, Präsentation, Datenbank und Grafikprogramm in den nächsten Monaten online lauffähig sein.
Mit Broadway: Weboffice nicht nur für die Wolke
Im Gegensatz zu bestehenden Online-Offices “in der Cloud” will die Libre-Office-Community jedoch kein geschlossenes System entwickeln, bei dem alle Daten auf den Systemen eines Unternehmens liegen, sondern eine Lösung, die jedermann am eigenen Rechner installieren kann und mit der er Zugriff auf seine Daten hat. Technologische Basis für diese Entwicklung ist Broadway, ein recht neues Backend für das Gimp-Toolkit GTK+ [3]. Damit lassen sich Anwendungen mit wenig Aufwand in den Browser verlagern. Theoretisch existiert diese Möglichkeit schon seit Längerem, zum Beispiel mit Hilfe von Java-VNC-Applets, doch mit Broadway läuft die Anwendung nativ auf Basis von HTML 5 im Browser, ohne einen zwischengeschalteten Remotedesktop oder das quälend langsame VNC-Protokoll.
Vorsprechen bitte!
Broadway ist eine sehr junge Technologie, bei der noch zahlreiche Fallstricke lauern – und Wunder darf in diesem Entwicklungsstand niemand erwarten. Vom Produktiveinsatz ist daher noch abzuraten, aber technisch interessierte Anwender erhalten schon jetzt einen Ausblick, was in naher Zukunft gang und gäbe sein könnte.
Wer schnell und unkompliziert testen will, greift zur DELUG-DVD: Hier findet sich ein virtuelles Image für KVM, das Suse- und Libre-Office-Mitarbeiter Michael Meeks mit einer angepassten Version von Libre Office ausgestattet hat und das nach dem Boot automatisch einen Browser mit der Bürosuite startet (Abbildung 1).
DELUG-DVD
Auf der DELUG-DVD liegt ein virtuelles Image für KVM mit Open Suse 12.1, Broadway, Firefox 4 und einer exklusiv fürs Linux-Magazin von Suse und Libre Office angepassten Demo von Libre Office Online.
Im Verzeichnis findet sich ebenfalls das Libre-Office-Paket, mit dem Anwender von Open Suse das Weboffice ausprobieren können. Sollte im KVM-Image nach dem Boot eine Fehlermeldung im Browser erscheinen – einfach aktualisieren, dann hat Libre Office länger zum Starten gebraucht als Firefox 4.

Abbildung 1: Libre Office im Webbrowser – dank Broadway und HTML 5, aber erst mit den richtigen Softwareversionen ein Kinderspiel.
Distributionen
Wer selbst Hand anlegen will, muss als erste Hürde die geeignete Distribution mit entsprechend kompilierten GTK+-Paketen finden. Broadway – genauer das GDK-Backend – hielt erst mit der noch recht jungen Version 3.2 Einzug in das Gnome-Toolkit und ist in den meisten Distributionen noch nicht einkompiliert. Weder Ubuntu 11.10 noch Fedora 16 vermochten im Test von Haus aus einzelne Programme in den Browser zu verlagern. Problemärmer war indes Open Suse 12.1, das ein GTK+ mit Broadway-Support mitbringt. Zum Testen installierten die Autoren des Linux-Magazins die 64- und die 32-Bit-Version der Distribution aus dem kompletten DVD-Image und wählten Gnome als Standarddesktop. Der Kasten “Großes Kino?” zeigt, wie Anwender herausfinden, ob ihre Distribution Broadway beherrscht.
Großes Kino?
Wer herausfinden will, ob die eigene Distribution bereits Broadway unterstützt, greift zu dem Unix-Urgestein »strings« . Es reicht, mit »strings /pfad/zu/libgdk-3.so | grep broadway | wc -l« nach dem entsprechenden Text in der Library zu suchen (Abbildung 4). Die Ergebnisliste sollte weit über 100 Einträge aufweisen. Untrüglicher Hinweis auf fehlenden Broadway-Support ist auch die Fehlermeldung »Gdk-ERROR **: Unsupported GDK backend: broadway« beim Programmstart. Andere Möglichkeiten, Broadways Funktionstüchtigkeit zu überprüfen, fehlen derzeit.
Probleme im Publikum
Mit dem Bereitstellen der entsprechenden GTK+-Version allein ist es jedoch noch nicht getan, denn Broadway greift für die Anzeige auf so genannte Websockets [4] zurück. Websocket aus HTML 5 ist ein neues Protokoll, das eine bidirektionale Kommunikation zwischen Webserver und Browser erlaubt. Anders ausgedrückt kann damit der Server dem Browser einen Datenstrom senden, selbst wenn dieser ihn gar nicht aktiv angefragt hat. Lediglich die Eröffnung der Websockets-Sitzung erfolgt per HTTP, danach läuft die Kommunikation über das neue Websocket-Protokoll.
Aus Sicherheitsgründen ist in allen aktuellen Browsern die Unterstützung von Websockets deaktiviert (Abbildung 2, Kasten “Happy End”), es gibt zumindest in Firefox auch keine versteckte Option, um dieses Verhalten zu ändern. Einziger Ausweg ist die Installation einer älteren Version, in der die Unterstützung für das Protokoll noch besteht. Der Test griff auf Empfehlung der Broadway-Entwickler auf Firefox 4.0.1 zurück, für den Mozilla fertige »tar.gz« -Pakete auf seinen Mirrors bereitstellt [5].
Happy End
Für Broadway stehen mittlerweile zwei Patches bereit ([6], [7]), die zu Redaktionsschluss zwar noch nicht in Form einer vorkompilierten Library vorlagen, aber Großes versprechen: Mit ihnen soll die Technologie dank der Unterstützung von Websockets V7+ künftig in jedem aktuellen Browser laufen. Zudem entfallen damit dann die umständlichen Änderungen an der Firefox-Konfiguration. Derzeit treten laut Entwicklerangaben mit den Patches jedoch noch Probleme auf, beispielsweise bei der Tasteneingabe.
Nach Download und Entpacken des Archivs schlug der erste Firefox-Start jedoch mit Hinweis auf fehlende Bibliotheken fehl. Des Rätsels Lösung besteht darin, die Variable »LD_LIBRARY_PATH« auf das Browserverzeichnis zu setzen, etwa mit »LD_LIBRARY_PATH=/home/floeff/firefox/home/floeff/firefox/firefox-bin« . Vor dem ersten Start ist es wichtig, alle bereits laufenden Firefox-Instanzen zu beenden, da nicht beide Versionen parallel aktiv sein können (siehe Kasten “Nicht ohne Stuntman!”).
Nicht ohne Stuntman!
Das Mischen mehrerer Firefox-Versionen kann sich unter Umständen negativ auf das verwendete Benutzerprofil auswirken, vor allem dann, wenn Extensions zum Einsatz kommen, die nur mit einer der Versionen kompatibel sind.
Da die notwendigen Konfigurationsänderungen gleichzeitig potenzielle Sicherheitslücken offenlegen, ist dringend anzuraten, entweder mit verschiedenen Profilen oder gleich mit einem dedizierten Testbenutzer zu arbeiten. Für die normale Internetnutzung sollte der Benutzer unbedingt auf einen aktuellen Firefox zurückgreifen, um in den Genuss von Sicherheitsupdates zu kommen.
Doch selbst das genügt noch nicht. Auch wenn Firefox 4.0.1 grundsätzlich die Unterstützung für Websockets mit an Bord hat, muss der Anwender das Protokoll explizit aktivieren. Eine grafische Konfiguration dafür ist nicht vorgesehen, weshalb der Weg über »about:config« in der Adresszeile führt (siehe Abbildung 3). Zwei Optionen sind im dort erscheinenden Dialog von Bedeutung: Zum einen »network.websocket.enabled« , die auf dem Testsystem bereits korrekt auf »true« gesetzt war, dann »network.websocket.override-security-block« , für die Broadway den gleichen Wert verlangt.
Premierenstimmung
Ist auch diese Hürde genommen, steht einem ersten Test nichts mehr im Weg. Aufgrund des Alphastatus von Broadway eignen sich zum Test einfache Anwendungen am besten, die auf native GTK+-Elemente setzen. Zur Demonstration prima eignet sich zum Beispiel der Gnome-eigene Editor Gedit. Im Terminal auf dem Server mit dem Befehl »gedit« aufgerufen, öffnet sich das Programmfenster wie erwartet am Desktop.
Um die Browser-Variante zu testen, genügt es, vor dem eigentlichen Programmaufruf die Variable »GDK_BACKEND« auf »broadway« zu setzen, also auf »GDK_BACKEND=broadway gedit« . Mit einem abschließenden Und-Zeichen lässt sich der Aufruf auch in den Hintergrund verschieben. Nach dem [Enter] sieht der Anwender – gar nichts. Denn Gedit läuft im Hintergrund – auch ohne Ampersand – im HTML-5-Backend.
Der weitere Weg führt über den Browser und die Adresse http://localhost:8080 – und voilà, der Star des Abends betritt die Bühne: Gedit läuft nativ im Browser! (Abbildung 5). Das Gleiche funktioniert meist auch mit allen reinen GTK+-Anwendungen, zum Beispiel Evolution (Abbildung 6).

Abbildung 6: Echte Evolution gelingt auch mit Broadway, in diesem Fall mit dem Gnome-Mailprogramm. Ein »@« einzugeben ist aber noch schwierig.

Abbildung 5: Dank Broadway läuft Gedit im Browser. Die immer wieder auftretenden Probleme mit Tastatureingaben fallen hier nicht so ins Gewicht.
Moderne Kunst: Halb fertig
Trotz dieser Vorarbeiten ist bei Weitem noch nicht jede Anwendung von Haus aus im Browser nutzbar. Im Fall von Libre Office Online beispielsweise mussten die Entwickler viel am Office-eigenen Grafikbackend namens VCL ändern. So setzt die Version auf der DELUG-DVD auf eine neuere Toolkit-Version als der regulären Build – eine Arbeit, die lange noch nicht abgeschlossen ist.
Nach derzeitigem Stand könnte in Libre Office 3.5 Broadway-Support als experimentelles Feature in die normalen Versionen gelangen, aber eine wirklich Web-kompatible Version dürfte nicht vor Ende 2012, eher erst 2013 zur Verfügung stehen. Die auf der DVD ausgelieferte Broadway-kompatible Version von Libre Office ist daher ausdrücklich nicht mehr als ein erster Prototyp. Insbesondere die Benutzeroberfläche wird für die Webversion massive Anpassungen erfahren.
Standing Ovations
Broadway ist ein großer Schritt hin zu Web-basierten Anwendungen. Im Gegensatz zu bestehenden Lösungen setzen die Entwickler dabei voll auf HTML-5-Elemente und nicht auf Remotedesktop-ähnliche Lösungen. Eine geeignete Distribution mit entsprechender GTK+-Version vorausgesetzt lassen sich einfache Anwendungen bereits heute in den Browser verlagern.
Für die Zukunft ist zu erwarten, dass Broadway eine weite Verbreitung finden wird. Mit den nötigen Patches auf GTK+-Seite und in den entsprechenden Anwendungen könnte die neue Technologie das Angebot an Web-basierter freier Software spürbar vergrößern.
Infos
- Ankündigung auf der Libre Office Conference: http://blog.documentfoundation.org/2011/10/14/libreoffice-conference-announcements/
- Libre Office Online: http://www.youtube.com/watch?v=CVR7HqDokmA&hd=1
- Alex Larssons Blog mit Infos über Broadway: http://blogs.gnome.org/alexl/
- Andreas Möller, “Blühende Oberflächen”: Linux-Magazin 01/12, S. 28
- Firefox 4.0.1 mit Websockets-Unterstützung: ftp://ftp.mozilla.org/pub/firefox/releases/4.0.1/
- Websockets-Fix: http://osdir.com/ml/commits.gnome/2011-11/msg02624.html
- GTK-Fix: http://mail.gnome.org/archives/commits-list/2011-November/msg03881.html








