2010-07-02

"Think indifferent", oder "kognitive Dissonanz bei Apple-Mitarbeitern"

Heute Vormittag habe ich ein wenig mit HTML5 herumgespielt, genauer gesagt mit den Elementen <video> und <canvas> und ein paar coolen JavaScript-Bibliotheken die findige Graphik-Hacker-Kollegen dafür gebaut haben. Software-Techniken, die seit dem Aufkommen von GPUs als tot galten erleben damit eine kleine Rennisiance. Zugegeben, sobald WebGL breit verfügbar ist (was aber noch ein wenig dauern kann, weil die Chromium-Entwickler anscheinend überhaupt keinen Peil von OpenGL zu haben scheinen, der dafür zuständige Code in Chromium ist unnötig kompliziert und re-implementiert Inter-Prozess-Rendering mit OpenGL, obwohl das sowohl mit GLX als auch Win32-API mit Bordmitteln funktioniert) werden solch coole Tricks bald wieder verschwinden. Aber es ist trotzdem cool.

Apple schießt ja momentan ziemlich gegen Flash und auch den Einsatz von Fremd-Bibliotheken auf ihren iOS-basierten Geräten. Dumm nur, dass z.B. Video-Texturing auf iOS gar nicht geht. Die Bibliotheks-Funktion zum Öffnen und Anzeigen von Videos macht immer nur ein Vollbildschirm-Fenster mit ein paar Kontroll-Widgets auf. Irgendwie an die dekodierten Videoframes herankommen geht nicht. Das ist auch genau das Problem, das Adobe beim Implementieren von Flash für iOS hat: Das Betriebssystem gibt einem nicht mal ansatzweise die Möglichkeit, Videos irgendwie weiterzuverarbeiten. Letzlich ist diese API-Funktion nur eine Methode um einen eher schlechten Media-Player zu starten. Weshalb Apple das so macht, enzieht sich mir jeder sinnvollen Überlegung: Alle mir bekannten Hardware-h264-Dekoder schreiben ja nicht direkt in den Framebuffer, sondern legen das fertige Frame nur irgendwo ab (teilweise auch nur als Memory Mapped IO für den Zugriff durch die CPU). Das das beim iPad nicht anders ist, sieht man ja schon daran, dass es über das Video seine eigenen Bedienelemente zeichnet.

Apple behauptet ja immer vollmundig, dass man alles was mit Flash ginge, auch mit HTML5 auf iOS ginge. Falls das so ist, dann, so vermutete ich, hat iOS-Safari Zugriff auf Funktionen, die dem "niederen Entwickler auf den unteren Schichten der Nahrungskette" nicht zur Verfügung stehen. Eine Überlgung die es zu prüfen galt. Kurz gesagt: HTML5 ist auf iOS eben kein vollwertiger Ersatz für Flash! Was aber Apple-Jünger und Apple-Store-Mitarbeiter nicht davon abhält, das Gegenteil zu behaupten:

Da ich Mittags sowieso in der Innenstadt war dachte ich mir: Gehst'e noch schnell Apple-Trollen, sprich ich bin in den Münchner Apple-Store, habe da auf einem der ausliegenden iPads meine kleine HTML5 Video Textur-Demo aufgerufen - das war das erste mal, dass ich überhaupt in einem Apple-Store war und das zweite mal, dass ich ein iPad in Händen hielt. Erwartungsgemäs funktionierte die Demo nicht. Aber noch viel krasser war, dass iOS-Safari von dem eigentlich nur rumpassivierenden JavaScript soweit ausgebremst wurde, das gar nichts mehr ging.

Nächster Schritt war, dass ich einen der Apple-Store-Mitarbeiter darauf ansprach, weshalb die Video-Textur-Demo auf dem iPad nicht funktioniere. Als erstes erntete ich die Frage: "Ist das Flash?". Ich darauf: "Nein!". "Funktioniert es denn in Safari?" "Ja, tut es, probieren sie es aus."

Gesagt, getan und siehe da, die Demo tat, aber nur quälend langsam und mit dem "Spinnennetz-Effekt", der auf der originalen Textuing-Demo-Seite angesprochen wurde. iPad: Fehlanzeige.

Eigentlich würde ich jetzt gerne schreiben, dass dies Wellen des ungläubigen Erstaunens, dem Zweiflen am Apple-Weltbild usw. aufgelöst hätte. Tat es aber nicht. Zumindest nicht bei so vielen Mitarbeitern wie ich mir erhofft hatte. Abre zumindest 3 Leute habe ich damit an die Grenzen ihres "Glaubens" gebracht. Einer hat sich sogar die Mühe gemacht, sich den Source-Code anzusehen, ob da was falsch ist. Das aber das von ihnen verkaufte Produkt eine eigentlich beworbene Eigenschaft nicht erfüllt, nälich, dass HTML5 darauf Flash vollständig ersetzen könne und falls doch nicht mit HTML5, dann ginge dies mit einer App (womit es ja, mangels API auch nicht geht), in diese Richtung haben die Apple-Mitarbeiter vermutlich nicht gedacht.

Die kognitive Dissonanz somit eher bescheiden aus, so viel zum früheren Apple-Slogan "Think different!" Bei Apple-Store-Mitarbeitern wurde das wohl in "Think indifferent" geändert. Geht was nicht, wird halt mit den Schultern gezuckt.


PGP Key:479F 96E1 2B49 8B0D 69F1 94EE F11B E194 2E6C 2B5E (last 32 bit of fingerprint are ID).

Impressum

This is a noncommercial private webpresence / weblog (blog), of
Dies ist eine nicht-kommerzielle Webpräsenz / Weblog (Blog), von

Wolfgang Draxinger

Please obtain the technical and administrative contact information from the WHOIS data of this domain. Technische und administrative Kontaktdaten sind bitte den WHOIS-Daten dieser Domain zu entnehmen.