Overview
In roughly descending order of importance:
- Easy to understand.
- Easy to modify.
- Few errors.
- High coding speed.
- High computational efficiency.
Understanding specifications
In the industry, this involves surveying customers, rapid prototyping, talking to end-users etc.. In research, the specifications come from the research problem.
Complexity
More complex code is harder to implement : sometimes, there one can make choices which lead to simpler code - by simplifying requirements or interface languages for example.
Cyclostomic complexity
This is the number of edges in a representation of a program as a flow chart. The more conditional and looping statements there are, the greater the cyclostomic complexity.
UI Goals
Right mental model
Let users get the right mental model to operate the machine as easily as possible.
Mental model factors
- Affordances
- Restrictions
- Causalities
- Mapping
- Transfer effects
- Stereotypes, cultural standards and habits
- Instructions
Target user
Design to cover > 0.95 of users.
Design for extremes - designing for ‘average user’ is wrong.