Book review: Ajax Design Patterns

Ajax Design
Patterns (by Michael Mahemoff, June 2006, 635 pages, published by O'Reilly)
https://www.oreilly.com/catalog/ajaxdp/

 

Ajax Design Patterns gives an intro to Ajax and a tutorial,
programming Ajax design patterns, and examples of new Ajax-enabled user
interfaces that are currently being used. The 60+ patterns fall into various
categories, including Foundational Technology; Programming; Functionality and
Usability; and Development patterns.

 

Like the classic "Gang of Four" design pattern
book, Ajax design patterns have a mostly consistent writeup that include the
pattern name (and alternative commonly used names), a "goal story"
describing a user scenario, the core problem the pattern addresses, forces, a
solution, common decisions to make, real-world examples, alternative
implementations, and a simple metaphor that sums up what the pattern
accomplishes.

 

Some of the patterns include techniques that are already
being used by Books and Academic, as well as plenty that may be useful. This
includes downloading JS as needed (Multi-State Download, On-Demand JavaScript),
using timers (Scheduling actions),  packing images (Sprites),
synchronizing objects (Distributed Events), drawing attention to UI changes
(One-Second Spotlight, One-Second Motion, One-Second Mutation), and opening
content in the same page (Microlinks).

 

The book is written using a very friendly voice. There are
many references in the text to well-written articles and blog entries. The book
even feels good to hold. It's soft cover book but feels fairly durable.

 

This is an O'Reilly book and the entire text is up on
O'Reilly's Safari.com service, which is especially for copying code samples and
quickly looking up design patterns.

 

There is a companion website, https://ajaxpatterns.org/, that lists the
patterns in a Wikipedia-style interface, as well as all sorts of other useful
Ajax-related information and links.

 

As a whole I think that Ajax Design Patterns is a nice read
and good for getting ideas about how to make a good website experience great.