Design is Hard

Another post based on my notes from the book The Design of Everyday Things by Donald Norman. This one is from section explaining why design is so hard and what could be done to improve situation.

Designers pretty often can't design think correctly, because:
  1. they don't know the end user of the product
  2. they need to complain many rules to satisfy their direct clients, not the users of product
  3. they are limitted by a business rules: make it beautiful, and not always usable
  4. they know too much about the product, so can't look at it as a new user. Designers are not typical users, like programmers are not typical users of their programs.
  5. not always designer is responsible for desing, it could be done by other non-professional, like programmer.
  6. there is always a set of "special people", who have differences, like left-handed, deaf or blind users etc.
One of the issues of many modern products is their creaping featurism. Creators tries to put too much of features into the product. Each feature brings more complexity than it should. Because it usually comes with another control, another window, a couple of use cases and a some options. Instead, the product should come with minimal viable set of features.
Funny, but there is also a list of rules how to make things wrong:
  • make things invisible: increase gulf of execution and establish gulf of evaluation, so user won't know what is happening and where they are
  • be arbitrary: use non-obvious commands and names
  • be inconsistent: change the rules, user different rules in different modes, have multiple different modes
  • make operations unintelligible: use unknown abbreviations, unclear messages and errors.
  • be impolite: insult users
  • make operations dangerous: allow a single erroneous action to destroy invaluable work, make it easy for distatrous things to happen.
In opossite to all this "bad" rules, the system or product should invite user to explore it, play with it, learn it without a need to study huge boring manuals. System should be safe for user to use, it should give user hints, suggestions and advices so user can explore it even more. Visibility and mapping should plan an important role.
Design should:
  • make it easy to determine what actions are available and possible at any moment of time
  • make things visible
  • make it easy to evaluate the current state of the system
  • follow natural mappings between intentions and actions, between actions and results, between that available information about the system and actual system state.
Seven principles for transforming difficult tasks into simple:
  1. use both knowledge in the head and in the world: this is where manuals could help, however one should not rely on the fact that user would study manual before he/she starts working with product, usually user get to the manual when has issues.
  2. simplify the structure of tasks
  3. make things visible
  4. get the mappings right
  5. exploit the power of constraints, both natural and artificial
  6. design for error
  7. standardize

No comments: