Jul 03

Implementation Model vs. Mental Model

Post Thumbnail

Last week I wrote a post which generalized that programmers do not create great user interfaces. It stirred up some pretty intense debate. A few people even emailed me insulted.

I certainly didn’t intend to insult anyone, but it proves that this problem isn’t going away soon. Proper procedures won’t be put in place until programmers are self-aware.

Consumers don’t think about how things work on the inside. Your interface should function as a magic box. Push a button and something predictable happens.

The brake pedal on your car is a great example. Someone who doesn’t understand how brakes work may envision the pedal pushing a lever which exerts sideways pressure on the wheels, causing the car to slow. Their mental model says that pushing this button causes the car to slow down.

The real implementation model of a brake system is far more complex. That complexity shouldn’t translate into the interface.

Alan Cooper, in his book About Face 3, states:

User interfaces and interactions designed by engineers, who know precisely how software works, quite often lead to a represented model that is very consistent with its implementation model. To the engineers, such models are logical, truthful, and accurate; unfortunately, they are not very intelligent or effective for users. The majority of users don’t much care how a program is actually implemented.

About Josh Walsh

Josh Walsh is a Managing Partner at Designing Interactive. He's also an award winning designer, author and speaker on the topics of User Experience Design, User Interface Design and Usability Research. You can follow him on twitter at: @joshwalsh

3 Comments »

  1. Thank you! This is something I’ve believed for a long time but have never been able to put into words. As a programmer I find that it is very easy to just mimic the implementation when putting together an interface. Although I would argue if programmers were in front of the customer more often and able to understand his/her frustrations maybe they would be better equipped to understand the customer’s mental model.

    July 5, 2010

  2. I agree, as a programmer, I like to focus on what I do best; solving problems with code. I think it’s easy for programmers to think they need to deliver the full product. What I find funny is that most programmers I know don’t like being the ‘computer guy’ in their family, but they will freely perpetuate bad UI by trying to do it themselves at work.

    July 12, 2010

  3. Joe Walsh — you’re missing a fundamental point! Programmers can also be designers. It is your classic two birds, one stone scenario. Alan Cooper is right, but you quoted him out of context. Makes me think the whole idea of your writing about this topic stems from that one excerpt. Sorry I just disagree with you. If you have a programmer then stick him in a think tank and let him write source and don’t let him see the GUI or UI? But that just boxes in a creative person, by definition.

    October 19, 2011


Search