Article
Designing from the outside in
The idea that design should start with the part that people use (the interface) and end up with the part they don’t (the code) is hard to correctly source. 37signals has famously written about it on several occasions. Edward Tufte talks about it in his lectures. John Gruber has mentioned it with regard to BBEdit. And the idea is central to extreme programming.
Even the business press is starting to take note, most recently in a BusinessWeek piece on why Apple rules:
Typically, a new Apple product starts with a big idea for an unmet customer need… Then, Apple’s product architects and industrial designers figure out what that product should look like and what features it should have — and, importantly, not have. “Apple has a much more holistic view of product design,” says David Carey, president of design consulting firm Portelligent. “Good product design starts from the outside, and works its way inside.” [emphasis added]
As someone fortunate enough to have learned design from a user-centered perspective (thanks Nick, Suzy and Don), this makes perfect sense to me. But to a lot of people, it’s still foreign. I think we’ll see that change in the next few years — great things (online and off) will continue to be designed in this manner, while merely good things will be created using the traditional route.*
I’ve been working with Taylor Hughes since the Badger Herald mini-CMS I mentioned a couple of weeks back, and we always start new projects with the interface. Typically, I will work out requirements and expectations with the client, using an actual interface prototype (first paper, then HTML) to demonstrate what I mean and reach agreement.
Then, I pass a bare-bones interface prototype to Taylor, who begins to build the back-end around the functionality specified in the interface. This is my favorite part of the process, where we work closely to iron out many of the details of the interaction and “make it real.” Once the basic interface and the basic functionality are in place, we can start testing it with users and changing the design where necessary.
(Not coincidentally, this is also the process we are using to develop a custom content management system for the College of Agricultural and Life Sciences here at the University of Wisconsin. I hope to write more about that in the future.)
I’m afraid I don’t have much to add to this discussion, but it looks like the pieces are falling into place and we are witnessing something of a sea change in the way web applications are being built. Anyone else have stories or experiences to share? How do you approach application design?
* * *
* This “traditional route” typically involves a drawn-out planning (or discovery) stage including a written functional spec before you do any design. Only after you’ve tried to capture in words what you mean do you actually look at how to do what you plan to do.