|
This article is a summary of Bruce Tognazzini's design principles.
See www.asktog.com for the original article.
I have abbreviated some of Tognazzini's text.
Tognazzini is (mostly) aiming these principles at designers who build web pages,
and so it contains some items that apply more to web page design than desktop GUIs.
Web design has its own set of problems and technological shortcomings
and some of Tognazzini's tips are aimed at these issues
(for example, the http protocol is not designed to save state between pages,
and so there is a section on tracking state.
That's not to say that desktop applications should not track state;
it's just not as easy when you're using a web browser and http,
and so it deserves greater emphasis in the contect of web site design).
Having said that, good design principles should apply no matter what the medium.
- Anticipation
- Autonomy
- Colour Blindness
- Consistency
- Defaults
- Efficiency of the user
- Exporable interfaces
- Fitts' law
- Human interface objects
- Latency reduction
- Learnability
- Metaphors
- Protect users' work
- Readability
- Track state
- Visible interfaces
Applications should attempt to anticipate the user's wants and needs.
Do not expect users to search for or gather information or evoke necessary tools.
Bring to the user all the information and tools needed for each step of the process.
-
The computer, the interface, and the task environment all "belong" to the user,
but user-autonomy doesn't mean we abandon rules.
-
Use status mechanisms to keep users aware and informed.
Status mechanisms supply information necessayr for workers to respond
to changing conditions.
-
Keep status information up to date and within easy view.
Users should not have to seek out status information.
For example, an icon can show an empty, partly full, or stuffed state.
As well as colour, you should use clear secondary cues to convey information
to users who will not experience colour.
The most important consistency is consistency with user expectations.
The only way to ascertain user expectations is to do user testing.
No amount of study and debate will substitute (bummer).
Inconsistency: it is as important to be visually inconsistent when things act differently
as it is to be visually consistent when things act the same.
Make objects that act differently look different.
The following list is ordered from those interface elements demanding the most
faithful consistency effort to those demanding the least.
Paradoxically, many people assume that the order of items one through five
should be exactly the reverse, leading to applications that look alike,
but act completely different in unpredictable ways:
- Interpretation of user behavior, e. g., shortcut keys maintain their meanings.
- Invisible structures (e.g. invisible elements in documents.
- Small visible structures (e.g. icons, scroll boxes).
- The overall "look" of a single application or service--splash screens, design elements.
- A suite of products.
- In-house consistency.
- Platform-consistency.
Do not use the word "Default"; use "Restore Initial Settings", "Restore Factory Settings",
"Standard Settings" or some other term describing what will happen.
Remember that (in English) "default" has a negative legal connotation.
Defaults should be easy to change (value is selected as focus enters field).
Look at the user's efficiency, not the computer's.
People are more expensive than computers.
Keep the user occupied: any time the user must wait for the system to respond costs money.
In judging the efficiency of a system, look beyond just the efficiency of the machine.
To maximize the efficiency of a business or other organization you must maximize
everyone's efficiency, not just the efficiency of a single group.
The great efficiency breakthroughs in software are to be found in the fundamental
architecture of the system, not in the surface design of the interface.
Menu and button labels should have the key word(s) first.
Example from a fictitious word processor:
Wrong:
Insert page break
Add Footnote
Update Table of Contents
Right:
Insert:
Page break
Footnote
Table of contents
Although the first (wrong) example is more descriptive and accurate,
the second (right) example is faster, because the first word (Page, Footnote, Table)
is what the user uses when they are scanning the list.
Don't trap users into a single path through a service,
but do offer them a line of least resistance.
Naive users will require more direction.
A single-use application for accomplishing an unknown task requires a far
more directive interface than a habitual-use interface for experts.
Always allow a way out. Users should never feel trapped.
However, make it easier to stay in.
Offer users stable visual elements; they act as dependable landmarks,
giving people a sense of "home".
Make actions reversible. Always allow undo.
People explore in ways beyond navigation.
Sometimes they want to find out what would happen if they carried out some
p |