Thursday, December 22, 2005
design patterns and mental models
For those of us who design UIs, a few books are appearing that speak to "design patterns." I have just received Jennifer Tidwell's Design Interfaces, a welcome addition to other design pattern books, such as Susan Folwer's excellent Web Applications Design Handbook and Douglas K. van Duyne's The Design of Sites: Patterns, Principles, and Processes. I like all these books, and don't consider any duplicate the others. Still, I hunger for even more examples. "Design patterns" approach interaction at a very high level. I want a catalog of every variation done for ideas for the exact solution needed. I want a UI equivalent of the Owen Jones' Victorian design "pattern book", The Grammar of Ornament.
There are activity patterns-- the sequencing of tasks, and widget patterns -- how tasks are done within a screen. But patterns are a designer-centric approach. If they are familiar to users it is because designers use them frequently.
Mental models are slightly different. A mental model may be strong in a user's mind, but not often used by designers. It only takes one application to use an approach to develop a new mental model for users. Users develop expectations how something should work based on what they are familiar with. Consider something as ordinary as email. Users have a mental model of email based on what they use regularly. If you use Gmail, you expect email should offer the archiving abilities Gmail offers. If you use Lotus Notes, you see email functionality as incorporating unstructured databases. Outlook might be the most common of its genre, but irrelevant to the mental model of a given user.
What is becoming difficult for UI designers is the proliferation of user mental models. There are many variants of application in use, and one can never be sure what experiences have shaped a user's mental model. What we need is a catalog of interaction behaviors of widely used software applications. We need to be able to easily look up what mental models are being formed, when we ourselves might not be using the applications ourselves.
There are activity patterns-- the sequencing of tasks, and widget patterns -- how tasks are done within a screen. But patterns are a designer-centric approach. If they are familiar to users it is because designers use them frequently.
Mental models are slightly different. A mental model may be strong in a user's mind, but not often used by designers. It only takes one application to use an approach to develop a new mental model for users. Users develop expectations how something should work based on what they are familiar with. Consider something as ordinary as email. Users have a mental model of email based on what they use regularly. If you use Gmail, you expect email should offer the archiving abilities Gmail offers. If you use Lotus Notes, you see email functionality as incorporating unstructured databases. Outlook might be the most common of its genre, but irrelevant to the mental model of a given user.
What is becoming difficult for UI designers is the proliferation of user mental models. There are many variants of application in use, and one can never be sure what experiences have shaped a user's mental model. What we need is a catalog of interaction behaviors of widely used software applications. We need to be able to easily look up what mental models are being formed, when we ourselves might not be using the applications ourselves.