A common affliction plaguing many of us interaction designers is the propensity to complain and kvetch about every piece of software on our computers, cell-phones and cars. And it's true—there is a lot of bad software out there.
To offset this sometimes irritating tendency to critique and redesign everything we see, I'd like to offer a selection of software that I consider to be truly well-designed. To avoid creating a list that is simply an expression of my personal taste (which of course it is, to some extent), I devised some criteria as necessary aspects of a well-designed software product.
The product is purposeful
Put simply, a product is purposeful if it is designed to help a user achieve a specific goal or set of goals. Products that fail to meet this criterion tend to be either technology in search of an application or a catchall toolset. While products of this latter type may ultimately be useful and successful (Microsoft Excel, for example), it often difficult to say that they were designed at all, let alone well-designed. Typically, due to the generic nature of these products, the user must perform significant cognitive and physical work to close the gap between the application's capabilities and desired output.
The product presents a useful and understandable way of thinking about things
To be perfectly honest, I think the ideal of software as "intuitive" is sometimes quite fanciful or even misguided (and is likely the motivation behind scores of useless interfaces designed around some contrived metaphor). Because software can so often magically perform some task we'd never dreamed possible, it seems unlikely that in our wonder we'd also consider it to be entirely intuitive.
Rather, a much more powerful ideal for software design is that a product presents a way of thinking about things that is both easy to understand and useful in terms of the purpose of the product. Of course, this way of thinking about things presented by the application (sometimes referred to as the "manifest model"), ought to be consistent with the user's preconceptions (also known as their "mental model"), but it is often true that one's mental model can be quite complex and disorganized, and that the usefulness of software can be found in it's ability to manage the complexity and impose order where there was none.
Interactions are optimized for the product's purpose
As the saying goes, the devil is in the details, and while interface standards will get you 70% of the way there, standard widgets represent generic solutions to common problems. Really good software tends to have novel interface elements around key interactions that help users achieve their specific goals.
Following are four examples of software products that impress me as well-designed. Demonstration versions of each product are available at the developer's Web site.
iTunes by Apple
For those of you who haven't been paying attention, iTunes is Apple's incredibly successful combination of a computer-based jukebox and music store. While Apple certainly didn't invent the idea of playing music on a personal computer, their combination of music playback with legal purchase and download and pocket-sized portability via the iPod, may make this the killer app of the decade.
I've singled out iTunes as an example of well-designed software for a couple of reasons. First of all, it simply works. A relative neophyte can quickly and easily browse the Music Store, make several selections, complete the purchase and be out the door listening to the music on an iPod in under five minutes. This is about as well as you can hope to do as far as "purposeful" goes. Enough said.
Secondly, the three major interfaces—the Music Store, the iTunes Library (jukebox functionality) and iPod—all use common concepts (such as Playlists) and bits of information related to the music (such as Album and Artist) to structure the interface and interactions in a meaningful and effective manner. It's easy to find what you're looking for when you're shopping because you can use the same interface that you use when you're picking out the right music to listen to (alternatively, you can use a mode that more closely resembles a souped-up ecommerce site). And, it maintains the social and human aspect of the organization and distribution of music by allowing users to publish playlists to the Store and share them around the office through automatic, built-in networking.
Live by Ableton
Live was originally conceived specifically as a tool for computer-based music performance, and the design and development team at Berlin-based Ableton have done a fantastic job at staying true to this vision. One result of this unswerving focus is that they have avoided the feature bloat that has made most audio workstation software such as Cubase and Logic difficult to learn and about as removed from the act of live music as accounting is from painting.
Playing music, like many other creative endeavors, can be characterized by the performer getting into a state of "flow," where nothing is more distracting than having to fiddle with technology. The designers of Live were clearly conscious of this fact at every level—from product definition to screen layout to individual mouse-clicks. The entire application is presented in two screen views, which can be toggled between with the press of a button. Both screens use a structured modular approach with a sound and instrument browser on the left, the overall orchestration and manipulation area in the main right pane, and a detailer for sound- and instrument-specific settings below. This structure remains the same for the most complex and simple arrangements, and provides immediate access to all application functionality without leaving a single familiar environment.
As you read this, you may think there is little to learn from an application that is so clearly designed for recreational and creative purposes. I urge you to reconsider. We should all aspire to match Ableton by helping our users stay in the state of "flow" without getting bogged down in technical details that have little to do with the desired output.
OmniGraffle by The Omni Group
Not to be confused with just another drawing tool, OmniGraffle is specifically designed for creating diagrams like flow charts, org charts and network diagrams. While it may sound like just another Visio clone, it is actually everything but. Where Visio is bulky and awkward, OmniGraffle does a fantastic job of hiding powerful software behind simple and elegant interactions that result in handsome, expressive visual depictions that can grow and develop in the same way the user's thinking does.
Not only have the designers of OmniGraffle done a commendable job of presenting functionality in easy-to-understand palettes and inspectors, but even more important, the drawing, moving and connecting interactions that are so vital to any drawing tool have been refined to get users to a finished-looking end-product as quickly and easily as possible. For example, when moving or drawing an object, smart guides tell the user when things are in a row or column with other objects, when objects are aligned and when sizes and angles are consistent. Search and replace features make it easy to change attributes of many objects at once, and for those who want to get things done as quickly as possible with a minimum of tweaking, Automatic Layout features use (hidden) algorithms to lay out a diagram with no dragging whatsoever.
SketchUp 3D by @Last Software
SketchUp is another tool created for a very specific purpose—the conceptual stage of the design of 3-dimensional objects and spaces. Rather than providing the incredibly complex and powerful feature set of AutoCAD or Maya, SketchUp is designed around the simple gestures of a napkin sketch.
The amazing thing is, through a concise and highly intelligent toolset, SketchUp's creators have truly developed a tool that facilitates the kind of exploration and experimentation that gets the designer from blank slate to concept without being forced to learn complicated tools or specify piles of arcane parameters. Much like OmniGraffle, sophisticated algorithms inform a clear and powerful smart guide system that helps users align and orient objects without thinking through the angles and dimensions in 3 dimensions. These "intelligent inferencing" capabilities allow users to stay at a sketch-level to explore ideas without losing their flow by being forced to work at an excessively detailed level.