Dieses ewige Flash Gezänk
Ich frage mich langsam, ob man in einigen Jahren auf die jetzige Zankerei zwischen Apple und Adobe zurückblicken und sagen wird: Schau, damals war das, da hat Firma X so richtig ins Klo gegriffen. Sonst gäb’s die heute noch. Es wird wahrscheinlich nicht gar so dramatisch ausfallen. Aber wer von beiden “Firma X” sein wird, vermag ich nicht zu sagen. Es würde mich allerdings wundern, sollte es Apple sein.
Mittlerweile sprechen wir eigentlich von zwei verschiedenen Dingen, die Steve Jobs mit seinen Thoughts on Flash interessanterweise in einen Topf geworfen hat. Zum einen geht es um die (Nicht-)Verfügbarkeit von Flash – also einem Flash-Player – auf iPhone OS. Zum anderen um die Änderung der Section 3.3.1 des iPhone SDK, wodurch Middleware und Cross-Compiler (wie die Exportfunktion von Flash CS5) zur Erstellung von iPhone-Applikationen untersagt werden. In beiden Punkten hat meines Erachtens weder der eine (Apple) noch der andere (Adobe) recht. Beide habe unterschiedliche Standpunkte, die für sich genommen mal mehr, mal weniger zutreffend, insgesamt aber völlig legitim sind. Einen Kompromiss macht das aber nur umso unwahrscheinlicher.
Was einen Flash-Player – und den Sinn eines solchen – angeht, hat langfristig wohl Apple die besseren Karten, selbst wenn Flash heutzutage wirklich allgegenwärtig ist, wie Adobe nicht müde wird zu betonen. Aber z. B. Videowiedergabe per Flashplayer – das braucht wirklich niemand, gerade wenn zunehmend auch in einem Flashplayer ein H.264-Video steckt. Noch kann Adobe hier auf das Hickhack um den Codec der Wahl des Video-Tags in HTML 5 bauen, aber das wird spätestens mit dem Erscheinen von IE9 ein Ende haben. Selbst so ist es schon wesentlich sinnvoller, ein H.264-Video standardmäßig per Video-Tag einzubinden und einen Flashplayer nur als Fallback einzuplanen. Wenn man Flash zur Videowiedergabe aus der Gesamtverbreitung herausrechnet, wieviel Flash bleibt dann tatsächlich noch übrig?
Oh ja, natürlich, Flash für tolle, aufwändige Webseiten – wie etwa den unsäglichen Adobe Onlinestore. Nichts, aber auch rein gar nichts an diesem Onlinestore ist so “kompliziert”, als dass man es nur in Flash realisieren könnte. Im Gegenteil – in einem herkömmlich programmierten Store könnte man vielleicht wenigstens sein Maus-Scrollrad zum Scrollen verwenden! Es sind Seiten wie diese, die “Wuäch, Flash, geh weg”-Schubladen entstehen lassen.
Und da wäre noch die Werbung. Landet oft in der oben genannten Schublade. Wie schreibt aber Mike Davidson sehr schön:
When most people speak ill of Flash, they are actually speaking ill of ads.
Und weiter:
When Flash is gone, this overly aggressive marketing will simply be foisted upon you using more “open” technologies like HTML5. And guess what? It’ll be harder to block because it looks more like content than Flash does.
Auf den Trichter wenn Werbetreibende wirklich kommen, dann verliert Flash schneller an Verbreitung als Adobe “wtf” sagen kann. Solange Klicks bezahlt werden, gewinnt die Form der Darstellung, die schwieriger geblockt werden kann – denn nur nicht geblockte Inhalte können auch geklickt werden. Klicks bringen demjenigen Geld, der die Werbung auf seinen Seiten zulässt und bringen demjenigen Geld, der die Werbung schaltet. Letzterer muss vielleicht anfangs mehr Geld ausgeben, um HTML5-Ads zu erstellen – aber wenn unterm Strich mehr zu Buche steht, kann man sich sicher sein, wohin die Reise geht.
Natürlich lässt sich Flash aber nicht so leicht von der Bildfläche wischen, wie Jobs das in seinen Thoughts on Flash tut. Nicht nur er redet von HTML 5, CSS3 und JavaScript so, als wäre das Erstellen hochkomplexer Screendesigns damit ein Kindergeburtstag und als hätte es das Problem unterschiedlicher CSS-Interpretationen durch verschiedene Browser nie gegeben. Und dennoch bleibt letztlich Adobes größtes Manko: Es gibt keinen (aktuellen) Flash Player für aktuelle Mobilplattformen. Der ewig angekündigte und nun wirklich bald kommende Player 10.1 muss seine Leistungsfähigkeit erst noch unter Beweis stellen. Dafür, dass Adobe als Hersteller sowohl der Technologie als auch der größten Authoring-Tools dafür verständlicherweise auch die Zukunft flashfarben sieht, steckt der Konzern erstaunlich wenig Ressourcen in die Anpassung der Technologie an die (vermeintliche) Plattform der Zukunft. Das iPhone existiert seit 2007, ernst zu nehmende Alternativen sind auch schon lange genug erhältlich – nur eben kein performanter Flash Player dafür. Ob Apple sich nun sträubt oder nicht – dann sperre ich eben eine Handvoll Adobe-Entwickler mit einer Schubkarre voller iPhones und einem Schraubenzieher solange ein, bis sie – mit welchen Mitteln auch immer – einen Flash Player präsentieren können, der Jobs aus dem Sessel wirft. Und wenn der immer noch nein sagt, mache ich dasselbe mit einem Nexus One. Spätestens wenn auf der Konkurrenzplattform ein Flash Player ohne die bemängelten Akku- Stabilitäts- und Sicherheitseinbußen verfügbar ist, fällt Apple um. Dass dies nicht passiert, legt den Schluss nahe, dass Adobe entweder einen Trend verschlafen hat oder der Flash Player eine solche Entwicklungsstufe – bislang – einfach nicht erreichen kann.
Aber all das ist nur die eine Seite des Gezänks. Die andere betrifft das Verbot von Middleware/Cross-Compilern zur Erstellung von iPhone Apps und damit den Ausschluss des gerade fertig gestellten Flash CS5. Zu Sektion 3.3.1 und der Sinnhaftigkeit aus Apples Sicht gibt es eine Reihe guter Artikel, etwa dieser von Louis Gerbarg:
What Apple does care about is their ability to control their own development cycles. [...] So, if you will indulge my claim that backwards compatibility is hard (even absent the private API issue) it is pretty easy to see why supporting other runtimes is ceding a lot of control to a 3rd party. Imagine if 10% of the apps on iPhone came from Flash. If that was the case, then ensuring Flash didn’t break release to release would be a big deal, much bigger than any other compatibility issues. Since Apple doesn’t have access to Flash CS5’s runtime library code or compiler frontend, they might be put in a position where they would need to coordinate with Adobe to resolve those issues.
Oder auch dieser hier von John Gruber:
And, obviously, such a meta-platform would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.
Auch Steve Jobs erwähnt diesen Umstand in seinem Pamphlet:
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
Kurz, Apple will sicherstellen, dass es die Kontrolle über die Entwicklungsumgebung behält, sodass sie Fehler selbst beheben sowie die notwendige Kompatibilität bei eventuellen Plattformänderungen selbst herstellen können und vor allem für die Umsetzung neuer Features nicht auf die Umsetzung in einer Entwicklungsumgebung warten müssen, die sie nicht kontrollieren. Das ist nachvollziehbar und so gesehen auch für uns Konsumenten begrüßenswert. Doch dennoch will sich mir die Legitimität des Arguments nicht ganz erschließen. Denn die Argumentation greift erst, wenn ein signifikanter Teil der verfügbaren Applikationen mit Cross-Compilern (der Einfachheit halber: mit Flash) erstellt wurde. Sichtlicherweise will Apple erst gar nicht das Risiko eingehen, es darauf ankommen zu lassen. Dennoch frage ich mich, ob es so weit kommen würde. Es stehen mehr als 150.000 Apps im AppStore. Nur rund 100 davon sind mittels Flash erstellt – das freilich bis vor kurzem noch nicht offiziell verfügbar war. Aber trotzdem: Die Anzahl der “echten” iPhone Developer ist groß. Die Entwicklungsumgebung ist etabliert – behaupte ich einmal, ohne selbst Entwickler zu sein. Würde gerade Flash einen solchen Impact haben? Es geht ja auch nicht um die pure Anzahl an Apps – man könnte sich vorstellen, dass per Flash vor allem einige Spieleentwickler mit einer einfachen iPhone-Version ihrer Flash-Spiele eine weitere Einnahmequelle erschließen möchten – sondern auch um die Signifikanz dieser Apps. Würden also wirklich für die Plattform wichtige Apps in Flash entstehen? Und wenn durch Metaplattformen nur suboptimale Apps möglich sind, würden die dann nicht entsprechend wenig gekauft?
Selbst wenn doch – es gäbe meines Erachtens eine elegantere Methode, die Integrität der Entwicklungsumgebung zu wahren. Indem man neben dem AppStore weitere Vertriebskanäle für Apps zulässt, zugleich aber die Vorgaben aus Sektion 3.3.1 als Voraussetzung für eine Aufnahme im AppStore aufstellt und Support für andere Entwicklungsumgebungen nicht gewährt. Im AppStore finden sich damit weiterhin nur Apps, die Apples Entwicklungsumgebung erstellt worden sind und Apples Zensurbehö… ähm, App-Zulassungs-Prozess durchlaufen haben. Wer das nicht will, soll sehen, wie er auf ein iPhone kommt. Und soll auch sehen, ob seine Apps noch laufen, wenn Apple das OS aktualisiert. Apple hätte dadurch alternative Entwicklungsumgebungen zwar enorm unattraktiv gemacht, aber sie eben auch nicht verboten. Es wäre leichter als Qualitätssicherungsmaßnahme zu verkaufen gewesen, als es jetzt der Fall ist. Zugleich wäre man (zum Teil) die lästige Diskussion um den AppStore-Zulassungs-Prozess los. Noch einmal Mike Davidson:
In order to get my stuff onto an iPad or iPhone, however, I must receive explicit approval by a human being working for Apple after this human being has manually reviewed my work, derived my intentions for the product, and made a value judgement on what my creation brings to the device. As long as that process exists, there shall be no arguments that the iPhone or iPad are more open than just about anything we’ve ever seen before… including Flash. To claim that because Apple is pushing open standards like HTML5 (really for their own benefit) means they are somehow more open than Adobe is folly.
Der ganze Absatz “First, there’s ‘Open’” in Jobs’ Thoughts on Flash wäre etwas weniger verlogen und Adobes Argumentation über das geschlossene iPhone-Universum würde noch weiter ins Leere laufe als sie das ohnehin schon tut:
If you look at what’s going on now, it’s like railroads in the 1800′s. People were using different gauged rails. Your cars would literally not run on those rails. That’s counter to the web. The ‘rails’ now are companies forcing people to write for a particular OS, which has a high cost to switch. The technology issue I think Apple has with us is not that it doesn’t work, but that it does work. We don’t want to play technology games when Apple is playing a legal game. We’re focusing on everybody else. There’s a huge wave of innovation, there’s going to be a wide range of devices. We’re working through the Open Screen Project. Have over 70 partners working with Adobe on that. There’s a lot of great devices coming out over the course of the second half of this year and next year, going forward. All the innovation coming from all those companies will dwarf what’s coming from that one company that isn’t participating.
Adobe sieht sich hier – um im Bild zu bleiben – als ein Anbieter von Zügen, die auf den bereitgestellten Gleisen fahren können. Doch wenn das auch für ihre Authoring-Tools zutreffen mag, so verschweigt Adobe, dass sie mit Flash defacto selbst auch Gleise verlegen. Das genannte Open Screen Project ist nichts weiter als Adobes Versuch, auf allen möglichen Gleisbetten dieselben Gleise – Flash – zu verlegen. ” All the innovation coming from all those companies” ist nichts anderes als Adobes Innovation. Warum diese größer sein sollte als jene von Apple muss noch bewiesen werden. Der Ansatz der Cross-Plattform-Goodness ist in Java schon früher gescheitert.
Apple hat nicht recht. Adobe hat nicht recht. Adobe geht es nicht um Offenheit. Adobe geht es um die Allgegenwärtigkeit von Flash. Verständlich, doch um diese zu verwirklichen sollten sie sich auf die technische Perfektion der Flash-Plattform kümmern statt der Welt eine Story vom Pferd zu erzählen. Apple wiederum geht es ganz gewiss nicht um Offenheit und somit auch nur peripher um Flash. Sie wollen die Plattform in einem sich erst entwickelnden Markt zementieren und kontrollieren. Apple hat traditionell eine definierte Vorstellung, wohin die Reise geht. Ein Flash-Zug fährt dort zufällig nicht hin. Dass eine signifikante Zahl an Menschen sich auch andere schöne Orte vorstellen kann (wohin mitunter auch ein Flash-Zug fährt), nimmt Apple in Kauf. So wie sie auch in Kauf nehmen, dass sie mit einem iMac auch nicht 100% aller Computernutzer gewinnen. Aber der iMac ist zu 100% das, was Apple unter einem Desktop versteht. Und so ist das iPhone-Ökosystem momentan so, wie Apple es am zielführendsten sieht. Wenn es helfen würde, würde Apple auch vorschreiben, dass Entwickler auf einem Bein nackig um das iPad hüpfen, während sie Apps entwickeln. Das kann man albern finden. Das sollte man auch albern finden. Nein, Apple hat ganz sicher nicht recht. Aber irgendwas machen sie wohl auch richtig. Deswegen haben sie immer noch nicht recht. Aber sind ziemlich klar im Vorteil.