Aus dem Fuchsbau

Mehr als ein Jahr musste sich die Mozilla-Nutzergemeinde auf das Erscheinen einer neuen Version ihres Browsers gedulden, die kein Bugfix ist. Doch das Warten hat sich gelohnt: Firefox 3.5 bringt so viele neue Funktionen, dass es auch für ein Major Release gereicht hätte.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 14 Min.
Von
Inhaltsverzeichnis

Man muss schon genau hinsehen, um zu erkennen, dass die Mozilla-Entwicklergemeinschaft ihrem Browser ein neues Logo verpasst hat. Und auch sonst bringt Firefox 3.5 auf den ersten Blick keine auffälligen Veränderungen an der Bedienoberfläche. Erst wenn man ein wenig mit dem Browser herumspielt, bemerkt man die vielen Neuerungen, die das Surfen wesentlich geschmeidiger machen, etwa die bei Opera abgeschaute neue Tab-Verwaltung.

Auf dem gemeinsam genutzten PC nach einem Geschenk für die Liebste suchen? Kein Problem im privaten Modus, im Nachhinein beseitigt Firefox jetzt einzelne URLs aus der Chronik - so fällt nicht mal die Löschung auf.

Der Benutzer kann jetzt einzelne Tabs aus einem Browserfenster herausziehen, um sie in ein anderes zu werfen oder um damit ein neues Browserfenster zu öffnen. Multitasker, die gleichzeitig twittern, die Nachrichtenlage checken und eine Recherche durchführen, können Karteireiter jetzt thematisch verschiedenen Browserfenstern zuordnen.

Der ursprünglich bereits für Version 3 vorgesehene private Surfmodus, bei dem der Browser keine Informationen über die besuchten Sites, Cookies et cetera aufzeichnet, ist sicherlich keine Erfindung von Mozilla; Safari, Internet Explorer und Chrome bieten ihn bereits. Allerdings haben die Firefox-Entwickler ihn auf intelligente Weise weiterentwickelt. So schaltet der Browser beim Wechsel in den Privatmodus bereits offene Tabs ab, damit der Benutzer nicht aus Versehen eine private Seite in einem normalen Tab aufruft. Nach Ende des Privatmodus stellt Firefox die alte Sitzung wieder her.

Mit dem Befehl „Neueste Chronik löschen“ kann der Benutzer wie bei anderen Browsern alle Surfspuren beseitigen, aber auch nur die der letzten ein, zwei oder vier Stunden oder des gesamten Tages – und zwar jeweils selektiv die besuchten Seiten, die Cookies, den Cache et cetera. Dies ist eine wirklich praktische Ergänzung zum privaten Surfmodus, denn mitunter fällt einem erst nachträglich auf, dass man den Besuch einer Seite nicht registriert haben will.

Noch feiner lässt sich die Chronik mit den Kontextmenübefehlen „Diese Seite löschen“ oder „Diese Website vergessen“ säubern: Sie entfernen einzelne URLs oder alle Links einer Site aus der Surf-Historie. Einziger Makel der Privacy-Neuerungen: Plug-ins und Erweiterungen können sie ignorieren – so können sich beispielsweise trotz Privatmodus in den Flash-Cookies immer noch verräterische Datenspuren finden.

Insbesondere der private Surfmodus hat auch Auswirkungen auf die Entwickler von Erweiterungen. Viele haben ihre Hausaufgaben bereits gemacht: Vom Download-Manager Flashgot über die Scripting-Erweiterung Greasemonkey bis zum Entwicklerwerkzeug Firebug sind etliche Erweiterungen bereits für Firefox 3.5 verfügbar.

Schon vor dem Start von Firefox 3.5 hat Mozilla versucht, für die Anwender das Erweiterungs-Dickicht zu lichten: Mit dem Add-on-Sammler lassen sich von anderen geschnürte Fertigpakete bequem installieren oder selbst welche zusammenstellen, etwa für mehrere Browser-Installationen. Und auch die Anpassung des Themes gelingt mit der Erweiterung Personas nun kinderleicht – zwei Mausklicks genügen, und Firefox 3.5 hat ein anderes Design.

Die Adressleiste hat eine Reihe von Befehlen dazugelernt. So kann der Benutzer gezielt in der History fahnden, indem er ein ^ eingibt. Entsprechend durchsuchen * nur die Bookmarks, + nur getaggte Lesezeichen, @ ausschließlich besuchte URLs und # nur die Seitentitel. In about:config können Benutzer unter den Schlüsseln browser.urlbar.restrict.* genau vorgeben, auf welche Ressourcen die Adressleiste zugreifen soll.

Sollte Firefox einmal abstürzen, kann der Benutzer bei der Sitzungswiederherstellung genau festlegen, welche Tabs der Browser wieder öffnen soll. Damit lässt sich der Urheber des Crashs ausschließen. Bei den Entwicklerwerkzeugen verlässt sich Firefox weiterhin auf Erweiterungen wie Firebug, doch immerhin sind nun in der Quelltextansicht Links auf eingebundene Ressourcen klickbar.

Per <video>-Tag eingebettete Inhalte ermöglichen ganz neue Effekte, etwa dynamisch in Videos eingebettete Bilder oder während der Wiedergabe veränderte Videos.

Von den zahlreichen Änderungen an der Darstellungs-Engine könnten die <audio>- und <video>-Tags die nachhaltigste Wirkung entfalten. Videos sind zu zentralen Webinhalten geworden – nicht zuletzt dank Flash und seinem Konkurrenten Silverlight, welche das Betrachten direkt im Browser erlauben und dem Benutzer das Herumhantieren mit unterschiedlichen Playern und Codecs ersparen. Will man diese proprietären Plug-in-Lösungen von Adobe und Microsoft zugunsten des offenen Webs zurückdrängen, führt kein Weg an nativer Unterstützung von Multimedia-Inhalten im Browser vorbei.

Bei den auch von Safari unterstützten HTML5-Tags kann der Webdesigner ähnlich wie bei eingebetteten Objekten mit <source src="…" type="…"/> verschiedene Formate zur Auswahl stellen; selbst ein Fallback zu Flash ist möglich. In der Praxis wird der Erfolg der Audio- und Video-Tags davon abhängen, welche Formate die Browser nutzen können. Während Apple Safari die eingebundenen Aufnahmen an den hauseigenen Quicktime-Player weiterreicht, bringt Firefox 3.5 Codecs für Ogg Vorbis, Ogg Theora und WAV-Dateien mit. Theora kann in Sachen Qualität zwar nicht mit H.264 mithalten, bietet aber immerhin eine höhere Qualität als die meisten YouTube-Videos.

Die eingebaute Medienunterstützung ist nicht nur für Webdesigner mit Open-Source-Idealismus interessant: Ein abgespielter Film ist immer noch Teil des Browserfensters, der sich beispielsweise durch HTML, CSS-Effekte, Bilder oder andere Videos anreichern lässt. Mozilla veranschaulicht das anhand beeindruckender Demos.

Ob das genügt, um Flash und Silverlight ihre Rolle als Multimediaplattformen streitig zu machen, steht auf einem anderen Blatt. Bei der Einführung einer neuen Abspielumgebung gibt es ein Henne-Ei-Problem zwischen Anbietern und Nutzern – doch mit Firefox 3.5 ist, so der Mozilla-Mitarbeiter Johnathan Nightingale im Gespräch mit c't, „die Henne viel größer geworden“. Und auf Portalen wie Dailymotion.com oder der Wikipedia sind auch schon die ersten Video-Eier gelegt.

Ursprünglich war geplant, dass Mozilla von Adobe die ActionScript-Engine des Flash-Players als JavaScript-Interpreter übernimmt. Dieses Projekt unter dem Codenamen Tamarin wurde letztlich nicht umgesetzt, aber Ideen daraus sind in die neue Engine TraceMonkey eingegangen. Ähnlich wie Googles V8 oder Apples Nitro kompiliert sie die Skripte vor der Ausführung zu Maschinencode. In der Praxis ergeben sich daraus erhebliche Leistungssteigerungen. So schaffte Firefox 3.0.11 bei der Testsuite Dromaeo im Durchschnitt 123 Durchläufe pro Sekunde, der Release-Kandidat dagegen 317, was einer Steigerung um den Faktor 2,5 entspricht. Außer TraceMonkey sollen auch Tricks beim Rendern und das Prefetching von DNS-Anfragen auf verlinkte Seiten für fühlbare Beschleunigung sorgen.

Vor dem Zugriff auf die Verbindungsdaten, um den Standort des Browsers zu ermitteln, fragt Firefox nach.

Misstrauisch beäugen dürften Datenschutzsensibilisierte die Fähigkeit des Browsers, mithilfe von Google den Aufenthaltsort des Benutzers herauszufinden. Zu Paranoia besteht aber kein Grund, denn bevor eine Anwendung dieses W3C-spezifizierte und in JavaScript umgesetzte Geolocation API nutzen kann, fragt der Browser um Erlaubnis. Google wertet die anonymen Verbindungsdaten aus (zum Beispiel die Standorte von Funknetzen) und vergibt eine zwei Wochen gültige ID an den Browser, ähnlich einem Cookie. Übrigens ist das Geolocation API nicht an Google gebunden – jeder mit den entsprechenden Daten kann so einen Dienst anbieten.

Lokale Speicherung von Anwendungsdaten nach der HTML5-Spezifikation DOM Storage unterstützte teilweise bereits Firefox 2; Version 3.5 ergänzt das globalStorage-Objekt um das restriktivere localStorage. Dazu kommt noch ein definierter Cache, auf den Skripte schreibend und lesend zugreifen können. Mit der Kombination aus Cache und DOM Storage kann eine Anwendung ihre Weboberfläche und ihre Daten lokal für einen Offline-Modus sichern und die Daten bei erneuter Verbindung synchronisieren – eine Funktion, für die bisher Google Gears gebraucht wurde.

Überhaupt haben sich die Mozilla-Entwickler offenbar zum Ziel gesetzt, Gears überflüssig zu machen. Dieses Browser-Plug-in für experimentelle Webstandards enthält ja ansonsten noch das Geolocation API und die ebenfalls in Firefox 3.5 eingeführten Web Worker. Diese bearbeiten Skripte in eigenen Threads, die im Hintergrund laufen, was sich auch als Sandbox nutzen lässt.

Der Zugriff auf externe Datenquellen mit dem XMLHttpRequest-Objekt (XHR), dem Kernstück von Ajax, ist bisher auf die gleiche Domain beschränkt. Nicht nur Webdesigner, sondern auch die Browserhersteller tüfteln seit geraumer Zeit an Lösungen, die diese Beschränkung aufheben, ohne dass die Sicherheitsrisiken unüberschaubar werden. Während Microsoft im IE8 mit XDomainRequest ein eigenes Süppchen kochte, orientiert sich Mozilla mit einem aufgebohrten XHR-Objekt an den W3C-Konzepten.

Aus modernen Bedienoberflächen im Web ist Drag & Drop nicht mehr wegzudenken. Firefox 3.5 trägt dem mit einem HTML5 entlehnten API Rechnung, das solche Effekte mit wenig JavaScript möglich macht. Mit Mausgesten lässt sich künftig nicht nur der Browser, sondern auch eine Webanwendung steuern – jedenfalls schafft ein entsprechender Event-Handler die Voraussetzung dafür.

Um ein JavaScript-Objekt in dem schlanken Datenformat JSON zu fixieren, war bisher eine JavaScript-Bibliothek notwendig, was mit der nativen JSON-Unterstützung in Firefox 3.5 entfällt. Mozilla sieht dies als offizielle Neuerung in JavaScript, dessen Versionszähler damit auf 1.8.1 hochklettert. Auch für den Skriptzugriff auf den Dokumentenbaum mit Hilfe von CSS-Selektoren braucht es nun keine Frameworks mehr: Der Browser implementiert das vom W3C entworfene Selectors API. Zu diesen Selektoren zählen nun auch sieben neue Pseudoklassen aus der CSS3-Spezifikation, darunter :nth-child.

Hätte man einem Webdesigner vor elf Jahren erzählt, dass 2009 die Verwendbarkeit von Download-Schriftarten in greifbare Nähe rückt, hätte er einen vermutlich ausgelacht – denn schließlich sah schon die 1998 verabschiedete CSS2-Spezifikation dieses für gehobene Typografie grundlegende Feature vor. Firefox ist also spät dran, legt aber mit der Unterstützung von TrueType- (TTF) und OpenType-Fonts (OTF) eine gute Umsetzung vor. OTF sollte nicht mit Embedded OpenType (EOT) verwechselt werden, das Internet Explorer schon seit 1997 in Layouts einbaut. Eine ähnliche Geschichte haben die CSS-Eigenschaften für Schatten (text-shadow) und Transparenz (opacity) hinter sich.

Seit Langem können Webdesigner mit @media-Anweisungen in CSS für unterschiedliche Geräte unterschiedliche Layouts gestalten. Ging es jedoch um Details wie Farbtiefe und Größe des Browserfensters, musste JavaScript herhalten. Mit einer CSS3 entlehnten Erweiterung von @media können sich Webdesigner diesen Umweg sparen.

Nach Safari beherrscht nun auch Firefox CSS-Transformationen. Diese Technik erlaubt es, Bereiche der Website zu kippen, zu skalieren oder zu verzerren und einfache dreidimensionale Effekte zu modellieren. Faszinierende Gestaltungsmöglichkeiten eröffnen die Integration des HTML5-Text-API in Canvas und die SVG-Layer, die sich über den HTML-Inhalt legen können.

In Zeiten immer leistungsfähigerer Monitore und Kameras sind ICC-Farbprofile ein Thema von wachsender Bedeutung. Firefox 3.0 machte es bereits besser als die Konkurrenz, doch mussten die Benutzer dazu die about:config-Einstellung gfx.color_management.mode ändern; bei Firefox 3.5 ist das nochmal geringfügig verbesserte Farbmanagement in entsprechend ausgezeichneten Bildern per Default aktiv.

Nicht mehr in Version 3.5 hat es eine Funktion geschafft, die wir uns gewünscht hätten, als die Geschichte mit den schwachen OpenSSL-Zertifikaten unter Debian bekannt wurde. Über CRL Distribution Points verteilen Zertifizierungsstellen Listen mit widerrufenen Zertifikaten (Certificate Revocation Lists). Während Internet Explorer seit Jahren CRL-DPs automatisch auswertet, muss der Anwender sie bei Firefox von Hand eintragen – und das macht kein Mensch, weshalb viele kompromittierte und längst widerrufene Zertifikate in Firefox keinen Alarm auslösen. Laut Mozilla-Vizepräsident Mike Shaver ist diese Funktion jedoch fast fertig und wohl für Firefox 3.5.1 zu erwarten. Bisher kennt Firefox nur das Online Certificate Status Protocol (OCSP), das aber nur wenige Zertifizierungsstellen nutzen.

Ein großes Plus an Sicherheit könnte bald auch die Content Security Policy (CSP) bringen, die Mozilla kürzlich als Konzept vorgestellt hat. Dabei gibt die Webseite alle zulässigen Quellen für JavaScript in einer Whitelist an, womit sie zum Beispiel auch in den HTML-Body eingeschmuggelte Skripte ausschließen kann – ein vielversprechender Ansatz gegen Cross-Site Scripting, der vielleicht in Firefox 4 enthalten sein könnte.

Was Internet Explorer 8 und Google Chrome vorgemacht haben, dürfte sich mittelfristig auch in Firefox finden: die Aufteilung auf mehrere Prozesse für mehr Stabilität und Sicherheit bei komplexen Webanwendungen. Probleme macht laut Mike Shaver hier vor allem die Mac-Plattform (was auch die schleppende Portierung von Google Chrome erklären könnte). Ohnehin ist die Mac-Version ein Sorgenkind, da sie für Sicherheitslücken anfälliger ist (wie der Hacker-Wettbewerb pwn2own zeigte) und die Integration ins Betriebssystem zu wünschen übrig lässt.

Für den kommenden Versionssprung stehen auch weitere Performance-Steigerungen auf dem Programm, denn schließlich liegt Firefox 3.5 immer noch (wenn auch knapp) hinter Safari und Chrome. Shaver ist zuversichtlich, dass das Potenzial von TraceMonkey noch nicht ausgeschöpft ist. Optisch steht eine Renovierung des Standard-Themes ins Haus, das vor allem unter Windows 7 nicht mehr frisch aussieht. Dafür wird wohl die Unterstützung von Windows 2000 wegfallen.

Einige Mozilla-Labs-Projekte dürften Eingang in Firefox 4 finden, beispielsweise der Site-spezifische Browser Prism, in dem Webseiten wie lokale Anwendungen aussehen. Interessanter scheint Weave, das ähnlich wie Opera Sync Daten über verschiedene Browser-Installationen hinweg abgleicht.

Noch spannender ist das Projekt Jetpack, eine Art Framework für Firefox-Erweiterungen, die aber nicht wie bisher in XUL, sondern in HTML und JavaScript geschrieben werden und sich bei laufendem Browser installieren und aktualisieren lassen. Tatsächlich könnte das für Firefox 4 anvisierte Jetpack den Anfang vom Ende XULs einläuten, auf dem ja auch Firefox selbst basiert. Aber bis dahin sehen wir sicher noch einige Firefox-Versionen kommen und gehen.

Literatur

[1] Firefox 3.5 for developers

[2] Jetpack

www.ctmagazin.de/0915032 ()