Monday, February 4, 2013

My review of “Introducing HTML5” by Bruce Lawson and Remy Sharp

In preparation for the 70-480 “Programming in HTML5 with JavaScript and CSS3” exam, I’ve spent parts of the last week reading the first edition of “Introducing HTML5” by Bruce Lawson and Remy Sharp. The book has left me wishing for more and wanting to dive head first into the world of HTML5, which means that the authors have been good ambassadors for the topics in question.

That being said, you have to suffer through some bad jokes and unrealistic examples before the book realizes its true potential. The structure and mood of the book varies depending on the author of the chapter, giving an impression of the authors not necessarily deciding on a writing style before beginning the book. For example, whereas one topic includes a real-life case study the readers can relate to, another topic is exemplified through markup containing the “weaponry of fairies”. Luckily however, as the more advanced topics are covered, the examples improve drastically and reflect realistic usages which will be of great use for the reader.

The authors are clear on the scope of the book, which makes it very easy for the reader to fully understand what HTML5 is all about. Instead of keeping quiet about the topics not covered in the book, we get a clear overview of what they are and why they are not in the scope. They have included a couple of topics which are not part of the HTML5 specification but are so closely related or useful that the reader will benefit from learning about them. One of these topics are the Geolocation API. The authors are also able to create a great balance between what the future may provide (as HTML5 is still in its early stages) and the steps needed to take in order to ensure backwards compatibility. An example of this is the WAI-ARIA section of the book, where the readers are guided through the means of ensuring top accessibility both now and in the future.

A lot of developers are guilty when it comes to reading about a topic, but not trying it out themselves (or vice versa), which is why I always cheer when I reach the end of a chapter and find a “try it yourself” section containing exercises. Sadly, this book does not have that. Neither does it have a “What now?” section for the readers interested in more after finishing the book. Not having this doesn’t affect the quality of the book itself, but further engaging the reader would only be positive.

The main reason for me enjoying this book so much is the simplicity with which the Javascript APIs are explained. The authors focus on what is needed to use the core features of the APIs, making it easy for the reader to grasp the main concepts. In some cases the authors leave it at that, while in others they go on to explain the more advanced features, showing us the exiting possibilities of the APIs.

As mentioned earlier I read the first edition, but if you’re looking for an easy-to-read HTML5 book containing a lot of great Javascript and a couple of bad jokes, I would recommend picking up the second edition of this book. Enjoy!