Mehr Vielfalt, mehr Auswahl, mehr Eigenheiten: Der neue Browserkrieg
Dank der Unbeweglichkeit Microsofts ist aus der zwischenzeitlichen Monokultur eine Vielfalt geworden. Neben Mozillas Firefox buhlen Opera, Safari und neuerdings auch Googles Chrome um die Gunst der Surfer. Hinzu kommen diverse Mozilla-Derivate mit geringer Verbreitung. Mozilla, Opera und Safari haben sehr aktive und innovative Entwicklerteams. Microsoft ist hingegen bemüht und guten Willens, aber noch immer sehr behäbig. Für Deutschland kann man grob von einer Verbreitung von circa 25 Prozent beim Firefox ausgehen. Manche Statistiken weisen sogar um die 50 Prozent aus. Opera und Safari führen dagegen ein echtes Nischendasein [1]. Microsoft
ist noch immer der Platzhirsch, obgleich unter zunehmend problematischen Bedingungen.
Die Geister, die ich rief
Microsoft hat mittlerweile verstanden, dass es ein großer Fehler war, den IE6 so lange nicht weiterzuentwickeln. Doch die Geister, die sie riefen, werden sie nicht los. Jahrelang hatten vor allem große Firmen offenbar den Eindruck, der IE6 sei der Industriestandard und das Ende der Entwicklung. Nun scheinen gerade diese Firmen nicht auf den neuen IE7 umzusteigen – möglicherweise aus Furcht, interne Applikationen könnten nicht mehr funktionieren. Dies ist nur eine Vermutung, aber sie speist sich auch aus vielen Gesprächen. Dies hat jedenfalls fatale Folgen für die Weiterentwicklung des Webs.
So lange dieser technisch veraltete Browser noch einen großen Verbreitungsgrad hat, ist die Frontend-Entwicklung zeitaufwändiger als notwendig und in den Möglichkeiten eingeschränkt.
Browser-Optimierung
Doch in letzter Instanz ist nicht der Browser das Problem. Das eigentliche Problem ist mal wieder der Mensch. Leider hat sich noch immer nicht die Erkenntnis durchgesetzt, dass Browser unterschiedliche Fähigkeiten haben und demnach auch Webseiten in unterschiedlichen Browsern unterschiedlich aussehen können. Eine Tageszeitung sieht immer gleich aus, egal ob ich sie in München oder Hamburg kaufe. Der Internetauftritt derselben Tageszeitung könnte allerdings sehr wohl unterschiedlich in Firefox 3, IE6 und Google Chrome aussehen. Die Seite könnte in den modernen Browsern ein modifiziertes Layout haben, manche Funktionen könnten nur im Firefox oder in Chrome zu sehen und zu bedienen sein. Diese Flexibilität entspräche dem Medium, scheint aber in der Vorstellungswelt der allermeisten Kunden und Webdienstleister nicht vorzukommen. Und es ist tatsächlich schwierig, dem Kunden zu sagen, er hätte eine tolle Website, könne sie aber dummerweise nicht in voller Brillanz sehen, weil sein Admin ihm nur den IE6 gestatte.
Dieser flexible Ansatz ist aber auch für Webentwickler und Grafiker nicht immer einfach zu verstehen und umzusetzen. Die bisher beredt in Blogs und Büchern genannten Beispiele kommen über die Komplexität eines Blogs kaum heraus. Beispiele für Shops oder umfangreiche Newsseiten fehlen.
Immer häufiger wird allerdings offen diskutiert, den IE6 entweder komplett oder nur teilweise auszusperren. Für Applikationen kann eine vollständige Aussperrung sicherlich Sinn machen, wenn man nicht auf die vielen Berufstätigen während deren Arbeitszeit angewiesen ist. Apple sperrt bei seinem neuen Dienst „MobileMe“ beispielsweise bewusst IE6-Nutzer aus [2].
Optimale Optimierung
Eine Unsitte aus der Anfangszeit des Webs ist noch immer präsent in den Köpfen: die Browser-Optimierung. Man schreibt sie nicht mehr ans Ende einer Seite, sie ist aber noch immer in den Köpfen, Verträgen und Kundenanforderungen präsent. Dabei kann man die allgemeine Anforderung an jede Website doch ganz einfach formulieren: Der Besucher einer Webseite darf nicht daran gehindert werden, den Inhalt derselben zu erfassen. Dies sollte möglichst in nutzerfreundlicher und attraktiver Art geschehen. Wer aber sagt, dass eine Seite im IE6 exakt genauso aussehen muss wie im IE7 oder IE8? Wer kann denn dies überhaupt vergleichen? Wer surft mit zwei Browsern gleichzeitig?
Webstandards!
Glücklicherweise setzt sich bei Entwicklern vermehrt die Erkenntnis durch, dass man im ersten Schritt nicht auf einen Browser optimiert, sondern stattdessen die Webstandards korrekt anwendet. In einem zweiten Schritt kann man dann die Darstellung für den IE6 reparieren. Auch die Browserhersteller – selbst Microsoft – scheinen Webstandards mittlerweile ernstzunehmen. Microsoft-Entwickler waren verblüfft, als sie in Europa in Gesprächen mit Webentwicklern erfuhren, dass diese dringend eine Verbesserung der Webstandardsunterstützung wünschten, auch zu Lasten besonderer Browserfeatures oder des Erscheinungstermins. Doch noch immer gibt es keinen Browser, der XHTML oder CSS2 komplett unterstützt [3].
Webstandards?
Was ist aber so wichtig an einer verbesserten Standardunterstützung? Ist das nicht nur etwas für Geeks? Nein, denn Standardisierung gibt wirtschaftliche Sicherheit. Wenn der Auftraggeber weiß, dass seine Seite oder Applikation mit Code arbeitet, der von allen Browsern jetzt und auch in Zukunft gleichartig interpretiert wird, dann besitzt er Investitionssicherheit.
Der Internet Explorer 8
Den weitesten Weg in punkto Standardunterstützung hat dabei Microsoft zurückzulegen. Die Chancen für eine Verbesserung stehen gut. Der IE8 kommt mit einer neuen Engine und hat alten Ballast abgeworfen. So wird es beispielsweise die Eigenschaft „hasLayout“ nicht mehr geben, die für so viele CSS-Fehler verantwortlich ist. Trotz aller positiven Aspekte kocht Microsoft allerdings noch immer punktuell sein eigenes Süppchen, die Probleme werden möglicherweise nicht weniger, höchstens anders [4]. Und noch immer wird XHTML nur als TagSoup unterstützt [5]. Kurzum: Echte XHTML-Unterstützung verweigert uns Microsoft auch noch acht Jahre nach Einführung des Standards.
JavaScript-Engines
Google hat es mit Chrome überdeutlich gezeigt: JavaScript ist derzeit die treibende Kraft in der Browserentwicklung. Kaum war Chrome mit einer schnellen JavaScript-Engine draußen, zogen Opera und Firefox nach. JavaScript wird immer wichtiger, da es für moderne und gut nutzbare Applikationen benötigt wird. Doch die Engines benötigen nicht nur Geschwindigkeit, sondern auch Sicherheit. Vor allem sollten (endlich) alle Browser JavaScript und das DOM gleichartig implementieren. Solange dies noch nicht flächendeckend gegeben ist, ist zur Nutzung eines der weitverbreiteten JavaScript-Frameworks zu raten.
Next Generation Browser
Die wirkliche Revolution steht uns noch bevor. Der Browser als monolithisches Gebilde wird mehr in Frage gestellt. Tools wie Google Gears, Adobe AIR oder Mozilla Prism zeigen, wo die Reise hingeht: Der Browser macht Web-Applikation so erlebbar, als wären es Desktop-Applikationen. Es bleibt abzuwarten, ob sich hier die traditionellen Browser mit erweiterten Fähigkeiten durchsetzen oder ob der Ansatz von Adobe AIR reussieren wird.
Standards sind wichtig
Damit man vor allem im Frontend einen größeren Schritt weiterkommt, bevor die Browser neu erfunden werden, sollten die Hersteller die bestehenden Browser mit einheitlicher Unterstützung bestehender Standards ausstatten. Dies würde die Entwicklung von Websites enorm erleichtern, wenn man für einheitliche Standards entwickeln könnte und man sich weder zurückhalten, noch einzelnen Browsern ein Extra-Süppchen kochen müsste.
Ein anderes Problem: Applikationen werden wichtiger, doch HTML ist überhaupt nicht auf Applikationen ausgerichtet. HTML wurde entwickelt, um Dokumente zu strukturieren. Fast alle Bedienelemente einer Applikation werden heutzutage mit HTML, CSS und JavaScript simuliert. Man könnte sagen: Sie werden „hingelogen“. Das W3C geht mit der Veröffentlichung von WAI-ARIA [6] genau den richtigen Weg. Jetzt sollten alle Browserhersteller diesen neuen Standard möglichst schnell und vor allem gleichartig implementieren. Microsoft scheint hier mal wieder aus der Reihe zu tanzen [7]. Und als Nächstes sollte möglichst schnell HTML 5 folgen, um mit HTML 6 beginnen zu können. Das Gleiche gilt für CSS 3, das mittlerweile in vielen modernen Browsern in großen Teilen funktioniert.