Book Review: Web Application Design Patterns
Guest writer David Dick evaluates Web Application Design Patterns by Pawan Vora. Publishing details: 2009. Morgan Kaufman. [ISBN: 978-0123742650. 448 pages, including index. (softcover)]
Exploring Web Applications
by David Dick, Associate Fellow
From the Yahoo Home page (www.yahoo.com), I can see the weather for my area and the five-day forecast. I can check e-mail, send messages to friends, check the stock market, shop, and a whole lot more. Google Maps allow me to search addresses and display maps that I can “zoom in” on to view details. It’s all possible because of web applications. I have noticed, however, that some web applications are better designed than others. If Web 2.0 has any importance to you, you will appreciate the need for guidelines to create a satisfying user experience. Until now, no guidelines to design web applications have existed.
Web Application Design Patterns by Pawan Vora provides practical user interface design guidance for developing web applications by offering a “working” starting point that designers can adapt and refine to develop creative solutions. He combines best practice methods, research, and solid experience to create a useful reference about designing web applications.
Web Application Design Patterns covers design patterns as they are used in the following web application elements and functions:
» Forms
» User authentication
» Main page
» Navigation
» Searching and filtering
» Lists
The rest of the book covers a wide variety of related topics with just the right amount of detail and examples, including:
» Rich Internet Applications
» Social applications
» Internationalization
» Accessibility
» Visual design
» Pattern creation (how to create pattern libraries)
Each of the one hundred and twenty-two design patterns covered in this book are presented by name, the design problem(s) the pattern solves, the solution to the problem, the rationale for the design solution’s effectiveness, a list of best practices describing the application of the solution and possible variations, and related design patterns.
Unlike most books of this genre, Vora’s does not cover the history of the Internet and Web 2.0 as so many authors do. Instead, the author describes the benefits and challenges of web applications, which prepared me to understand the rest of the book.
I am impressed that Vora addressed the importance of including Help at all levels of interaction, internalization, and accessibility in sufficient detail, yet he leaves me the opportunity to research them in greater detail. As a member of a society of technical communicators, I know that my colleagues will appreciate that somebody recognizes what they have been advocating for years.
I am not disappointed that the author does not compare and contrast the tools to create web applications. To do so would ignite a debate of why one tool is better than another, and there are just too many tools on the market.
Not finding a chapter dedicated to usability, I assumed that Vora did not consider usability important. Then I took a harder look and what I found was even better — he explains characteristics that contribute to “good” design.
The book is rich with examples of web applications. Not only does Vora show examples of web applications of popular companies (such as Dell, Linkedin, Expedia, Adobe, and Netflix), he also shows web applications from lesser known companies (for example, Kayak, Wufoo, and Basecamp). How he found them is a mystery to me!
I was privileged to serve as a technical reviewer of this book. When reviewing the first iteration of the manuscript, I brought it to work to show developers who were working on the user interface of forms and user authentication. They liked what they read and made the modifications as suggested. I even learned how to customize my favorite web applications.
Web Application Design Patterns is a must read if you want to understand how web applications work and why they work the way they do.