Design Approaches
There are three ways to approach user-interface design:
- System-centered design:
This is the approach most taken by software engineers.
Design choices are motivated by technical reasons,
not by usability.
The engineer tries to explain instead of listen to users.
A large part of the study of computing science is devoted to designing
and implementing well-defined, provably correct, highly optimized,
logically founded, object-oriented, deductive, ... software.
Whenever a (potential) user makes a comment about how some part of the
interface or application works the engineer starts explaining why
the system is designed and implemented this way, instead of listening
to how the user would like the system to behave.
- User-centered design:
This approach is based on understanding the domain of work or play in
which people are engaged and in which they interact with computers,
and programming computers to facilitate human action...
(Denning and Dargan)
- Task-centered design:
This approach is a variation of user centered design.
The interface is designed (and evaluated) based on user's real-world tasks.
A typical step in task-centered design is the walk-through
of prototypes.