Tuesday, August 26, 2008

Clarity and Context

When developing an interface (or writing code for that matter) the best interfaces make each decision required by the user to be the outcome of a moment of clarity and context.
The user needs to know where they are, what they are doing there and what they are attempting to achieve at that moment.

This tends to be harder than it sounds.

Context and clarity is not often achieved by providing the user with more and more information, in fact the more information you attempt to give the user the less they are likely to understand (or even read) any of it.

Programmers tend to be aware of a lot of underlying context that almost certainly does not need to be known by the user unless they specifically request it. This can make it very hard to convince programmers to take away options and remove information simply because *programmers will think that the information they are removing is important*.

Clarity and context is achieved by stripping away absolutely everything that can be stripped away, and then presenting that which means in as clear a manner as possible, providing as much related information as possible and then indicating the most likely decision under the circumstances.

...this represents a fantastic contradiction, which tends to explain some of the grotesquely ugly interfaces that exist today...

The mechanism I find most helpful is to add everything that *could* be there, and then strip away everything that *shouldn't*, and finally to put back..often in small text and corners...information that might be helpful to them when they are making a decision.

but the real secret, when in doubt, take it away.

No comments: