Author: Oswald Campesato
Audience: Web developers
Reviewer: Ian Elliot
A pocket primer for HTML5 - oh no not more boring summaries of semantic tags - but this one is very good.
Most HTML5 book are light on content and what content they do have tends to be spread over far too many pages. This particular book doesn't fit in your pocket, but it is small enough not to be intimidating. The question is does it contain more information than the average?
The first thing to say is that the layout makes the book look difficult to read - but it's worth the effort. The first chapter gives a history of HTML5 and describes which technologies are part of it and which are on the edges of the specification. From here we have a look at Modernizer and the Caniuse website - which for some reason is rarely mentioned in HTML guides. By page 15 we have had a lightening treatment of the new tags and an example of how to use them. Custom data attributes are also described in a single paragraph. Too fast? If you think so you aren't going to like the rest of the book. For any programmer however this should be more than enough - why dwell on the obvious?
But what does the reast of the book deal with?
Chapter 2 takes on CSS3. Many HTML5 books make the choice that CSS3 is too big a topic and it really should be in another book. Here Oswald Campesato gives you a basic introduction to most aspects of CSS3 in 14 pages. You get to find out about basic CSS, shadow effects, rounded corners, gradients, 2D transformations and media queries. He doesn't cover animation and many of the "tricky" parts of CSS, but he does give you a basic idea of what CSS3 can do.
The next chapter summarizes the basics of media support, audio and video and unusually the Battery API and the Vibration API. Next we move on to storage - web storage, indexeddb and working with geolocation. At the end it considers the idea of an off-line application but doesn't go into any detail about the problems of working with Chrome and/or Firefox implementations of the idea. You could argue that as none of this is part of the HTML5 specification it is off topic - but it is a real concern at the moment.
As the book progresses it become less focused on pure HTML5 topics. Chapter 7 is about server communication - CORS,Websockets, ServerSide Events SSE, SPD and Web Intents . By Chapter 8 the need to deal with a collection of small APIs results in a miscellany of topics - microdata, drag and drop, file API, History API, WebGL. jQuery and other libraries feature in this chapter in an effort to make things seem simpler.
There is a DVD bound into the back of the book that contains some video tutorials, the source code from the book and some extras. Why a DVD and not a website. I'm not sure.
Overall this is a neat introduction to many HTML5 technologies. None of the introductions are "in depth" and you aren't going to find the book particularly useful once you graduate from beginner in any of the categories. However, HTML5 has so many APIs that there is probably always going to be one that you need to brush up on. The book also doesn't do anything about covering the technologies that are being invented each day to make ChromeOS and Firefox OS work. This isn't unreasonable as they are a long way from being standards as yet.
This is not a really great book but it does at least manage to deal with fairly obvious things quickly and lingers only on slightly more difficult topics. It also fails to organize its material in a way that is convincing - putting location in with database, for example, and the battery API in with media. Yes it sort of makes sense but...
While this book isn't going to be of much use to the complete beginner or the non-programmer, it could certainly help web developers find out about the vague package of technologies that we tend to call HTML5.