HTML5: Designing Rich Internet Applications by Matthew David (Focal Press)
I’ll be honest and up-front: this is a pretty negative review. I’ve been sitting on it for months, but decided to post it as people have asked our opinion of this book.
Firstly, it’s true that all books have errors. As well as typos, there are authoring brain-farts (the book I co-wrote with Remy claims there is a <heading> element, for example). There is also the risk, when writing on a moving target like HTML5, that the spec will change after the book has gone to press.
About the book
Four of us doctors have read this book (figure 1) and in our opinion it contains an unacceptable number of errors which makes it misleading to the reader.
- The preface claims "a group called the Web Standards project began developing HTML5 in 2007". It didn’t; it was the WHATWG, in 2004.
- In "spring 2010 .. Microsoft formerly [sic] joined the HTML5 Working Group". Chris Wilson, then lead of Internet Explorer, was co-chair in 2006.
- Page 11 mentions the <m> element. There isn’t one; it was renamed to the <mark> element (as it’s correctly called on page 22) before June 2008, at least 2 years before this book was published July 2010.
- Page 19 discusses the <dialog> element, which was removed from the spec in September 2009.
- Page 27 tells us "The W3C had already begun modernizing the FORM element, called Forms 2.0, before HTML5". The WHATWG started with Webforms 2; the W3C had worked on XForms 1.0.
- There is a <navigation> element used extensively in the chapter "Building a web site using HTML5 blocking elements" — this should be the
- Page 72 tells us “The ANCHOR element has four pseudo classes: link, active, hover and visited”, omitting the
focuspseudo-class which is vital for accessibility, as it is applied when a user navigates to a link using the keyboard rather than hovering with a mouse.
- Page 73 says “New to CSS3 is a new extension called pseudo elements”. Pseudo-elements were there from CSS 1.
The book also promotes several examples of bad coding practices:
<br/><br/>pairs to force new lines
- classitis (
<label>s are not accessibly associated with their
- not using the full vendor-prefix stack (-moz-, -ms- , -o-, -webkit-, [no prefix]) resulting in code that is neither future-proof nor cross-browser
- bad semantics, for example
<p class=mainTitleStyle>rather than using an HTML heading
The author’s website is http://matthewdavid.ws.
What I do recommend
So I can’t recommend this book. I can, however, recommend any of the following resources:
- Jeremy Keith’s HTML5 For Web Designers is a brief overview for designers or IT director types
- Dive into HTML5 by Mark Pilgim
- Professional HTML5 Programming by Peter Lubbers et al is a really good look at the APIs
- Definitive Guide to HTML5 Video by Silvia Pfeiffer
- Tantek Çelik’s HTML5 Now is a good video tutorial.
Have you read this book? What did you think of it? Let us know in the comments.
Reviewed by Bruce Lawson, Richard Clark, Oli Studholme and Tom Leadbetter.