Tag-Archiv für Video

HTML 5 vs Flash

Nicht zuletzt befeuert durch die kolportierten Äußerungen von Steve Jobs zu Flash und HTML 5 wird es einmal Zeit, sich des Themas unvoreingenommen zu widmen. Wir nutzen zwar Adobe Flash Technologie in Form von Flex, kleben aber nicht in dem Sinne an einer Technologie wenn es bessere Alternativen dazu gäbe.

Eines der Hauptargumente, das die Ablösung von Flash durch HTML 5 untermauern soll, ist der Einsatz von Video auf Webseiten. Flash hat Webvideo erst salonfähig und massenkompatibel gemacht, weil es kein zusätzliches Plug-in benötigte außer dem, was zumeist ohnehin schon vorhanden war. Von Version zu Version wurde die Qualität und die Performance der Videos besser. Mittlerweile lassen sich Videos in HD ansehen und bald auch in Ansätzen Hardware beschleunigt.

HTML 5 erlaubt nun auch das Abspielen von Videos ohne Plug-in, aber nicht in allen Browsern, sondern nur etwa in Safari oder Google Chrome – bei YouTube etwa kann man die Default-Anzeige umstellen. Die anderen mögen nachziehen, jedoch sieht man daran ein Problem bei HTML 5 und seinen Komplementär-Technologien: Es ist vor allem erst einmal ein Standard. Ein Standard, der nicht dazu verpflichtet von allen Browserherstellern gleich schnell implementiert zu werden. Es kann noch nicht einmal die Garantie gegeben werden, dass der Standard jemals in allen Browsers überhaupt umgesetzt wird – man erinnere sich beispielsweise an die Alleingänge von Microsoft in früheren Versionen des Internet Explorers.

Schaut man sich die großen Player im Web-Videogeschäft einmal, ist man über die reine Darstellung von Videoinhalten zumeist schon hinaus. Auf YouTube etwa werden in die Videos hinein Flashelemente gerendert, die entweder Zusatzinformationen, Werbung oder bei Musiktiteln Links zum direkten Kauf des Tracks einblenden. Diese Overlays in Webvideos stehen erst am Anfang ihrer Möglichkeiten. Reines Videoplayback wird zwar noch wichtig sein, aber durch neue, interaktive Formate ergänzt werden. Hier müssen HTML 5 und auch vermutlich auch HTML 6 passen und falls es doch einmal gehen sollte, wird es sicherlich etliche Jahre dauern, bis es überall zur Verfügung steht – wenn überhaupt.

Wenn es alleine um Video-Playback geht wird man Flash nicht mehr unbedingt benötigen. Aber Flash war nie nur ein Videoplayer sondern immer schon viel mehr, wird aber auch in diesem Feld seinen Platz weiterhin behaupten können.

Ein weiteres Thema in Sachen kommende Webstandards und Flash ist die Frage nach 3D im Browser. Flash kann schon seit langem 3D darstellen, es gibt verschiedene Engines, die von der Frame Rate her locker als Player für anspruchsvolle 3D Spiele dienen können. Mit den jüngeren Flashplayer-Versionen wird 3D auch immer intensiver von der Runtime unterstützt. Flash ist hier schon, wo HTML mit seinen zaghaften Experimenten gerade erst beginnt. 3D CSS ist sicherlich beeindruckend aber es ist momentan nur in experimentellen Versionen des Browserframeworks Webkit möglich, was beispielsweise die Basis für Apples Safari darstellt.

Auch bei 3D stellt sich die Problematik, dass der Zeitraum bis 3D in (eventuell) allen Browsern verfügbar sein sollte, so groß ist, dass Flash einige Jahre Zeit haben wird, seine Fähigkeiten zu erweitern und zu verbessern.

Es gibt sicherlich noch etliche andere Beispiele, an denen man die Problematik zwischen einem Standard und einer konkreten Runtime diskutieren kann. Das Problem ist immer, dass der Runtime-Hersteller dank der Proprietät der Runtime einfach seinen Standard setzt. Und durch die extrem große Verbreitung der Flash Runtime, sichert sie den technologischen Vorsprung und die Entwicklungsgeschwindigkeit, den sie gegenüber den offenen Standards hat.

Selbst wenn der Flashplayer unter Mac, um Steve Jobs Meinung aufzugreifen, vielleicht nicht ganz so performant wie sein Windows-Pendant ist, so muss man auch überlegen, was die Runtime leistet, wenn sie CPU-Ressourcen verbraucht: HD Video, 3D, Spiele, Rich Internet Applications etc. Ein leerer Flashfilm oder eine leere Flexanwendung verbraucht kaum CPU-Zyklen. Der Verbrauch an Prozessorpower  liegt zum einen daran, was die Runtime abzuarbeiten hat und zum anderen wie es der Entwickler programmiert hat.

Die Entwicklungen, die HTML 5, 3D CSS und die anderen, neuen Frontend-Technologien vollziehen ist sicherlich bemerkenswert und für Frontend-Entwickler eine nette Spielwiese. Aufgrund einiger zaghafter Anfänge aber bereits das Ende der Flash Technologie Plattform einzuläuten ist mindestens fünf Jahre verfrüht und im gegenwärtigen Stadium auch nicht sachlich. Und letztlich ist es das alte Katz und Maus Spiel: Flash prescht voran und wenn die Webstandards nachziehen, hat Flash wieder einen so gewaltigen Vorsprung und so weiter und so fort…

Ajax / Java-Script: Der lachende Vierte

Während sich Microsoft Silverlight, Adobe Flex und JavaFX eine erbitterte Schlacht nach der anderen um die Vorherrschaft im RIA Markt liefern, hat sich klamm heimlich eine vierte, an sich längst bekannte Technologie daran gemacht, das Feld von hinten aufzurollen. Die Rede ist von Java-Script auch in der Form von Ajax, was Dank des Zusammenspiels mit dem Canvas Element aus HTML 5 Dinge tun kann, von denen Webentwickler bisher nur zu träumen wagten – und das alles ohne Plugin, nur mit hauseigenen Browsermitteln.

Wer sich ein Bild von den Möglichkeiten verschaffen will, dem sei Chrome Experiments empfohlen – Voraussetzung dafür ist Safari 4, Google Chrome oder Firefox 3.5 Beta aufwärts. Wenn man das sieht, fragt man sich unwillkürlich: “Wie, ohne Flash gemacht?”. Die Antwort ist: “Ja”! Bis hin zu ausgefallenen 3D Modellen, die in Echtzeit animiert werden ist mit dem Gespann Canvas und Java-Script nahezu alles möglich und das mit guter Performance / Frames per Second.

Einen Grund für die enormen Verbesserungen in den genannten Technologien, sind die immer neuen Java-Script Engines, die die Sprache von Version zu Version deutlich beschleunigen. Auch die Java-Script Frameworks werden immer besser und schneller – genannt als Beispiel sei hier Sizzle aus dem jQuery Framework. Heutzutage langen ein paar Zeilen Code um Animationen oder Widgets zu erstellen, wie man sie bisher nur von Flash und Flex kannte.

Auch die letzte Hürde wird in Angriff genommen: Videos im Web mittels Flashplayer. Dank HTML5 geht auch das nativ, wie folgender Artikel zeigt. Auch der Platzhirsch Youtube hat eine HTML 5 Demonstration.

Das alles steht noch relativ am Anfang, die ersten Browser, die HTML 5 beherrschen sind aber vorhanden. Eine Extrawurst stellt der Internet Explorer dar, der auch in seiner achten Inkarnation nichts mit dem Canvas-Element anfangen kann. Aber es kann ja auch sein, dass sich der Markt einfach durchsetzt. Wenn etwa eine Technologie wie Google Wave ganz massiv das Canvas Element und HTML 5 unterstützt und diese die Traktion erfährt, die erwartet wird, kann Microsoft auch einmal in die Lage kommen, etwas nachzurüsten.

Alle RIA Entwickler und Entscheider sollten sich der Möglichkeiten des “neuen” Java-Scripts bewusst sein und sich ernsthaft fragen für was sich die Konzentration auf proprietäre Runtimes lohnt.

Klassischer Flex Videoplayer

Einen ganz klassischen Videoplayer findet man auf den Videoseiten der schweizer Tageszeitung Blick.

Sind die meisten Mediaplayer in Flash erstellt, ist dieser in Flex entwickelt worden.

Er bietet einen komfortablen Player, den direkten Zugang ins Videoarchiv mit Rubriken und ein Votingfeature, um die Videos zu bewerten. Auch das individuelle Erstellen und Abspielen von Playlisten ist mit dem Player möglich.

Es muss nicht die große RIA oder Enterprise-Anwendung sein, wenn Flex zum Einsatz kommt, auch im klassischen Bereich der Flash-Anwendungen kann Flex durch sein optimiertes Entwicklungsmodell sinnvoll Einsatz finden.