Warum alle Flash hassen – und wir es trotzdem nutzen.

via @MadeMyDay

In letzter Zeit häufen sich die Anfragen bei unserer Firma, warum wir in noch so vielen Fällen auf Adobe Flash für das Frontend setzen. Die Technologie sei überholt – die Alternativen mit Javascript und html5 mannigfaltig und außerdem verabschiedet sich Apple offenkundig mehr und mehr vom Flash-Player auf den Plattformen iPhone, iPod und iPad.

Zunächst einmal wird diese Diskussion mit sehr vielen Emotionen geführt. Ich bin immer wieder erstaunt, wie viele Menschen (vor allem Entwickler) Adobe Flash vom Grunde ihres Herzens hassen. Kaum eine andere Technologie ist so stark verbreitet und hat so wenige Freunde.

Warum alle Flash hassen:

Die Abneigung gegen Flash als Entwicklungsumgebung und den damit verbundenen Flash-Player ist u.a. erklärbar aus den ersten Versionen der Entwicklungsumgebung. Die ersten Versionen von ActionScript und der dazugehörigen grafischen Entwicklungsumgebung hatten den Namen nicht verdient. Vor allem lenkten sie aber den Unmut von Entwicklern auf sich, da mit diesen Entwicklungsumgebungen auf einmal jeder Grafiker sich aus bunten Kästchen und ein wenig klicki-klacki einen Prototypen hat zusammenzimmern können. Auf einmal wurden in jedem Meeting Prototypen von Menschen herumgereicht, die in ihrem Leben noch keine Zeile Code geschrieben hatten. Das hatte etwas von Konkurrenz, aber auch sehr viel von Dilettantismus. Softwareentwickler mussten sich auf einmal rechtfertigen, warum sie für etwas mehrere Monate Zeit brauchen – wo doch Frau A. aus der Buchhaltung einen Prototypen in 5 Stunden bauen konnte. Das war eine sehr frustrierende Zeit.

Zusätzlich kam mit der Entwicklung von Flash auf einmal die Unart auf, Webseiten mit einem Flash-Intro beginnen zu lassen. Jeder Benutzer musste sich ein teilweise mehrminütiges fragwürdiges grafisches Machwerk anschauen, bevor er an die gesuchte Information kommen konnte. An diesem Umstand trifft Macromedia (denen gehörte damals Flash) keine direkte Schuld – aber die Wirkung auf die Akzeptanz bei den IT-affinen Usern war verheerend.

Ferner ist Flash heute eine so komplexe Umgebung geworden, dass man bei der Entwicklung in Flash sehr viele unanständige Fehler machen kann … und sie werden andauernd gemacht. Oftmals liefern Flash-Seiten keinen RSS Feed aus, haben keine Permalinks auf einzelne Zustände der Seite und werden von den Suchmaschinen nicht gefunden. All dies sind Features, die man bei der Entwicklung in einem nicht-Flash-Framework meistens “geschenkt” bekommt – und sie sind in Flash-Umgebungen wirklich etwas umständlich zu erzeugen.

Die Apfel-Rolle

Äpfel und Birnen

http://www.flickr.com/photos/apfelherz/275675061/ via http://www.flickr.com/photos/apfelherz/

Jetzt kommt noch Apple um die Ecke und versucht der Technologie Flash praktisch den Gnadenstoss zu versetzen. Die neuen Apple Geräte (iPhone, iPod, iPad) unterstützen kein Flash und etwaige Entwicklungen Flash trotzdem auf die Plattformen zu portieren werden unterbunden. Das Argument für die nicht Flash Unterstützung ist die “Fehlerhaftigkeit” des Flash Players … und im übrigen kann den Flash Player doch sowieso keiner Ausstehen. Das sagt zwar keiner – ist aber trotzdem immanenter Bestandteil der Argumentation. Nun kommt im Fall Apple ein Umstand dazu, der öffentlich nicht so intensiv diskutiert wird. Adobe Flash bietet die Möglichkeit sehr einfach Systeme für die Verteilung von Video- und Audiomedien aufzubauen. Eine direkte Konkurrenz zum iTunes Store. Warum sollten die User der i-Produkte weiterhin ihre Musik und ihre Video über den i-Store kaufen, wenn es auf dem gleichen Gerät einen komfortablen Zugriff auf andere Geschäfte mit einem evtl. anderem Preismodell oder einer werbefinanzierten Medienverteilung gibt? Es ist nicht im Interesse von Apple dieses auf den neuen Proprietären Medienwiedergabe- und Mediekauf-Geräten zu unterstützen.

Ich liebe Apple Produkte – wie fast jeder, der einmal auf einem Mac gearbeitet hat – aber ich möchte nicht, dass Technologien die sich als Standard etabliert haben aus meinem Geräten ausgesperrt werden. An dieser Stelle sei auf diesen Artikel verwiesen http://theflashblog.com/?p=1703 er beschreibt sehr schön, wie das Netz ohne Flash aussieht. Und ich bin es als User inzwischen auch schon etwas satt beim surfen auf meinem iPhone andauernd auf das blaue “es-geht-leider-nicht” Logo zu stossen.

Warum wir trotzdem mit Flash arbeiten

Wir entwickeln mit der schnee von morgen (schneevonmorgen.com) Lösungen für professionelle Broadcaster und betreiben u.a. die Plattform dctp.tv. Als die Entwicklung an diesem Projekt gestartet ist, haben wir viele Möglichkeiten evaluiert. html5 war damals noch kein Thema – aber inzwischen haben wir uns auch intensiv mit den Möglichkeiten von html5 auseinandergesetzt. html5 ist die aktuelle Weiterentwicklung des html Standards und wird bereits von der aktuellsten Browser-Generation unterstützt. In html5 ist ein neuer Video-Tag enthalten mit dem es sehr einfach möglich wird Videos in Webseiten einzubinden. YouTube und Vimeo haben bereits html5 Versionen ihrer Seiten entwickelt. Das ist sehr vielversprechend.

Unsere Kunden besitzen Rechte an der Ausstrahlung von Medien – sind aber nicht in jedem Fall an der Verbreitung von Kopien der Medien interessiert. Das bedeutet: es gibt einen Unterschied ob ich einem Zuschauer die Möglichkeit gebe einen Film anzusehen, oder ob ich ihm die Möglichkeit gebe den Film herunterzuladen. Die Filme auf YouTube und Vimeo werden schon heute mit einer Technologie ausgeliefert, die eine lokale Kopie der Videodatei auf dem Rechner des Zuschauers erstellt. Dies ist für ein modernes Rechtemanagement nicht in jedem Fall zielführend. Der html5 Standard benötigt aber einen direkten Link auf eine Download-Location der Videodatei. Jeder User kann sich also den Quelltext der Seite ansehen und findet sofort den Link auf die Datei zum downloaden. html5 unterstützt kein Live-Streaming von Ereignissen und kein Streaming von Medieninhalten. html5 ist lediglich eine – sehr gute – Möglicheit um eine Mediendatei schnell und einfach auf einer Webseite (dem eigenen Blog) einzubinden.

Wenn ich in Diskussionen unseren Standpunkt bezüglich des Rechtemanagements vertrete höre ich oft die Antwort: “Ja – jetzt verstehe ich, warum ihr den Flash-Player einsetzen müsst … aber muss denn die ganze Seite in Flash sein?”.

Das ist eine gute Frage. Und die Antwort muss hier differenzierter ausfallen. Der Kern der Antwort besteht in der Frage: Macht denn die Seite irgendeinen Sinn ohne den Flash-Player? Und unsere Antwort darauf ist: Nein. Im konkreten Fall webTV und wenn das Zentrale Film-wiedergabe-Dings der Flash-Player ist – dann gibt es (außer einer möglichst schönen Fehlermeldung) nichts, was die Seite tun könnte um den Umstand zu verschönern, dass sie einfach nicht funktioniert. Um den Fernseher als Beispiel zu nehmen. Wenn der Bildschirm keine Filme darstellen kann – dann bringt mir auch die EPG Information keinen Vorteil.

Von diesem Grundgedanken ausgehend – und ich gebe zu es handelt sich hier bei der Konstruktion von webTV Sendern um eine sehr spezielle Anforderung – blieb also noch eine letzte Frage offen.

Noch einmal zusammengefasst:

  • Der Flash-Player wird (zunächst) das zentrale Video-wiedergabe-Ding sein, wenn es darum geht a) eine möglichst große Zuschauerzahl zu erreichen und b) die Filme nicht zum download freizugeben.
  • Eine webTV Seite ist ohne den Flash-Player defekt, da sie keinen anderen Sinn hat um möglichst schön die Videos anzuzeigen.

Also. Davon ausgehend ist die letzte Frage: Bringt es aus Entwicklersicht Vorteile eine Seite in einem Mix aus Javascript – Framework, DHTML, und einem Flash Framework zu entwickeln. Ist es günstiger oder stabiler oder besser zu handhaben? Unsere Antwort darauf ist: Nein. Mit Flex hat Adobe ein professionelles Entwicklungs-Framework bereitgestellt, welches schöne und integrative Werkzeuge für das Testen, Dokumentieren und Verwalten von größeren Softwareprojekten bietet. Wir debuggen an einer Stelle und nicht an fünf Fronten. Ich sehe die Entwicklung moderner Javascript-Frameworks mit großer Freude und werde den Vorgang regelmäßig erneut evaluieren. Aber bis heute bietet uns Flash bzw. Flex bei der Entwicklung, dem Styling und dem Testen von Webseiten (leider) den meisten Komfort.

An dem Tag, an dem es ein offener (echter) Standard schafft eine sichere und gestreamte Medienwiedergabe ohne Browserplugin auf über 90% der installierten Browser zu gewährleisten werde ich mich bekehren lassen und an dieser Stelle revidieren.

Dann legt mal los – auf die Kommentare bin ich gespannt!

Update 11. Feb 20:49 Uhr / Adobe PR Germany is now following you on twitter … so war das aber nicht gemeint.

This entry was posted in code, webTV. Bookmark the permalink.

4 Responses to Warum alle Flash hassen – und wir es trotzdem nutzen.

  1. Tim Pritlove says:

    Nun ja. Die Behauptung, dass Apple Flash weglässt, weil es eine potentielle Konkurrenz für den iTunes Store sein oder ermöglichen könnte halte ich weder für zutreffend noch in diesem Fall für die Motivation von Apple. Da spielen ganz andere Faktoren mit rein, aber sicherlich keine kompetitiven.

    Einerseits ist iTunes eine Applikation und die Inhalte des Store sind im Web überhaupt nicht vertreten. Eine direkte Konkurrenz könnte in jeder beliebigen Programmiersprache auf jeder beliebigen Plattform erstellt werden. Sicherlich auch mit Flash, aber aus guten Gründen sind auch Desktop Apps in Flash eher die Ausnahme. Trotzdem gibt es bisher keine solche Konkurrenz. Apples Vorteile liegen sicherlich nicht in der Entwicklungsplattform, zu mal sie ja auch Windows unterstützen müssen.

    Dass Streaming derzeit in den aktuellen HTML5 Implementationen nicht enthalten ist stimmt. Hier mangelt es immer noch an Standards. Doch HTML5 ist grundsätzlich dafür vorbereitet. Immerhin werden Streams explizit benannt, wenn auch im wesentlichen im Kontext Video Conferencing. Das ist aber letztlich egal. Sprich: Streaming wird kommen.

    Bleibt die Frage, warum Apple sich Flash verweigert. Ich denke, das hat viele Gründe. Die wichtigsten:

    1. Flash hat große Sicherheitsprobleme
    2. Flash hat große Performance-Probleme
    3. Flash ist eine proprietäre Lösung

    Zu 1: Die Sicherheitsprobleme sind für Apple nicht unerheblich. Würde Apple Flash auf dem iPhone oder iPad ausliefern könnten sie sie nicht selbst fixen. Adobe hat sich auch nicht als besonders schnell erwiesen beim Lösen solcher Probleme.

    Zu 2: Flash ist auf dem Mac sehr langsam, auf Windows weniger. Eine ARM-Implementierung gibt es überhaupt erst seit kurzem, verspricht aber auch wenig Performance (Firefox hat das aktuelle ARM-Flash für die Maemo-Plattform gerade wieder rausgeworfen). Eine Unterstützung von Hardware Video Playback erfordert wiederum die Unterstützung von Adobe. Warum sollte sich Apple bei einer Kernkompetenz auf eine andere Firma verlassen?

    Zu 3: Dies ist der wichtigste Punkt. Die Funktionalität von Flash kann schon heute weitgehend – wenn auch noch nicht vollständig – von JavaScript + HTML5 übernommen werden. ActionScript selbst geht ohnehin in einer künftigen JavaScript-Version auf. Der einzige wirkliche Vorteil von Flash sind die eingebauten FrameWorks zur Steuerung von Animationen und Ton. Diese könnten aber auch problemlos als JavaScript-Frameworks bereitgestellt werden. Für Apple ist Adobe Flash schlicht auf dem Level von Floppy Disks. Der iMac hatte keine. Alle haben geschrien, vermisst hat es letztlich keiner. So wird es wieder kommen.

    Ergo: das, was Flash heute leistet, wird in absehbarer Zeit von anderen, standardisierten Komponenten übernommen werden, die in den aktuellen Browsern mitkommen werden. Flash bietet nichts, was nicht auf dem Pfad zu HTML5 geboten wird.

    Wer heute strategisch für die Zukunft plant, sollte auf Flash bereits verzichten. Für Buden wie Deine, die Lösungen schafft, die heute in real existierender Infrastruktur funktionieren sollen mag Flash noch erforderlich sein. Aber es ist keine Zukunftsperspektive, es ist ein Auslaufmodell.

    Apple denkt mit dem iPod touch, iPad und iPhone einfach schon weiter. Sie werden damit auch genug Sog erzeugen, so dass die wichtigen Web-Technologien sich auch noch schneller entwickeln, als sie es sonst tun würden. Für ihre eigene Plattform ist das nicht zum Nachteil, denn Dinge, die im Web-Browser gemacht werden können, kommen schlicht als eigene Applikation daher. Letztlich auch nur ein Tastendruck auf dem Home Screen. Ob da ein Web-Browser aufgeht oder nicht ist dem User eh Wurst.

    Für alle anderen wird sich Flash zu einem Klotz am Bein entwickeln. Warum Google auf Android auf Flash setzt ist mir ein Rätsel, damit kommen sie ihrem eigenen Ziel, ein standardkonformes Web zu schaffen, selbst ins Gehege. Apple ist da schon einen Schritt weiter.

  2. Nikolai says:

    Hey Tim!

    Bei 1,2 und 3 bin ich bei dir. Ob der Sog reicht werden wir sehen – aber der Grund für diesen Artikel (dass will ich nicht verschweigen) war natürlich, dass ich jetzt schon einen sehr großen Sog verspüre. Den finde ich aber nicht nur unproblematisch.
    Bei Punkt 2 gab es in letzter Zeit viele Meldungen, dass die Performance auf den Macs deutlich steigen wird … aber melden kann man ja erstmal alles.
    Der Floppy-Vergleich ist nicht schlecht 🙂 und es stimmt natürlich, dass Apple hier die Macht hat bestimmte Entwicklungen enorm zu beschleunigen. Aber mein Opa hat immer gesagt “es hat keinen Sinn zu rennen, wenn man auf dem falschen Weg ist” soll bedeuten – vielleicht liegt die Zukunft ja auch in einer Öffnung von Adobe. Der erste Schritt ist sicherlich mit der Offenlegung von rtmp geschehen (wenn auch unter absurden Bedingungen für die Leser).

    Aus Usersicht glaube ich, dass der Verzicht auf Flash HEUTE eine enorme Einschränkung beim Surfen mit sich bringt – das bedeutet aber nicht, dass sich das Web hier nicht ändern kann.
    Ich selbst war bei Flash immer total froh, dass es einen Standard (über das Wort kann man streitet) gibt, der überall läuft und verwendet wird. Ich selbst sähe es aber auch lieber, wenn dieser Standard von einer Gruppe von Unternehmen oder noch besser der Community kommen würde und nicht in der Hand eines Unternehmens liegt.

    Eins ist mal klar. Adobe bekommt gerade aus allen Richtungen enormen Gegenwind. Diese Strömungen sind so stark, dass sie gravierende Veränderungen bei Transparenz, Zuverlässigkeit und Sicherheit der Flash – Implementationen unbedingt nötig machen. Und die Alternativen stehen mit html5 und Javascript parat. Ich glaube der Unterschied in unseren beiden Positionen besteht in der Frage, ob sich der Dinosaurier Adobe schnell genug bewegen kann um sich diesem quirligen Markt anzupassen. Ich neige hier zu einem verhaltenen “Ja” – würde aber kein Geld mehr darauf verwetten.

  3. Christian Voigt says:

    Beide Argumentationen sind sicher richtig.
    Momentan bin ich aber auch noch eher bei Niko.
    Der HTML5 Standard braucht einfach noch Zeit. Bis man sich endlich auf einen Codec geeinigt hat und der auch von allen gängigen Browsern unterstützt wird, wird wohl noch etwas Zeit ins Land gehen. Man könnte fast von einer “Galgenfrist” für Adobe sprechen.
    Bis dahin gibt es nur eine Möglichkeit den Anforderungen von Nikos Kunden zu entsprechen – und die heißt nunmal leider Flash.
    Ich bin auch überhaupt kein Fan der Flash “Technologie”,
    aber der Gedanke, dass sich der proprietäre H264 Codec als Standard durchsetzt, bereitet mir sehr große Kopfschmerzen..
    Grüße & Dank für das nette Posting

  4. Beatnov says:

    “Ich liebe Apple Produkte – wie fast jeder, der einmal auf einem Mac gearbeitet hat ”

    “im übrigen kann den Flash Player doch sowieso keiner Ausstehen.”

    Einfach mal in 2 Sätzen den parteiischen Bericht und die Sichtweise zusammengefasst.

    Mehr Schwachsinn geht nicht, typischer Steve Jobs Ideologie.

    Wenn er sagt Kot ist gesund, sind am nächsten Tag alle Blogs voller Kot mit Apfel Logo von den Apple freaks zu sehen….

Leave a Reply

Your email address will not be published. Required fields are marked *