Book Review: HTML5 Applications

I picked up Zachary Kessin’s book, HTML5 Applications, at a used bookstore and tried to read it recently. It was not a pleasant experience.

To be fair, this book was published in 2011 and a lot of the specific details have changed in the seven intervening years.  The BlobBuilder() function, for example, has been subsequently deprecated. It would be unreasonable to expect a printed book to anticipate and adapt for this kind of change, obviously, and I don’t fault the author for this.

Here’s an example of the kind of frustrating problems I had with the book in addition to the material being changed:

Because JavaScript is a case-sensitive language, the correct methods should be fadeIn and fadeOut, rather than all lower case. Granted, developers already familiar with jQuery will know this and adjust accordingly, but a technical reviewer should have caught this and set it right before it got to print.

Similarly, in a later portion of the book where Kessin is explaining the filter() method, an even function is referenced– even though it is never defined anywhere else on the page. Again, an experienced JS developer will be able to infer the need to define an even() to make the code work, but expecting readers to “just know this” and “fill in the blanks on their own” doesn’t contribute to a positive reader experience. It’s precisely these sorts of omissions which make learning new material frustrating instead of enjoyable, because you feel like you’re spending more time fixing someone else’s code rather than learning new material.

The section on Testing JavaScript Applications with QUnit and Selenium were fairly decent, and some material in the New Tags chapter was helpful, but I’ve found it necessary to put notes in the margins of several pages to keep track of omissions and updates.