Lawson, Bruce & Sharp, Remy Introducing HTML 5. Berkeley, CA: New Riders, 2011. xvi, 223 p. ISBN 978-0-321-68729-6. $34.99 £25.99

Just about every Website you come across uses a combination of the mark-up language HTML version 4.0 and a combination of cascading style sheets (CSS) and javascript. HTML version 4.0 was published in 1998, which, in computing terms, is an aeon ago, but now the HTML 5 specification has been published albeit as a draft in development and books on the subject are beginning to flow. Why the length of time between versions? Well, as the authors of this work point out, W3C - the World Wide Web Consortium anticipated that HTML would be replaced by the rather more rigorous, XML and a modification of HTML 4, XHTML (used by this journal), was produced to steer things in the right direction. However, XML did not take over the world of Web publishing and even XHTML is far from being a standard: most people continue to use HTML 4.

Will the publication of HTML 5 make much difference to this situation? That's a very difficult question to answer, since varoius tools have emerged to provide Web page capabilities that cannot be delivered by HTML alone: such things as Flash. The result is that HTML 5 provides capabilities for video and audio as well as drawing possibilities through the HTML code itself. The video capability is shown here: a short, totally boring video taken with my phone, while I as writing the review - you see the book on the left, the review in progress on the screen, as well as my Goldtouch ergonomic keyboard, my mouse and teacup, none of it in HD :-).

The code for this is very simple:

<video src="VIDEO0003.theora.ogv" controls height="200" width="250" preload></video>

You can guess that the video is a file called "VIDEO0003.theora.ogv", then "controls" simply means that the usual vidoe player controls are provided, i.e., forward, pause, volume control, and "preload" simply ensures that the file is loaded when you load the Web page, rather than waiting until you click on "play" before loading. Note that, with Safari at least, you can also expand the video to full screen: it's probably even more boring that way!

Of course, not all browsers will enable you to see the video. The authors show how this problem can be overcome by using code to use Flash. Formats are a problem for browsers: the original formal from the phone was 3GP, which is pretty well standard for phones, but the only browswer that would show the video was Safari on my iMac. I tried converting to formats such as AVI, WAV and MOV, but none of these worked on Chrome or Firefox, although all of them worked on Safari and on Opera; finally, I converted to the .theora.ogv format and all of these browsers seem to cope with that open source format. The result of this little exercise suggests that if you want to be sure of seeing any kind of video file, choose Safari or Opera.

I shan't attempt to demonstrate the <canvas> tag - to which the authors devote and entire chapter. As I understand it, and I may be wrong, the main purpose of this tag and the associated API, is to provide capabilities for drawing applications that function within the browser. Reference is made to demonstration systems that replicate the old Microsoft Paint program and you can try out Harmony.

However, there are also new features in the basic mark-up tags, some of which are referred to as endowing semantic capability. However, let us be clear about this: semantics has to do with meaning and there is nothing in the tags that conveys anything about the meaning of the text within those tags. For example, a new tag is <article>, which can be used to identify text as being, say, an online newspaper article, or a scholarly paper in this journal - the entire text of the article would be set between these tags. But that conveys no semantic information whatsoever: it conveys no information about the meaning of the content within the tags; it only conveys information about the function of the tag. The same is true of <aside>, <audio>, <datalist>, <figcaption>, <figure>, <section>, <source> and <summary>: all of them useful additions to the list of tags, but none of them conveying the meaning of what lies between them. Some, like <datalist> and <figure> tell you what kind of information is to be found, but not what the data or the figure are about - and semantics is concerned with aboutness

I suspect that it is this mis-use of the idea of semantics that has given rise to the notion of the Semantic Web (although I haven't heard much about that lately), while a moment's thought will tell you that, in order to convey, the meaning of what lies between tags would require a universal classification scheme, at the least and every tag would have to have a set of classes specified to represent that classification scheme. In short, it's not achievable.

However, this minor grumble over language does not detract from the usefulness of this book: to begin with it is quite short, although I have no doubt that the HTML 5 'bibles' are already on the shelves; it is also well-written and effectively illustrated. If you want to know what is happening with HTML, this is the book for you. It is rather a pity that the various code listings and Website links are not available on the publisher's Website, but, then, one can't have everything.

Professor Tom Wilson
April, 2011