De komst van html5: de dood van Flash?

De openlijke steunbetuiging van Steve Jobs aan HTML5 zou wel eens het einde kunnen betekenen van Flash. Of zal het zo’n vaart niet lopen?
Tekst: Niels ‘t Hooft. Beeldbewerking: Control. Dit verhaal is eerder gepubliceerd in Control #18.
Toen Apple-CEO Steve Jobs afgelopen april zijn ‘Thoughts on Flash’ publiceerde, kwam een sluimerende discussie in een stroomversnelling.
De vraag werd al snel: zijn de dagen van Flash geteld?
Jobs gaf politieke en technische redenen waarom Apple geen Flash toelaat op zijn iPhone OS. Niet voor het exporteren van iPhone-apps, omdat crossplatformontwikkeling de voortgang van het iPhone-platform zou hinderen, en ook niet binnen de browser. Omdat Flash onveilig en traag zou zijn, maar ook omdat er tegenwoordig een open alternatief is: HTML5. De vraag werd al snel: zijn de dagen van Flash geteld?
“Op dit moment zeker niet”, zegt Maarten Brands van Virtual Fairground, dat zijn browser-MMO Club Galactik in Flash heeft gebouwd. Daar zijn genoeg redenen voor: “De HTML5-standaard is nog niet uitgekristalliseerd. De kwaliteit is nog niet op het niveau van Flash. En native ondersteuning door alle browsers ontbreekt.”
Flash is niet ideaal, zegt Brands. “Platformhouder Adobe bepaalt de agenda. Voor ons is het afwachten in hoeverre zij gamesdevelopment prioriteit geven. Dat is het nadeel van een gesloten platform.” Maar er staat veel tegenover. Brands: “De penetratiegraad van Flash is 95%. En we zijn gewend ermee te werken. In de praktijk stappen we alleen over als het echt noodzakelijk is.” Kan Apple zorgen voor die noodzaak? Brands is voorzichtig: “De vraag is hoe dominant zij worden op de markt.”
Uitpluizen en uitbuiten
Omdat het geen reële optie is voor commerciële partijen blijft HTML5 vooralsnog het terrein van hobbyisten. Techneuten die er plezier in scheppen om de mogelijkheden uit te pluizen en uit te buiten. Zoals webdeveloper Reinier Zwitserloot, die in zijn vrije tijd een HTML5-versie van Bomberman in elkaar zette.
“Flash was vanaf het begin een raar concept”, zegt Zwitserloot. “Waarom zou je een heel nieuwe application environment in een rechthoekje binnen een pagina laten draaien?” Halverwege de jaren negentig voorzag Flash in een behoefte omdat de browser zelf niet in staat was tot animatie en vergaande interactiviteit. Maar met HTML5 maakt de browser een inhaalslag. Zwitserloot: “Er zijn zeer weinig dingen die wel kunnen in Flash en niet in HTML5, terwijl het andersom wel het geval is.”
De webvideo is het eerste slachtoffer. Youtube werd vijf jaar geleden mogelijk door de video support van Flash, maar de <video>-tag van HTML5 maakt dit nu overbodig. Youtube zelf loopt voorop in de ondersteuning en wordt gevolgd door vele anderen, zoals Gaikai, David Perry’s OnLive-concurrent. Dat gaat zijn games straks streamen via HTML5.
Alleen Internet Explorer ligt nog dwars, maar Microsoft heeft al aangegeven dat Internet Explorer 9 delen van HTML5 gaat ondersteunen. Alleen is voor games de <canvas>-tag essentieel. En juist daarover heeft de gigant uit Redmond nog geen openheid gegeven.
Schilderdoek
Francesco Cottone is een hobbyist zoals Zwitserloot. Hij werkt als programmeur voor een IT-bedrijf in Milaan en ontwikkelt daarnaast, een gratis framework waarmee je HTML5-games kunt maken. Hij legt <canvas> uit: “Vergelijk het met het canvas van een schilder. Je kunt er alles op tekenen wat je wil. Zoals lijnen. Of je kopieert er frames van een animatie naartoe. De boel komt in beweging met behulp van JavaScript.”
Cottone’s website Akihabara is gebouwd met 2D-games in gedachte. “Zoals platformers, adventures, puzzels en beat ‘em ups. Of een bullet hell shooter mogelijk zou zijn weet ik nog niet”, zegt Cottone. “Daarbij onstaat misschien lag op tragere apparaten. Het platform is jong, mensen moeten gaan proberen waar de grenzen liggen zoals ik heb gedaan met mijn demo’s.” Op zijn site is onder andere een Zelda-kloon te spelen.
De focus op 2D komt voort uit de huidige toestand van HTML5. Zoals Maarten Brands aangaf is de standaard nog volop in ontwikkeling en staat 3D pas voor later op het programma. Een ander probleem is de audio-ondersteuning, via de <audio>-tag. “Het lijkt alsof deze vooral bedoeld is voor achtergrondmuziek op sites”, zegt Francesco Cottone. De implementaties van WebKit (Safari en Google Chrome) en Firefox zijn erg verschillend: “De snelheden waarmee je samples oproept lopen sterk uiteen.” Akihabara heeft daarom nog geen audio-ondersteuning, al is Cottone daar wel mee bezig.
Oorlog
Is de overheersing van HTML5 dan een kwestie van tijd? Zo simpel is het niet. Flash heeft bijvoorbeeld ook een toegankelijke ontwerpomgeving. “Flash is veel meer gericht op de designer, met tools die zijn werk makkelijker maken”, zegt Reinier Zwitserloot. “Denk aan een getekende sprite animeren en als object in de code plakken, zodat je niks hoeft te veranderen als je later de animatie verbetert.”
Toch is er duidelijk een beweging op gang gekomen. Francesco Cottone ziet ruimte voor early adopter games: “Ik heb een Wii gekocht om Zelda te kunnen spelen. Dus als de volgende Cave Story alleen werkt met <canvas>, switch ik wel naar een browser die het ondersteunt. Het wordt een console war, maar dan met browsers.”
Maarten Brands van Virtual Fairground is benieuwd wat er gebeurt als er inderdaad meer HTML5-gamesites komen, zeker als deze worden geoptimaliseerd voor de browser van de iPhone. “Als zulke games de kwaliteit van App Store-spellen evenaren, blijft Apple dan zo fanatiek de open standaarden van het web ondersteunen?” ///
[stextbox id="custom" caption="Flash op je mobiel"]
Flash is te processor- en batterij-intensief voor telefoons. Althans, dat beweerde Steve Jobs in zijn open brief. Alleen: Adobe is bezig met een versie van Flash voor Android-telefoons. “Maar,” zegt Maarten Brands van Virtual Fairground, “Jobs heeft een punt als hij zegt dat het er vooralsnog niet op draait.” Hetzelfde argument gaat echter niet op voor de iPad. “Dat is geen telefoon. En er zijn genoeg netbooks waar Flash prima op werkt.” Brands denkt dat het nog spannend kan worden. “Ik ben benieuwd wat er gebeurt als Flash straks werkt op Android en niet op iPhone OS. Zeker omdat Androids-telefoons inmiddels een groter marktaandeel hebben.”[/stextbox]
[stextbox id="custom" caption="Het moderne web"]
‘HTML5’ is eigenlijk een catchphrase voor de verschillende technieken die het moderne web mogelijk maken: naast HTML5 ook CSS3 en JavaScript. “HTML5 is hard op weg om de meest misbruikte webterm te worden sinds AJAX,” zegt webdeveloper Reinier Zwitserloot. “Als je technisch wilt zijn refereert HTML5 naar <canvas>, <video>, <audio>, de nieuwe paginastructuurtags zoals <header>,
<footer> en <nav>, en het standaardiseren van dingen die in de praktijk toch al werkten.” Volgens Zwitserloot staat de term symbool voor al het nieuwe dat eigenlijk niet mogelijk wordt geacht in de browser. Sterker nog: “Het staat voor bouwen voor de nieuwste browsers in plaats van het gebruikelijke model van ontwikkelen voor de lowest common denominator.”[/stextbox]
Facebook
Twitter
Het kan aan mij liggen, maar Flash werkt al tijden op Android telefoons? Flash 10.1 is beschikbaar op Android 2.2, en de meerderheid van de overige Android telefoons werkt met Flash Lite.
Ik, als Flash developer, zie een groot gat in HTML5: Alles wat je in HTML5 maakt, is gelijk open source!
Er zit dus geen commerciële kwaliteit aan HTML5 wat betreft games, iedereen kan het rippen en je reclame (bv.) eruit gooien.
Het commercieel belang van HTML5 wat betreft Flash games (wat een enorme markt is) is dus weinig tot niets. Je hebt er geen fluit aan, want iedereen zou bijvoorbeeld je reclame eruit kunnen slopen of de hele game kopiëren.
Nee, Flash is zeker nog niet ten einde. Nog lang niet.
Ik word een beetje moe van al die “Flash dood?” verhalen. Flash kan prima samenwerken met html5. En jammer voor alle iPhone gebruikers, maar flash werkt inderdaad al lang prima op android en andere telefoons.
Als je je gaat zitten afvragen welke het wordt, Flash of HTML5 dan heb je er duidelijk niet veel kaas van gegeten.
@Jos ‘prima’?
http://www.electronista.com/articles/10/08/19/flash.on.android.seen.too.slow.and.unoptimized/
http://www.androidworld.nl/27887/flash-beta-vertraagt-android-browse-ervaring/
@Kenney HTML5 games zijn niet meteen ‘open source’ enkel omdat ze in HTML5 zijn geschreven. Als ik een game bouw met de open source GCC compiler is mijn game toch ook niet open source? Alleen de tools zijn dat.
Nee pardon, had ik anders moeten zeggen. Natuurlijk is de game niet open source, maar mensen kunnen vrij de source bekijken (rechtermuisknop > bron bekijken).
Da’s erg vervelend, het zal niet legaal zijn om de game aan te passen maar net of dat iemand ooit heeft tegengehouden…
HTML5 versus Flash is een beetje appels en peren vergelijken.
Flash bestaat bij de gratie van de dingen die in HTML (nog) niet mogelijk zijn, of (nog) niet goed werken (WYSIWYG, vector graphics, animaties, streaming video, video conference).
Flash is een niche-technologie voor websites (vergelijk het aantal Flash-sites met het aantal HTML sites).
De eerste ‘doorbraak’ van Flash in de jaren 1998 en later is onder andere gekomen als vervanger voor de animated GIF banners, omdat je met minder KB meer voor elkaar kon krijgen.
De tweede ‘doorbraak’ van Flash is in 2004 / 2005 gekomen als technologie om streaming video te tonen.
Waar Flash ergens in 2004 een derde ‘doorbraak’ had kunnen meemaken is als technologie voor online magazines (eenduidige gedrag en stabielen opmaak in alle browsers en op PC / Mac / Linux), hebben volgens mij 3 factoren dat verhinderd: geheugengebruik (teveel), “niet doorzoekbaar voor search engines” (niemand heeft daar ooit serieus werk van gemaakt) en een te hoge belasting op de processor (renderen van content via CPU inplaats van GPU)
Als “het vervangen van Flash-banners door Canvas banners” en “het vervangen van Flash Video door HTML5 video” het einde van Flash zou betekenen – wat de meest dominante argumenten waren in de afgelopen maanden – maak je Flash tegelijkertijd groter (net zo belangrijk en dominant als HTML) en kleiner (doet alleen banners en video) dan het is.
Zoals gezegd, Flash is een nice-product voor hele specifieke toepassingen die (nog) niet met HTML/CSS mogelijk zijn, of simpelweg (cross browser) onberouwbaar zijn. Die niche zal wellicht verschuiven, maar blijven bestaan tot het moment dat Adobe stopt met investeren in Flash.
Zie hier wat van mijn opinie-artikelen (inclusief Flash bashing en HTML / browser bashing) over dit onderwerp: http://flashworks.wordpress.com/category/opinions/
@Redactie Online:
Die 2e link is een gebruikerstest van lik mn vestje, zie de reacties voor verdere uitleg.
Het grootste probleem met HTML 5 is exact datgene dat Kenney aankaart: de source achter games die met HTML 5 worden ontwikkeld is vrij in te kijken, wat het commercieel totaal oninteressant maakt. Daarnaast verloopt de ontwikkeling van een html 5 standaard maar moeizaam, het kan nog jaren duren voordat alle browsers het volledig ondersteunen.
Belangrijkste op dit moment is dat Flash de standaard is, en daarom hebben consumenten er baat bij dat hun apparaten het ondersteunen. Flash 10.1 werkt bij mij prima op de Nexus One, het is niet altijd even snel, maar belangrijker vind ik dat je als consument hier een keuze hebt. Flash is immers net zo makkelijk uit te schakelen op Android fans. De beslissing ligt dus bij de consument. Tenzij je dus een iPhone / iPad hebt, je bent de eigenaar van een ‘gimped’ apparaat van een fabrikant die denkt dat hij zelf betere beslissingen kan maken. Maar ik kan me voorstellen dat sommige mensen het makkelijker vinden als anderen constant de beslissingen voor hun nemen.
@Kenny
Er is ook nog obfuscation. Code zonder comments en met alleen maar nietszeggende functie-namen en variabelen-namen is echt niet zo makkelijk te reverse-engineeren. Het is alsof je naar Assembly kijkt.
@All
Mijn vermoeden is nog steeds dat, als HTML5 wijdverbreid raakt, Adobe zelf met een AS3 naar HTML5 cross-compiler zal komen. We zien nu al de eerste hacks zoals Gordon en Smokescreen; dit zijn Flash naar Javascript converters.
Als Adobe dit niet doet, en HTML5 games vervullen hun potentie, en de Flash runtime wordt niet ondersteunt op 80% van de smartphones, dan moeten ze terrein inleveren. Het alternatief is dan pure Javascript of b.v. GWT van Google.
Adobe zal op dit misschien nog niet (graag) het graf graven van de Flash runtime, maar voegen wel al support toe voor HTML5 Banner-Ads recht vanuit hun grafische software (o.a. te zien bij Google I/O 2010).
@mark Je hebt mensen die hun apparaten helemaal naar hun hand willen zetten en (een veel grotere groep) mensen die gewoon wil dat een apparaat het doet. Android is er voor groep 1. iOS is er voor de rest. Er valt veel te zeggen voor een apparaat dat gewoon die dingen doet die het belooft zonder dat de boel vastloopt of de batterij leeg bloedt.
Persoonlijk vindt ik Flash op Android vreselijk traag en onhandig. Ik zit me constant te ergeren als ik op de HTC van een vriend van mij probeer om Flash content te laten draaien. Dan kies ik liever voor geen Flash zonder irritatie.
Enkel dat iets ‘kan’ wil niet zeggen dat het ‘werkt’.
@Sauron: Dat is relatief. Om Flash aan de praat te krijgen zal je het nog steeds moeten downloaden vanuit de Android Market. De consument die dat doet is ook de consument die het weer verwijdert mits hij er niet tevreden mee is.
De waarheid achter Apple’s anti-Flash houding zit hem waarschijnlijk in het business model. Consumenten die Flash games spelen op hun telefoon zijn een doorn in het oog voor Apple gok ik – Apple verdient er immers meer mee als mensen al hun games aanschaffen via de App Store.
Google heeft in het verleden al meerdere malen aangegeven dat het hun hier niet om gaat. Advertentie inkomsten zijn het belangrijkste, en des te meer tijd consumenten online besteden des te groter de kans is dat ze in contact komen met Google advertenties. De gratis games op de Android Market komen veelal met ingebouwde Google Ads. Hetzelfde zie je regelmatig met Flash games online, op dezelfde website stikt het vaak van de Google Ads. Ik gok dat dat dan ook de reden is dat Android wel Flash ondersteunt, en iOS dus niet.
Overigens is de impact van Flash op de batterij van Android telefoons vrijwel nihil: http://vimeo.com/9705969
En dit is een uservideo van Flash games op een Android telefoon, ik begrijp dan ook niet helemaal waar je dat ‘traag en onhandig’ vandaan haalt: http://www.youtube.com/watch?v=YOejNiewGnw
@Mark Nou moet je niet aankomen zetten met feiten. Als Steve Jobs zegt dat Flash slecht is, dan is dat slecht
Geintje uiteraard.
Mijn ervaringen met Flash op een HTC met Android zijn gewoon niet denderend. En ik mis Flash helemaal niet op mijn iPhone en iPad.