Wanneer je begint aan een project om HTML5-video op de iPad mogelijk te maken, werpen de obstakels zich snel op.

De iPad is de nieuwe IE6-15082296

© CIDimport

Sinds we vorig jaar geconfronteerd werden met de hype rond HTML5 en de verhalen dat ‘HTML5 het internet zou redden’ en dat ‘Flash dood zou zijn’, geloven veel mensen daadwerkelijk dat HTML5 klaar is om Flash te vervangen. Ontwikkelaars zouden er al goed mee kunnen werken, de stabiliteit zou in orde zijn en ook de prestaties van HTML5 zouden die van Flash overstijgen.

Ik probeer mensen sinds die hype vorig jaar ervan te overtuigen dat dit niet zo is en ook voorlopig niet zo zal zijn. Waarom niet? Omdat ieder platform zijn bugs kent en het nog jaren zal duren voordat die allemaal gevonden, gedocumenteerd en verholpen zijn. Zodra HTML5 toegepast wordt op complexe systemen, ontstaat daar ook meer ruimte voor problemen. Daarnaast ondersteunen nog veel browsers niet alle CSS 2.1 functionaliteit die ik vijf jaar geleden op diverse blogs al omschreven had gezien. (Ik raakte toen al gefrustreerd dat ik niet alle gave mogelijkheden kon gebruiken…)

Ik heb recent dit Twitter-bericht geplaatst en ik sta nog volledig achter de inhoud. ”Alleen mensen die nog nooit iets complex met HTML5-video op de iPad hebben geprobeerd, klagen over de bugs van Flash” – Miller Medeiros

Zaken die je voor zoete koek aanneemt, zoals zoeken naar een bepaalde tijd, preloading/buffering in de achtergrond, een video starten zonder gebruikersinteractie, meerdere video’s op dezelfde pagina, testen in een simulatie, een video die na afloop opnieuw begint met afspelen, etc. werken niet zonder dat je dat je daarvoor bepaalde hacks moet toepassen. Erger nog, een aantal van de genoemde mogelijkheden werken überhaupt niet.

Het ergste is dat je nergens te rade kunt gaan waarom het niet werkt of hoe je deze problemen kunt oplossen. Er zijn nog geen fora of blogs waar deze zaken besproken worden en er is nog geen documentatie voorhanden. De informatie die er is raakt snel gedateerd door een update van het OS, documentatie is beperkt en specificaties veranderen constant doordat ieder iOS andere eisen stelt. Tel daar nog eens bij op dat ook Apple zelf allerlei proprietary functionaliteit toevoegt…

Waarom kaart ik dit probleem aan? Omdat veel HTML5-evangelisten ten onrechte roepen dat HMTL5 Flash volledig kan vervangen en zelfs beter zou zijn dan Flash. Het zou wel kunnen voor bepaalde projecten, maar voor zwaardere interactieve/multimedia content is Flash nog steeds de best beschikbare optie. Ik constateer dat veel mensen teveel van HTML5 verwachten en dat de browsers (nog) niet goed met de standaard overweg kunnen.

Ik zeg dat de iPad de nieuwe IE6 is omdat we er iets van verwachten dat het niet kan bieden, op dezelfde manier als we van IE6 eerder verwachtten dat deze dezelfde functionaliteit/prestaties/stabiliteit bood als de laatste versies van Firefox/Chrome. Het duurt jaren en vele iteraties voordat een technologie als ‘stabiel’ mag worden aangemerkt. Te vroeg gebruik van standaarden en slechte implementaties leiden enkel tot hoofdpijn. Dat gebeurde eerder met IE6 en dat gebeurt nu ook met de iOS-versie van Safari op de iPad.

Het duurde jaren voordat de ontwikkelgemeenschap met IE6 om wist te gaan en voordat de meeste bugs uit de software verdwenen. Het ‘probleem’ vandaag de dag is dat browsers elkaar kort opvolgen. Daardoor zijn slechts zo weinig mensen met de oplossingen voor geconstateerde bugs bezig, dat veel oplossingen 'te laat' voor de desbetreffende versie arriveren.

Het duurt vaak minder dan een uur voordat ik een website die ik in twee weken gebouwd in IE6/7 werkend heb, maar het duurt me vaak drie dagen voordat ik iets dat ik in een dag gebouwd heb op de iPad werkend krijg – en nee, ik overdrijf niet.

Ik wil het volgende duidelijk maken:

[list]HTML is niet ontworpen om dynamische/interactieve content te presenteren, het was gericht op de opmaak van academische documenten.

De prestaties van JavaScript in iOS zijn 100 keer slechter dan op de desktop.

Canvas-prestaties zijn in iOS zo slecht dat het nauwelijks bruikbaar is.

Veel mensen upgraden hun software niet. iOS 3.2 verschilt compleet van iOS 4.2 en toch zul je beide moeten ondersteunen.

De iOS-simulator werkt anders dan het werkelijke apparaat.

Iedere Webkit-browser werkt anders en zowel oude als nieuwe versies van iOS hebben veel bugs en missende features.

Chrome en Safari kennen renderingproblemen met HTML5-video. Ook CSS3 werkt niet altijd wanneer je overlaying content en CSS-transities toepast.

Android 2.0 t/m 2.2 kent ook veel bugs met HTML5-video

Het gebruik van specificaties en documentatie frustreert enorm als er intussen zaken veranderd zijn.

De bug-tracker van Apple zuigt. Zo kun je bijvoorbeeld niet zien of iemand dezelfde bug eerder heeft gerapporteerd en je kunt er niets posten zolang niet aangeeft dat je de huisregels accepteert. (Als jullie moeilijk doen, ben ik ook niet de makkelijkste.)

Als het uiteindelijk werkt, zal het de eindgebruiker een zorg zijn welke achterliggende technologie is toegepast.

Geloof niet alles wat in presentaties en keynotes beloofd wordt. Beter nog, bekijk ze helemaal niet.[/list]

Misschien dat ik een nieuwe blog schrijf als ik me door de bugs heb heen gewerkt en het project heb afgerond. Ik beloof niets, maar als ik het doe, wordt het een hele waslijst aangezien ik nog altijd hard bezig ben met het fixen van bugs. Als je niet gelooft dat deze bugs bestaan, kijk dan naar deze voorbeelden. (Op Stackoverflow.com staan er genoeg.)

[list]

HTML5 video on iPad

HTML5 video seeking on iPad

html5 video not playing in ipad simulator ?

iPad Safari mobile seems to ignore z-indexing position for html5 video elements

Missing html5 video “ended” event on iPad

[/list]

Wat ik maar wil zeggen is dat hoe dieper je in de materie duikt, hoe meer problemen je zult aantreffen. Ieder platform kent zijn bugs en dat geldt ook voor het nog jonge HTML5. Het is gewoon beta-kwaliteit, stop daarom alsjeblieft met het verspreiden van leugens.

Lees ook:

iPad 2 vs. Android 3

9 Typische iPad-problemen

Waarom de iPad mij zwaar tegenvalt



Miller H. Borges Medeiros (25) is een Braziliaanse webdeveloper die momenteel in New York woont. Hij werkt voor het bedrijf FirstBorn Multimedia en houdt op MillerMedeiros.com een eigen blog bij.

Deel dit artikel
Voeg toe aan favorieten