You are here: irt.org | Books | Building Dynamic HTML GUIs [ previous next ]
Written by Steven Champeon and David Fox, this is a large book of three parts. The first part (chapters 1-4) covers the theory of Graphical User Interface (GUI) design - "The User Interface: History, Principals and New Directions", the second part (chapters 5-6) gives an overview of Dynamic HTML (DHTML), and the third part (chapters 9-16 - and what most people buying the book will be interested in) demostrates examples of good "Human Computer Interface with Dynamic HTML", building a large DHTML application in the process, building on several smaller applications made along the way: feedback form, automated bug reporter, cookie-management module, custom color picker, dynamic menus, help module etc.
Unlike many other JavaScript or DHTML books - this book is NOT a technical reference manual. If you want one - look elsewhere. This book tries to show how to design a DHTML application with two main fundamental objectives: cross browser code wrappers that hide the differences between the two major browsers from the developer, and using Graphic User interfaces that are intuitive to the user and which provide visual feedback to the user. The authors might reverse the order of these two objectives, perhaps highlighting that the design of an application is more important than its underlying code.
The book does include a brief summary of various style technologies, e.g. CSS Level 1, CSS-P, CSS Level 2, XSL, which it classifies as "Adjectives and Adverbs". The book also describes the objects within the Document Object Model as "nouns", and the act of manipualating the objects as "verbs". Which when all brought together form "Sentences and Paragraphs". If, like me, you have trouble identifying your verbs from adverbs, then this is perhaps the most annoying aspect of the book. The book is, however, aimed at "Intermediate to Advanced" readers, so this can be forgiven, as it can be difficult to grasp what all the technologies are useful for unless explained in simple terms.
Unlike Java applets, JavaScript and DHTML can provide light weight GUI's without the overhead of downloading large Java class files to the client. This book discusses in some detail the pros and cons of different server side and client side technologies and their use within applications. The authors announce JavaScript as the "winner" - although the book suffers from a minor flaw: the authors make no mention of the ability of users to disable JavaScript. One wonders what would happen to all the resultant DHTML applications when viewed with a browser where JavaScript is not supported or has been disabled. The authors do, however, mention the ability to disable cookies!
The book encourages the hiding of browser specific code, by introducing a Cross Platform library of code that manipulates the Document Object Model available in the version 4 browsers using the authors own methods rather than the browsers sometimes differing methods and properties. The advantage being that developers do not have to worry about the differences and incompatabilites, but rather on the application itself. The disadvantage to seasoned developers would be the need to additionally learn another layer of code above that supplied by the browser vendors.
The book does not include a CD-ROM, but is supported by an accompanying website where the examples can be tested and code downloaded. The authors are maintaining the website and various versions of the cross platform library, including browser specific versions (sic!) all available under the GNU Public License.
The back cover of the book (which in general is use to overhype books) states:
Working Solutions for Programming Challenges:I have to admit, that the book does exactly what is says on the cover! Despite the few minor flaws (forgetting that JavaScript can be disabled, Verbs, Nouns, Adjectives and Adverbs) and the amount of material covering good GUI design, this is an excellent book for its intended audience.
Available to buy from: Amazon.com, Amazon.co.uk or Amazon.de
You are here: irt.org | Books | Building Dynamic HTML GUIs [ previous next ]