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:
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.