Friday, June 16, 2006

Principles that form the foundation of good design.

While searching I found a very good section on UI Design and Usability in IBM website. I found this article named Design basics very helpful. Its quite a long article and captures some pretty obvious facts but a good read for newcomers like me. So I though why not share the essence or points i learnt or gatherd from the article. It may be helpful for ppl who dont have time to read such a long article.

And you may also take a look at other sections too. Nice read, I belive.


Keep the interface simple and straightforward. Basic functions should be immediately apparent, while advanced functions may be less obvious to new users.

In addition to providing assistance when requested, the system should recognize and anticipate the user's goals, and offer assistance to make the task easier.

To give users control over the system, enable them to accomplish tasks using any sequence of steps that they would naturally use. Don't limit them by artificially restricting their choices to your notion of the "correct" sequence.

Users should not have to learn new things to perform familiar tasks.

Where you can, use real-world representations in the interface.

Users should feel confident in exploring, knowing they can try an action, view the result, and undo the action if the result is unacceptable. Users feel more comfortable with interfaces in which their actions do not cause irreversible consequences. Encourage User

Offer a preview of the results of an action when it would be inconvenient for a user to apply the action and then reverse it.

Users should be protected from making errors. The burden of keeping the user out of trouble rests on the designer.

Personalization: Allow users to customize

The following are visual design principles that promote clarity and visual simplicity in the interface:

* Subtractive design - reduce clutter by eliminating any visual element that doesn't contribute directly to visual communication.
* Visual hierarchy - by understanding the importance of users' tasks, establish a hierarchy of these tasks visually. An important object can be given extra visual prominence. Relative position and contrast in color and size can be used.
* Affordance - when users can easily determine the action that should be taken with an object, that object displays good affordance. Objects with good affordance usually mimic real world objects.
* Visual scheme - design a visual scheme that maps to the user model and lets the user customize the interface. Do not eliminate extra space in your image just to save space. Use white space to provide visual "breathing room"

No comments: