Ob Flash nun in den nächsten Jahren obsolet werden wird oder nicht: Irgendwann gibt es auf jeden Fall einen Technologiewechsel. Flash wird, wie jede Technologie, nicht auf ewige Zeiten benötigt werden, und die Verbreitung von Flash wird aufgrund neuer Geräte und Plattformen nicht immer bei jenen fantastischen 98% liegen, die es im Moment für sich reklamieren kann.
Und während noch hitzig debattiert wird, ob Flash nun zum "kompletten Internet" unbedingt dazu gehört oder nicht, arbeitet man anderswo längst an der Nachfolgetechnik. Die Web-Programmierer beobachten schon seit einer Weile eine Art "grafische Revolution" im Internet, die sich derzeit ihre ersten Bahnen schlägt.
Wie wird der Nachfolger von Flash aussehen und wie wird es funktionieren?
Was hat Flash eigentlich so interessant gemacht, dass es so allgegenwärtig wurde? Der ursprüngliche Zweck, Grafiken möglichst schlank zu halten, ist heute ja nicht mehr relevant.
Es gibt zwei von einander unabhängige Gesichtspunkte, welche die Nützlichkeit von Flash ausmachen. Auf der einen Seite hat Flash eine technische Funktion, die darin besteht, dass es etwas ermöglicht, was ansonsten unmöglich wäre, nämlich programmgesteuerte Animationen.Technologisch gesehen geht es um eine Render-Engine, die in der Lage ist, schlanken Code in Grafik zu verwandeln.
Auf der anderen Seite hat Flash eine inhaltliche Funktion, die völlig losgelöst ist von der technischen Realisierung. Beispielsweise möchte jemand einen Flash-Banner erstellen, um für ein Produkt zu werben. Es müssen ein paar animierte Schriften her, und es ist eigentlich egal, wie diese technisch zustande kommen. Benötigt wird eine Software, mit der man diese Schriften erzeugen kann, und je simpler das ist, umso besser.
Bild: Verbreitung des Flash-Plugins (Quelle: Adobe).
Flash hat den Werbemarkt nicht deswegen erobert, weil die Render-Engine so grandios wäre, sondern weil eine Software existiert, mit der technische Laien diese Animationen billig zusammenkloppen können.
Es ist diese Kombination aus Generator-Software einerseits und Render-Engine andererseits, die Flash so erfolgreich gemacht hat. Es ist nicht Video. Video kam erst als trivialer Nebeneffekt hinzu, als Flash bereits überall installiert war.
-------
Wie konkurrenzfähig ist diese Kombination im Zeitalter von HTML5? Das ist die große Frage. Wie leicht kann man es ersetzen? Kann man es überhaupt? Sehen wir uns dazu die Flash-Komponenten und den HTML-Ersatz an.
Die Render-Engine besteht grob aus zwei Komponenten. Erstens die Grafik, und zweitens eine Skript-Sprache namens ActionScript, mit der diese Animationen meist gesteuert werden (wenn sie nicht völlig trivial sind).
Ein HTML5-Browser kann die Grafik mit dem von Apple entwickelten „Canvas“-Objekt im Prinzip genau so darstellen, wie das Flash-Plugin. Jedes einzelne Pixel kann frei positioniert werden, folglich ist alles möglich. Es ist allerdings recht mühselig, die Pixel einzeln hin und her zu schieben. Aber es geht.
Die Skriptfähigkeit ist bei einem modernen Browser ebenfalls gegeben, und zwar durch JavaScript. Mit JavaScript kann man auch das Canvas-Objekt präzise steuern. Das ist ja das Schöne an HTML5, dass man mit JavaScript jedes Element nach Belieben beeinflussen kann.
Bild: Apples Canvas-Objekt erlaubt es, das einzelne Pixel zu steuern.
Zwischenstand: Flash hat eine technische und eine inhaltliche Funktion, und die technische Funktion lässt sich durch HTML5 komplett darstellen. (Vielleicht trifft das nicht in jedem winzigen Detail zu, aber für die Kürze dieses Artikels ist eine gewisse Verallgemeinerung sicher angemessen.)
-------
Bleibt die inhaltliche Funktion. Wie erstellt ein Webdesigner nun einen „Flash-Banner ohne Flash“, für den er vielleicht 100 oder 200 Euro abrechnen kann? Er wird wohl keine Lust haben, jede Bewegung seiner Schriften in JavaScript zu programmieren. Eine Generator-Software muss her.
Und spätestens hier werden die Dinge höllisch interessant. Denn es liegt auf der Hand, dass es für eine solche Generator-Software zum Erzeugen von Animationen bald einen gigantischen Markt geben wird. Die Karten in diesem neuen Markt sind noch nicht verteilt. Das wird zu einer großen Schlacht führen, denn solange der Markt nicht besetzt und gesättigt ist, kann jeder als der große Gewinner hervorgehen, so wie es damals Flash geschafft hat.
Aber die Dinge liegen diesmal anders. Denn was würde eine solche Generator-Software eigentlich generieren? Die Browser, welche die Animation später abspielen sollen, verstehen im Prinzip nur JavaScript. Folglich wäre es ein JavaScript-Generator. Eine Animation würde aus vielen, vielen meist sehr komplexen JavaScript-Progrämmchen bestehen.
In der Praxis sähe dies vermutlich etwas anders aus. Der Generator würde ziemlich sicher über eine Bibliothek an JavaScript-Befehlen verfügen. In dieser Bibliothek sind die grundsätzlichen Funktionen definiert. Etwa, wie ein Objekt von Position A zu Position B wandert. Oder wie ein Kreis gezeichnet wird.
Die eigentliche Animation besteht dann aus relativ wenigen Befehlen, welche die Funktionen aus der Bibliothek nutzen. Ein Befehl könnte sagen: „Bewege Textobjekt 1 von A nach B“. Wie diese Bewegung genau abläuft, d.h. was mit dem einzelnen Pixel geschieht, ist in der Bibliothek festgelegt, deswegen kann der Befehl so kurz und ungenau sein. Der ganze Pixelkram ist Sache der Bibliothek.
Bild: Grafik-Bibliotheken für JavaScript.
Es ist im Grunde wie bei einem Betriebssystem. Das Betriebssystem ist eine riesige Bibliothek mit detailliert ausgetüftelten Funktionen, beispielsweise auch Animationen. Der Programmierer eines Programms nutzt diese und braucht nur zu sagen: „Bewege Objekt X von A nach B“, ohne sich darum kümmern zu müssen, wie er die Grafikkarte dazu bringt, die Pixel richtig zu verarbeiten, denn das ist in der Bibliothek von OS X bereits abrufbar.
In den Bibliotheken befindet sich also der wertvolle Code. Aber anders als bei einem Betriebssystem haben wir es hier mit JavaScript zu tun, und JavaScript ist für jeden offen lesbar. Es gibt keine Betriebsgeheimnisse. Diese Umstand hat weitreichende Konsequenzen.
-------
Die erste Konsequenz könnte sein, dass ein sehr scharfer Wettbewerb entsteht, weil die Geistesblitze eines Konkurrenten sofort kopiert werden können. Die Anbieter müssten schon mehr bieten als nur ein paar lahme Animationen, sondern darüber hinaus eine geile Applikation, mit der jeder gerne arbeiten möchte. (Das ist etwas, was man von Flash nicht gerade behaupten kann.)
Eine zweite Konsequenz wäre eventuell, dass der Wettbewerb um die beste Bibliothek irgendwann zum Erliegen kommt, und dass sich eine per Open Source gepflegte Standard-Bibliothek durchsetzt. Diese könnte von jedem Anbieter je nach Bedarf durch weitere Bibliotheken ergänzt werden, denn mit JavaScript kann man sehr einfach eine Vielzahl von Bibliotheken gleichzeitig verwenden. Ein Anbieter könnte also eine zusätzliche 3D-Bibliothek anbieten, oder etwas in der Art. Google arbeitet übrigens seit einiger Zeit an solchen Bibliotheken, die z.B. 3D-Grafik mit Hardware-Beschleunigung per JavaScript ermöglichen -- kostenlos für alle, die es haben wollen.
Man muss sich vorstellen, welche Dynamik hier entstehen wird. Frei einsehbare Animations-Bibliotheken, die jeder verbessern kann. Spezial-Erweiterungen für besonders tolle Effekte, die man „einfach so“ einbindet, wenn man Lust dazu hat. Es sind nur ein paar weitere Kilobytes vom Server, kein Plugin nötig.
Es gibt noch einen weiteren Dreh. Das Ergebnis besteht am Ende aus JavaScript, und die "Vorschau" des Generator-Programms ist deswegen nichts anderes als ein Browser. Was dazu führt, dass der Generator selbst im Browser laufen kann. Eine Browser-Anwendung, die animierte Werbebanner erzeugt. Und welcher Name fällt uns zuerst ein, wenn es um Web-Apps und Werbung geht? Google. Man klickt sich dort seinen Banner zusammen, und sofort erscheint er weltweit im Werbenetzwerk des Datenriesen. Deswegen ist die Generator-Software auch kostenlos. Klingt das plausibel?
Und man stelle sich vor, welche Flut an Generatoren wir sehen werden. Kleine, feine Spezialisten von unabhängigen Entwicklern. Mächtige Suiten von Adobe und Microsoft, mit entsetzlichen Oberflächen. Vielleicht sogar eine Software, die man mit Spaß bedient. Etwa von Apple? Man denke an eine Art „Keynote“, wo man per Drag & Drop seine Animationen und Effekte kombiniert. Einfache Lösungen wird es gratis geben, große Pakete erhält man aufgrund des Konkurrenzdrucks zu einem fairen Preis.
Man vergleiche das mit dem aktuellen Zustand, wo alles von Adobe abhängt.
-------
Apropos Adobe. Ist es denkbar, dass sie diese leicht vorhersehbare Zukunft nicht erkennen? Immerhin arbeiten sie ja bereits bei einigen Produkten
an einer Art HTML5-Export. Die Frage ist, ob sie den Mut haben, ihren eigenen Produkten radikal Konkurrenz zu machen.
Jedenfalls, das Vakuum, welches durch HTML5 und den Wegfall von Flash auf einigen Geräten entsteht, ist so groß, dass sich zweifellos solche Lösungen entwickeln werden. Es besteht weiterhin ein Bedarf an animierter Werbung, Browser-Games und Rich-Client-Applications. Der Bedarf wird nicht abnehmen, sondern dramatisch zunehmen.
Das Kuriose ist, dass eben dieser Bedarf im Moment noch den größte Schutz für Flash darstellt, er aber gleichzeitig auch die größte Antriebsfeder dafür sein wird, alternative Techniken zu schaffen. Der Bedarf entscheidet. Flash war nur ein Hilfsmittel.
Steve Jobs meinte angeblich, Adobe wäre faul und sie würden die Chancen nicht erkennen. Falls dieses Zitat authentisch ist: Könnte es sein, dass er genau dies meinte? Dass HTML5 riesige Chancen bietet? Dass Adobe aber eher versucht, die Vergangenheit festzuhalten?