[HelpOnLanguages] [TitleIndex] [WordIndex]

InteractionDesignTips

1. Interaction Design Tips

Some of those tips are based on the work of Alan Cooper (from the books "The Inmates Are Running The Asylum" and "About Face 2.0").

1.1. Design for the Intermediate User

There are three types of users: beginners, intermediates and experts. When someone uses your software for the first time, he is a beginner. But nobody remains beginner for long. Nobody wants to. They either climb the learning curve and become intermediates or they give it up.

Optimizing your design to intermediate users mean to make frequently used functions more accessible and easy to use, while taking more advanced, rarely used features out of the way. Those would still be easily accessible through shortcuts for the expert users.

You also need to make sure that beginners become intermediate users as fast and easy as possible, but without building training weels right into the interface that will get on the way of intermediate users (that's the case of wizard type interfaces).

1.2. Be aware of users (hidden) personal goals

Besides work goals, every person has personal goals that are in effect when using any software. The most common (that are usually disrespected by many applications) are:

1.3. Design for Goals instead of Tasks

Goals are the reason we perform tasks. Goal is an end condition, whereas task is an intermediate process needed to achieve a goal. Goals remain constant over a long period of time, while the tasks performed to achieve a goal can change rapidly. Also, there is a large number of combinations of tasks that can achieve the same goal. Only a fraction of those combinations can be considered a good design.

Developer's way of thinking is often biased towards tasks. There is a reason for that: it is a natural way of implementing software, step by step. That way of thinking sometimes make developers design towards tasks. Don't do that, design for goals instead of tasks.

Examples of goals: (under construction)

1.4. Present the interface in terms of an appropriate User Model, not an Implementation Model

Developers tend to design users interfaces that are heavily based on the implementation model, or the internal application organization (data structures, object and class hierarchies, etc) which rarely matches what is intuitive for the user. Designers must implement a reasonable user model for the interface (that matches the user characteristics) and map that model back to the inner implementation model.

1.5. Create polite software

It's been proven that users react to a computer interface just like if it was another human being. For that reason, it is a great advantage to produce interfaces that behaves like a polite and considerate human being. No one likes rude people, right? Besides, software is there to serve people, right?

Polite software:


2014-08-13 10:45