BOOK AND SOFTWARE REVIEWS
Hill, Josh & Brannen, James A. Brilliant HTML5 & CSS3. Harlow, UK: Pearson Education, 2011. xii, 300 p. ISBN 978-0-273-74712-3. £18.99
Hogan, Brian P. HTML5 and CSS3: develop with tomorrow's standards today. Raleigh, NC: The Pragmatic Bookshelf, 2010. xvi, 258,  p. ISBN 978-1-93435-668-5. $33.00
It seems that the hills are alive with the sound of books on HTML5 coming off the presses - hence the review of couple of books, in addition to the other that appears in this issue of the journal. This means, I guess, that publishers and authors believe that the standard is now sufficiently robust to go ahead with publication. I say, 'sufficiently robust' because the standard is not yet finalised (the current version is revision 1.4903), but the process of reaching agreement on every element and feature in the relevant committee of W3C can be pretty interminable.
Of the two books, that by Hill and Brennan is the most basic: it is a general text on HTML and CSS, using the current versions of these standards to teach how to develop Web pages. It goes through the basics of structuring a page, marking up text, using hyperlinks and then on to the more complicated features of images, tables and forms. If you already know how to do these things, the book will act as a refresher course and you can focus on those sections that deal with the new elements and the new capabilities.
In the part of the book devoted to CSS3, the authors point out that, unlike CSS2, the specification is not being approved in a single chunk, but is divided into modules, which means that Website designers can use the new capabilities as they are approved, rather than waiting, perhaps for several years, until the full specification is approved. The authors point you to a useful resource at veign.com but, unfortunately, it is very difficult to find the quick reference guide to CSS3 at the site. It failed to appear even when I used its internal search engine and I only located it by carrying out a general Web search. So, as a service to the buyer of this book, here's a link to the page, which I archived at WebCite. With a little luck it won't disappear: http://bit.ly/lxK5pG.
Essentially, HTML5 is concerned with the structure of a page and CSS3 is concerned with its appearance. The abbreviation means 'cascading style sheets' and the 'cascade' operates at three levels: a site level, provided by a separate style-sheet, which controls the look of the site as a whole, or whatever portion of the site you wish it to relate to; a page level, with the style embeded in the <head> section of the page; and 'inline', i.e., embedded in a page element.
The inline cascade level is illustrated here: you will see that a different font family has been selected for this paragraph, using the style statement within the paragraph tag: <p style="font-family:Comic Sans MS;">. The other paragraphs on the page remain unchanged because their style is set by the style sheet for the reviews section as a whole.
There are too many new features in CSS3 to deal with them here: that is the purpose of the book and it does a good job in showing how to use style to make rounded corners to boxes, and similar arcane features!
Overall, the book is very well designed, using a lot of colour, screenshots, side-bars and other features to put across its message. The 'brilliant' in the title is not a boast, but a reference to the series in which it appears. If you are just beginning to learn HTML and CSS, this would be a good place to start.
The second book is rather different: a better title might have been, 'Developing Web sites with HTML5 and CSS3', since its focus is not on teaching the basics but on using the standards in site design. At the outset the author makes it clear that prior knowledge is needed:
So, if you are a beginner, you need to start somewhere else, and the book reviewed above would be a good place to begin, or the other introduction to HTML5 reviewed here.
The book by Hogan is certainly timely: HTML5 is gaining strength and most browsers can now cope with most of the new features. I suspect that the speed with which it is being taken up reflects relief at not having to deal with XML, although I imagine that standard will continue to find adherents in specialised areas. The Web is so open, however, that the millions of page designers, both professional and amateur, who exist out there in cyberspace are more likely to adopt an evolutionary product like HTML5.
A very practical, how-to-do-it approach is adopted by the author, although, as noted above, some prior experience is expected in some of the chapters. Following an introductory overvieww of HTML5 and CSS3, the book is divided into three parts: Improving user interfaces; New sights and sounds, and Beyond HTML5.
Most experienced HTML coders will probably skip the introduction and go straight to Chapter 2, which deals with the new structural tags and attributes. There they will discover that the <div> tag will play a less important part in their lives, because HTML5 has new tags to define parts of the page: <header>, <footer>, <nav> and <section>. This chapter is illustrated with reference to the re-design of a blog page and this use of 'tips' is repeated throughout the book. The second section of the book deals with the new 'canvas' element and with embedding video and audio files in pages, while the third part deals with more complex applications using interfaces with other software.
The experience HTML designer will find this book very useful in redesigning his or her practice and I imagine that the future of HTML is now secured. Where this leaves XHTML is a question and I think the answer is that it is now redundant - HTML5 does not even require the more rigorous use of closing tags that XHTML requires and which I shall continue to think of as good practice!