|

|
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:
- Build the latest interface design theories into your Web
applications
- Master the Building Blocks of the Document Object Model
- Use JavaScript and Cascading Style Sheets to bring functionality,
interactivity, and style to your applications
- Discover how to separate structure from presentation
- Integrate client- and server-side solutions
- Create reusable components and libraries to speed up the
development process
- Implement successful strategies for ensuring platform and browser
compatibility
- Build user-configurable interfaces
- Integrate feedback options, menus, help systems, and other
traditional interface features into full-blown Web applications
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
|