Book Review: Designing Interfaces
2nd Edition
ByA user interface can be loosely defined as the point where a person interacts with a machine. Currently, that interaction point can be a laptop or a smart phone, quite different types of physical presentation space. A solution might look fantastic on a laptop, but not work on smart phone's browser, causing the user to have to scroll around on the page. What we need is a comprehensive collection of interface patterns to use as a guide. Designing Interfaces is that guide.
Designing Interfaces 2nd Edition,
Author: Jenifer Tidwell,
Publisher: O'Reilly 2010 527 pp.
ISBN: 978-1-449-37970-4
Level: Introductory to Advanced
The first edition of Designing Interfaces provided an excellent resource for someone designing, coding or testing user interfaces, but did not include interface patterns for mobile applications or social media (that was 2005, just five years ago). This new edition does include those topics and shows how to leverage the new presentation spaces effectively. The objective of the individual who designs these interaction points should be to keep the input of the person as minimal as possible, but maximize the output from the machine and software. Effectively designing interfaces requires bringing together three talents: functional understanding of what needs to be accomplished, artistic understanding of basic style (use of color and 'eye' appeal), and the technical ability to produce the code to bring the first two together and give 'life' to the interface.
Designing Interfaces is written from a functional design perspective, covering how to incorporate specific design patterns into a meaningful application, and includes references to extend that design effort all the way to the coding level. Although the book is essentially introductory in nature, even the most experienced interface designers can find new and useful techniques and ways to vary their design approach.
Organized in a subject-matter outline, Designing Interfaces can be read front to back, like a school text book. But it also works well as a reference guide so that readers can brush up on specific subjects when needed. The book is not a comprehensive study of user interfaces, a fact the author admits, but it does offer a nice overview of the current state of the art. The author tells readers what interface to use, why and how to use it, and provides examples and pitfalls to avoid. Tidwell does a nice job of noting when there are some 'assumed' or 'expected' functions, such as cut-and-paste and drag-and-drop. Where appropriate, the author has also included a section on other libraries or sources that provide additional examples or considerations.
Chapter 5 provides a lengthy discussion of lists, addressing different types of lists, ways users could interact with them, and various presentation solutions. The section taught me that I'd been using the same set of solutions and they weren't always particularly eye appealing. Chapter 10, Going Mobile, starts by showing a set of easy-to-use presentation patterns, and ends with a discussion on how to get a consistent branding effect between a mobile application and a web site. Every interface designer, tester and coder should read the final chapter, Making It Look Good: Visual Style and Aesthetics. This chapter explains how to make user interfaces appeal to the end user with proper use of color and good design.
There are a few shortcomings to the book, some of which the author alludes to and some she comes right out and admits. For example, the book doesn't really make any recommendations for applying the existing body of knowledge to some of the more recent emerging patterns. Also, it doesn't address internationalization; making an application suit people in multiple countries can be more difficult than it first appears. The last item I'll pick on is that the 'other libraries' I mentioned before seem to favor about four major libraries, but if you run a search engine for 'ui-patterns' you'll see that the body of work is significantly larger.
Overall, Designing Interfaces is an excellent resource for anyone designing interfaces that allow people to interact with machines, and it also works as a good resource for coding or testing interfaces. If you're having an issue with an interface, or a piece of that interface that just doesn't seem quite right, this book might be the tool you're missing.
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Gnome 47.1 Released with a Few Fixes
The latest release of the Gnome desktop is all about fixing a few nagging issues and not about bringing new features into the mix.
-
System76 Unveils an Ampere-Powered Thelio Desktop
If you're looking for a new desktop system for developing autonomous driving and software-defined vehicle solutions. System76 has you covered.
-
VirtualBox 7.1.4 Includes Initial Support for Linux kernel 6.12
The latest version of VirtualBox has arrived and it not only adds initial support for kernel 6.12 but another feature that will make using the virtual machine tool much easier.
-
New Slimbook EVO with Raw AMD Ryzen Power
If you're looking for serious power in a 14" ultrabook that is powered by Linux, Slimbook has just the thing for you.
-
The Gnome Foundation Struggling to Stay Afloat
The foundation behind the Gnome desktop environment is having to go through some serious belt-tightening due to continued financial problems.
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.