HTML5 fantasy and facts

Fantasy: HTML5 is great for iPhone and other mobile devices
Fact: iPhone is the new IE6.
Consider the amount of effort & hacks you invested into Trident-Webkit-Gecko test suits, now multiply it by 20 if you want to make a decent cross-platform webpage for mobiles

Fantasy: HTML5 is standard
Fact: HTML5 is like the new <applet> which no one will bother install.
It’s just a bunch of code monkeys and tech-savvy hype around it, real end-users and consumers don’t give a shit. The de facto standard for the Web in the past decade was IE6.

Fantasy: Flash video sucks, it hogs my CPU!
Fact: Blame Adobe and Apple.
HTML5 hogging is more deadly, and since the HTML5 rendering is done inside the same process of normal HTML layout, the hogging is global and you can’t solve browser crashes by using a separate process for each plugin.
According to Adobe, YUV-RGB and rich compositing is a performance penalty which HTML5 <video> tag can not avoid, too.

Fantasy: Flash ads is visual pollution to webpages
Fact: ads made by <canvas> or SVG, generated dynamically via inline obsfucated Javascript is impossible to disable or block. You should rejoice that Flash is a thirdparty and can be easily blocked by NoFlash

Fantasy: <canvas> can overtake Flash
Fact: Oh yeah? You expect artists & designers to create vector animations by writing numerous for and setTimeout? OK, you can invent a competent authoring tool against Flash or Flex that generates lots of for and setTimeout? Good. Now try stream a 1MB <canvas> animation full of for and setTimeout, and please provide a progress bar for a user to do arbitrary timeline jumps. Oh, btw, call me when WHATWG added FPS settings for <canvas>
Just FYI: Flash does much much more than a just plain canvas. If you think I am wrong, think again. If still, think harder.

Fantasy: WebGL can do 3D, yeah!
Fact: So does DirectAnimation and VRML decades ago. It was limited only because scripting speed was limited those days. And still O3D and Unity3D is better than WebGL in many levels and has more realworld applications.

Fantasy: video tag is better than Flash
Fact: native codec is better than Flash. What’s the difference between <video> and <embed> really? I was waiting to see WHATWG fail by re-inventing a full stack media player wheel, because soon the consumers will ask volume control over <video>, and brightness, tilt & rotate, stereo & DFX, subtitles, AV out, ahhhh fuck those shit.

Summary: HTML5 is a wonderful promise and well celebrated by developer communities, but let’s face it, it doesn’t really changes anything, and nobody talks about its awkwardness. CSS3 is still not re-usable, HTTP is still plaintext protocol which anyone can eavesdropping, tamper and censor. HCI improved a lot but the Web is extremely slow towards these changes. Perhaps the HTML5 was really designed to solve ‘how to stare at a 2D monitor properly with a mouse and keyboard’ problem only.