|
» Whoa there! » Radical Simplicity and Complexifiers » Dedicated Hardware Considered Unlikely » Web location and Physical location » Autoscrolling and Reading |
|
Subscribe RSS 2.0 feed |
Subscribe Atom feed If you wish to receive email notification, please here » |
« Google bombing | Main | The Hot Corner »
Sometimes you find an artifact, whether software or something material, that has great "depth of design". What I mean by that is not easy to explain, but I know it when I see it. Something with great depth of design rewards attention, study, and use. As you use a thing, it becomes more familiar. If its design is deep, that familiarity is rewarding; you discover things that are just "right" no matter how far you go with it.
Scott Berkun talks about something like this that he found in (gulp) a Japanese sword. Edward Tufte's books are very much about this quality. Not only that, but his books themselves tend to have the quality of design depth.
One of the first examples of design depth I ever found in a complex artifact was an automobile. I've mentioned before that I enjoy doing my own maintenance and repair work on cars, and I once owned a 1977 SAAB 99. The deeper I got into that car the more I found design details that I liked. At some level, that made it a very good car (particularly for the 1970s, hardly the acme of automobile technology). But it was also very pleasing to find these things; the design and positioning of components, the design of a subsystem, and so on.
There's depth of design in software as well. Here I'm primarily talking about user interfaces, as the underlying design isn't always easy to see or appreciate. I think Microsoft Excel is an example of fairly deep design. Things "make sense" down to a relatively low level. This is particularly impressive given the "feature mania" Excel went through a few years ago, I suppose when they still had significant competitors. Adding too many features dragged down the overall design of Excel, but not too badly.
Our browser, I think, has a certain depth of UI design, but not enough. At the top level, I think the design works very well. If you go down to the smaller details in some areas, though, the clean design starts to look pretty smudged. We're not even close to done with this browser.
There are at least two aspects of design depth in software user interfaces: the details and the pattern. The details have to make sense, include the things you need, exclude the things you don't, and work understandably (which is usually, but not always, the same as working consistently). The pattern is the way all those details are put together, and I think of it a little bit like the HTML rules for nesting multiple elements. The pattern should be based on consistent design principles, and those principles should be able to emerge from the implementation. That is, if you're experienced using a piece of good software UI, you'd probably be able to articulate the principles just from that use. Our browser isn't quite there yet, but we're on the right track, I think.