The Higher Levels of Web Work
Musciano, Chuck and Bill Kennedy. HTML & XHTML: The Definitive Guide. O'Reilly; Sebastopol, CA. US$49.99. ISBN-10: 0-596-52732-2
Some of the best developments have been made by people working in groups. Ideas are thrown out, debated, expanded and sometimes dismissed. An example of this might be the team at Bletchley Park during World War Two who, collaboratively, solved many of the problems of encryption surrounding the Enigma machine.
The "No Fluff Just Stuff" dinners are meetings, organised by Jay Zimmerman, in many cities in the US which draw the best minds to discuss ideas. Those attending are some of the brightest in the field of programming. They are pushing back the barriers in what we will eventually be able to do.
Neal Ford was asked to gather articles by speakers at the dinners. He has collected fifteen (from thirteen participants) in this anthology of cutting edge, 2006 thinking. Although we are near the end of the year, the information and concepts here are not simply up to date but well in advance of current work.
As a brief example of topicality, an item by Neal, "DSLs and Language-Oriented Programming", discusses the uses of several programming languages including Java and Ruby on Rails. When I ask students and colleagues about the latter, I get blank looks. Domain specific languages (DSL) operate at a higher level than object-oriented programming but are often hidden. Neal outlines ways to create languages specific to problems.
More familiar may be the idea of Cascading Style Sheets (CSS). Towards the end of the collection is the second submission by Eitan Suez, "CSS: A Programmer's Perspective." Eitan Suez, who is the author of an Open Source Java documentation system called "Ashkelon", here discusses the programmer's approach to CSS, as opposed to that of the designer.
His comments hit home as my own site has been built piecemeal over the years. Suez points out that this approach is outdated: the sites can be rebuilt to include a certain freshness using what he terms here, "refactoring." He provides the ideas and suggestions as well as links to some of the tools that might be considered.
At the end of this collection are two appendices. The first provides brief sections on what the individual authors use: their favourite technical books and their favourite technical tools. In that alone there is considerable food for thought. This is followed by a dense bibliography.
Each of the fifteen articles may be read separately. There is no progression evident so this allows one to focus on particular features of interest and come back to the esoteric when time allows. A book to think about.
I have recently been teaching bare-bones HTML coding to students with zero experience of the concept. My intention is not to make super web-programmers out of them but to show them the underlying structures before they write their own. There are of course several books that can help, and we have looked at a few in the eXtensions columns in the past. Particularly noteworthy are the Cohens' "Web Programmer's Desk Reference" and the Freemans' "Head First HTML with CSS and XHTML" which I reviewed in June 2005 and June 2006 respectively.
HTML and XHTML by Musciano and Kennedy falls somewhere between the other two works: the one a reference, the other a comprehensive teaching tool. While this, as any such work in the instruction sphere should, begins with simple tasks, it examines the whole range of possibilities available in such coding but begins by explaining basics.
Hyper-Text Markup language was seen as being somewhat restricting, so the standards body, the World-Wide Web Consortium looked at a way to extend the possibilities while standardising output. The result is XHTML: HTML with XML, or Extensible Markup Language.
I found particularly useful the section on creating forms to gather content and the use of email to collect form data. The work also covers the use of media in web writing, such as audio, video and other non-text forms. A chapter on mobile devices and the mobile web is valuable considering the way that this variation of web-programming is likely to expand soon. The final chapter contains hints and tricks and concludes by tying up the loose ends.
There are clear chapter headings with a list of content in each contained in a clear box at top left of each chapter title page. Where necessary, there are clear, monochrome illustrations. There are also eight useful appendices.
The appendices are, briefly: HTML grammar; HTML/XHTML tag quick reference; CSS quick reference; HTML 4.01 document type definitions (DTD); XHTML 1.0 DTD; Character entities; Code names and values; and Netscape layout extensions.
The work ends with the usual clear O'Reilly index taking the book to 654 pages. This is both an admirable reference and a self-learning tool for those with skills above the beginner, although students who are intending to think about web programming would benefit, as would their teachers.
For further information, e-mail to
To eXtensions: 2004-05
To eXtensions: Year Two
To eXtensions: Year One
To eXtensions: Book Reviews
Back to homepage