Saturday, 10 September 2011

Review: HTML5 Guidelines for Web Developers

HTML5 Guidelines for Web Developers
by Klaus Förster, Bernd Öggl, Addison-Wesley / Safari Books

Whether you are a web developer, hardcore coder or, like me, just somebody who dabbles and tries to keep up with the latest technology, you will find this volume on HTML5 of interest.

"You should definitely have a basic knowledge of HTML, JavaScript, and CSS; a willingness to work with a different browser for a change, not just the one you are used to; and above all, a desire to discover something new."

Written by a couple of enthusiasts from Innsbruck, Austria, it's a good round-up of what's in and out of the emergent HTML5 standard.

There is a companion website in English and German demonstrating the code snippets at

It's good that Förster and Öggl sat down to produce this, as I have struggled this year to find a decent source that encapsulates the proposed HTML5 standard. As Open Source developers and sys admins, they have a good grasp of web technologies.

For the uninitiated, there is the obligatory, but brief, overview of HTML standards in a 'how we got here' introductory passage which begins the valuable list of external references to sites and publications for further reading; this salting of the text continues throughout.

The What's New and What's Obsolete section summarises just that, then it's onto the meat of HTML5, starting with semantics, document structures, punctuated with code samples and highlighting important points of note.

So it goes on; intelligent forms is all about more interactive web pages. Audio and video, importantly, has to cover codecs, containers and players, as this is one of the most eagerly awaited aspects of HTML5. There's a thorough section on Canvas, a programmable picture on which you can draw via a JavaScript API. Scalable Vector Graphics (SVG), Math Mark-up Language and Geo-Location round out the page mark-up components.

Web Storage and Offline Web Applications gets a chapter, for interacting with Cloud services, while Websockets extends the HTTP protocol for broadcast communications between client and server. Web Workers is a new mechanism for background processing and error handling, as far as I understand it: "...scripts running parallel in the browser... in desktop applications these are known as threads; in the browser they are called web workers." See? Some of this is genuinely new to me, I shall have to go back and re-read some of these chapters.

Förster and Öggl have produced an excellent, no-nonsense guide to the HTML standard so far, with prolific examples. It is well written (I suspect their English is better than mine) in a concise style edited for clarity. You know these two have learned from other technical guides and avoided many of the pitfalls. The subject matter may go over your head, the writing doesn't, nor does it talk down or patronise. Developers will like it and the rest of us can get a flavour of what is beginning to emerge. RC