User Interface Design
- Recognize the diversity of your users
- Develop user profiles, considering
- Age,
- Technical knowledge,
- Specialty if internal users
- First language
- Level of English
- Visual and other handicaps
- Environmental factors – gloves, goggles, etc.
- There are at least 3 kinds of users re frequency and they may require a different or structured approach.
- Novice of first time users
- Knowledgeable but intermittent users
- Power users
Examples: Printing in Word; Google searches - Develop task profiles
- Which actions are most frequent?
- What are the atomic actions?
- Which actions often occur and the same sequence and should be grouped?
- Which ones are so frequent that there should be a button? Ctl-key? Pull-down menu?
- Consider a matrix of users (by role) vs action and fill in with frequency. Optimize for the most frequent actions.
- Choose interaction styles
- Direct manipulation – e.g. drag-and-drop, sliders, map manipulation
May be hard to program
Depending on users may be easy or hard to learn
If AJAX then hard to recover - Menu selection
Easily learned
Supports a step-by-step structure with dialog boxes
Reduces keystrokes
Annoying for common tasks
Takes up screen real estate - Form filling
Easily learned
Only possible method for text data
Can provide assistance
Can validate that form is completely filled in
If filling in form from paper record, they should have the same layout
Takes up screen real estate
Leads to data ready to be updated/inserted in a database - Command language
Flexible
Mostly for power users - Natural language
Heavy technical load
Some speech is hard to recognize – e.g. unrestricted vocabulary, background noise, accents.
- Golden rules for interface design
- Be consistent
- Give shortcuts to power users
- Offer informative feedback
- Design dialog boxes to yield closure
- Promote error prevention
- Offer simple error correction and easy reversal of actions
- Make users feel as though they are in control
- Reduce the load on user’s short term memory
- Involve users in the design
- Test for usability, efficiency, correctness.
- Error prevention
- Make the instructions clear and complete. Assume your users have not used your interface before.
- Make the error messages clear (to users who did it wrong to start with); if you have a form, highlight or focus on the incomplete field
- If you are presenting a list of choices (radio buttons or drop down menu) make sure the list covers all possibilities and has no overlap among the choices; inform your user what to do if more than one answer is appropriate.
- If the action has more than one step, coach the user through the sequence (with a completed message at the end)
- Help the user if a command is not complete – e.g. a search for “.ed”
- As appropriate, make sure earlier data/steps are completed before continuing.
- Use standard icons as appropriate.
- Organize data which is displayed
- Refer to the same item consistently (e.g. abbreviations, capitalization, etc.)
- Display the data in a format which is consistent with the way users think about it. (e.g. all fields for an address go together)
- Make the display easy to read – neatly aligned, decimal points lined up, text left-aligned and numbers right-aligned, font face and size that are appropriate for your audience
- For data entry the display should match the paper forms or the normal method of conducting an interview.
- Reduce the memory load on a user – do not require information from one screen on a subsequent one.
- Make it as easy as possible (& fewest keystrokes) to enter data.
- For multiple screen interfaces, number the screens/steps.
- Use graphical displays of measure (sliders, etc.) where appropriate.
- Test for visually handicapped users, including color-blind users.
A good summary of basic principles, from Jakob Nielsen, one of the great usability gurus, is at
You should review his list.
Optionally, Jared Spool, another great usability guru, wrote a fascinating article at on the interplay between content, visual design and information architecture. Spool is local, btw, and if you ever have a chance to hear him talk at the Greater Boston ACM you should go – he is enormously amusing.
On the subject of gurus, the third person to llok out for is Ben Schneiderman, who litreally ‘wrote the book’ on usability.
Finally, Rong Tang at GSLIS specializes in usability and teaches courses about usability testing.