Rocking with HTML 5 February 06, 2010

Just been looking at some newfangled HTML 5 goodness.

My top 3 new features (least important first) are:

No. 3: Inline video
Video without Flash and a full JavaScript API to control it too - considerably less overhead while playing movies and a much less clunky API than using even the great JavaScript<->Flash APIs such as Flowplayer or swfobject.

No. 2: Web database
Local browser database engine and a SQL stack to run queries against it. The actual storage of the data isn't a big deal per se (it kind of works like a bigger cookie basically). The key features a local database allows and what makes it terribly important is that data need only be downloaded to the client once, and the browser and server just synchronise as necessary. Over time for a web app (ie like web mail) means considerably less bandwidth usage, content gets displayed instantly, and more importantly, is available offline (so you can use a web app on a plane with no net connection, for example). I do wonder about the decision to use SQL instead of an object query method like LINQ though, as SQL is not a lightweight thing to support.

No. 1: Web workers
For me, being a multithreaded programmer, this is the absolute cream of HTML 5. While web worker's are more of a pseudo-threading model than a proper one, the API isn't at all bad. I can't wait to take advantage of this, because with the intra and inter-domain messaging as well, it opens the possibility of a proper distributed web app!

That said, I'd have to really check the constraints here, because this would be zombie botnet and DDOS heaven for malicious developers if it was indeed possible, but this stuff is really interesting regardless.

To use HTML 5 you need to be using WebKit (Safari 4 or Chrome basically), but Firefox does support most stuff too. IE, even IE 8, is a complete non-starter here. Did I mention you should upgrade? Now!

Anyway, have a look at this HTML5 demo site (and also be sure to visit youtube.com/html5 to see a Flashless YouTube!)

0 comments:

Post a Comment