In his first book, Designing the Obvious, Robert Hoekman, Jr. described seven core tenets of great Web application design:
- Build only what’s necessary
- Quickly turn beginning users into intermediates
- Prevent errors whenever possible and handle the errors we cannot prevent gracefully
- Reduce and refine interactions and task flows until even the most complicated applications are clear and understandable
- Design to support a specific activity
- Make constant, incremental improvements to our processes and applications
- Ignore the demands of users and stick to a vision
In his latest book, Designing the Moment: Web Interface Design Concepts in Action, he focuses on the individual moments, the smaller interactions that must also take place to create an optimal user experience.
Reading the book is in itself an enjoyable experience: Hoekman’s writing style is conversational and interesting. This is not a dry manual of best practices or standards, but rather a series of short, easily-digestible case studies. Each chapter (after the first chapter, they are never longer than 10 pages each) covers a specific “moment” or interaction on a site. In almost every case, Hoekman shares a story of a specific project he worked on and why his design evolved as it did.
Not long ago I was speaking to someone about detail, and mentioned the discussions we’d have at LexisNexis about the placement of the Cancel button. I felt I’d found a kindred spirit in Hoekman, with his sections on “Avoid Login syndrome” (page 31), “Perfecting OK/Cancel” (with subsections ‘Primary and secondary actions’ and ‘it matters’ (page 101)).
Hoekman’s style is open and accessible: he speaks as from one designer to another, sharing his experience and suggestions. Most notably in Chapter 5, Getting Your Head out of the Tag Cloud, Hoekman starts off the paragraph admitting he doesn’t have all the answers:
I’d like to expand on that story a bit, because I’ve learned a few things since writing Designing the Obvious that have changed my perspective.
The entire book becomes a joy to read, because the reader is invited to form his own thoughts and opinions – indeed, this is explained right in the introduction. Yet despite the encouragement to read the book with a critical eye, I found myself understanding Hoekman’s perspective and appreciating his solutions throughout.
“Section 4: Diving In” was one of the most useful of the book, as it dealt with some more complicated features: playback controls, form design, and inline validation. These are all challenging aspects of interaction, and at the very least Hoekman’s justified recommendations can serve as a starting point for designers. I also appreciated the chapter on “Making Social Connections,” which focused more on why to add social features rather than how.
I would recommend this book for anyone interested in web or interaction design or development. Both new and experienced practitioners will glean some valuable insights from this enjoyable read.