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.
Issue 268/2023
Buy this issue as a PDF
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Find SysAdmin Jobs
News
-
The Next Major Release of Elementary OS has Arrived
It's been over a year since the developers of elementary OS released version 6.1 (Jólnir) but they've finally made their latest release (Horus) available with a renewed focus on the user.
-
KDE Plasma 5.27 Beta is Ready for Testing
The latest beta iteration of the KDE Plasma desktop is now available and includes some important additions and fixes.
-
Netrunner OS 23 Is Now Available
The latest version of this Linux distribution is now based on Debian Bullseye and is ready for installation and finally hits the KDE 5.20 branch of the desktop.
-
New Linux Distribution Built for Gamers
With a Gnome desktop that offers different layouts and a custom kernel, PikaOS is a great option for gamers of all types.
-
System76 Beefs Up Popular Pangolin Laptop
The darling of open-source-powered laptops and desktops will soon drop a new AMD Ryzen 7-powered version of their popular Pangolin laptop.
-
Nobara Project Is a Modified Version of Fedora with User-Friendly Fixes
If you're looking for a version of Fedora that includes third-party and proprietary packages, look no further than the Nobara Project.
-
Gnome 44 Now Has a Release Date
Gnome 44 will be officially released on March 22, 2023.
-
Nitrux 2.6 Available with Kernel 6.1 and a Major Change
The developers of Nitrux have officially released version 2.6 of their Linux distribution with plenty of new features to excite users.
-
Vanilla OS Initial Release Is Now Available
A stock GNOME experience with on-demand immutability finally sees its first production release.
-
Critical Linux Vulnerability Found to Impact SMB Servers
A Linux vulnerability with a CVSS score of 10 has been found to affect SMB servers and can lead to remote code execution.