If there is one thing that computer books are most definitely not usually praised for, it is their visuals. Thankfully, books about user experience and user interface design are usually, indeed, worthy of such acclaim. In this case, however, limiting a review to such criteria would be short-sighted, poor, and unjust. The truth is that most important literature works are multi-layered, profound, and suitable for multiple relectures.
In 2007, when Jenifer Tidwell published the first edition of her book “Designing Interfaces” (its third edition was published January 2020), we had been, as an industry, making visual user interfaces on bitmap displays for around 45 years. Well, maybe not for that long. Yes, it all started with Ivan Sutherland’s “Sketchpad” PhD thesis at the MIT, but GUIs remained a niche curiosity for two decades, while Douglas Engelbart, Alan Kay, and Jef Raskin worked on it. It was not until the Mac in the 1980s, and later Windows and the Web in the 1990s, that GUIs became what they are today.
So it is fairer to say that Ms Tidwell’s book encapsulates roughly the first quarter century of GUI knowledge ever produced by the human race; quite an accomplishment in itself.
All of this knowledge is organized as a collection or catalog of “patterns”; by far one of the most hyped words in programming literature between 1995 and 2007. Starting with the overall architecture of a user interface in panels and windows, Ms Tidwell drilled down to the most common elements, such as preview panes, button groups, autocompletion, breadcrumbs, treemaps, and more. All in all, almost 100 different patterns; 94 to be exact. Each profusely illustrated with examples from the Motif, Xerox Star, Mac (“Classic” and OS X), and Windows galaxies, but also showcasing PDA screens, and even examples of popular cellphones of the pre-iPhone era.
The first layer of contact with the book, the visual production, hits your brain as a high-speed train as soon as you have it in your hands; it is hard to browse this gem and not dream of designing the next laureate of the Apple Design Awards. Few books in our craft produce such effect. It is refreshing.
On a second appreciation, comes to the reader the size and breadth of the catalog. Similarly to other books built around the “pattern” moniker, Ms Tidwell crafted a reference book that has its place next to the keyboard and mouse of anyone creating software for a living or for pleasure. The logic behind each visual element is clearly explained, and documented with examples coming from the most radically different environments, some of which are of historical relevance at this point.
The third, and in the opinion of this author, the most important takeaway from the book is not the (gorgeous) visual design, nor the immense wisdom of the pattern catalog; it is rather in the following statement in the opening pages:
The first step in designing an interface is figuring out what its users are really trying to accomplish.
Ah, the most important question, the one that many still fail to answer before 1.0 hits the road.
2007 was a time of brushed metal interfaces on Aqua; of translucent Windows Vista title bars on Aero; of Web 2.0 candy-like UIs with shadows and gradients; and of the CSS Zen Garden. It was also the year of the unveiling of the iPhone, arguably the most successful product of all time, and one that had quite an impact in the design of space-constrained user interfaces. The first edition of this book, of course, does not mention it at all, and understandably so.
Fifteen years later, we live in a world where Atwood’s Law became the norm, where interfaces are reactive (whatever that means), and where “flat” is a shiver-inducing visual trend. Here is this author hoping that the creators of the next Electron app will get a copy of Ms Tidwell’s book, dive into it, and find out that there is indeed an answer for pretty much every single question they might have. User interfaces do not require any more shallow, mindless “innovation” at this point.
For those programmers interested in visual design, this author recommends coupling this book with Jeff Johnson’s funny “GUI Bloopers” (1999), David Kadavy’s excellent “Design for Hackers” (2011), and most importantly, with the review in volume 40, issue 2 of the IEEE Annals of the History of Computing of the work of Susan Kare.
Cover photo by the author.