Monday, June 7

 

BOOKS: User Interface Design for Programmers

I read User Interface Design for Programmers by Joel Spolsky. Much of what he writes comes across as common sense. But it is useful to be reminded of it. The interesting contrast in this book to others is that Joel actually believes programmers can handle the usability design aspect so often given to them.

Highlights:
* A user interface is well designed when the program behaves exactly how the user thought it would.
* Avoid frustrating the user
* If your program model is nontrivial, it's probably not the same as the user model. the goal of UI design is to get them in sync.
* users will assume the simplest model possible
* every time you provide an option, you are asking the user to make a decision. make the choice for the user whenever possible. that's called design.
* simplify the option screen to only the most relevant
* let the user change the visual look
* physical models for the user are helpful. broken models are not.
* don't be creative: be consistent and emulate other programs
users expect this behavior from your program
* design for extremems
- people don't read
- people can't use a mouse
- people have bad memories

* 5 easy mouse locations: current location, 4 corners of screen.
* make the start button all the way at the bottom!
- snap to edges
* editable text should be fixed spaced fonts.
* pretend the user is a gorilla using the mouse -- does the UI still work?
* activity based planning - figure out the activity. then design for it.
* invent "imaginary users" to help with UI design
* 5-6 people are plenty to find most usability issues
* observing people use your product changes how they use it
- record things about it then.
* time warp concepts
- days are seconds (users will spend a few seconds in a task that takes days to design/code.)
- months are minutes ( simplify because you had months to understand the UI but
the user will have minutes to start learning about it)
- seconds are hours (any delays will feel like hours)

* heuristics can become annoying. eased by the ability to undo it.

6 steps to UI design:
1) invent some users
2) figure out important activities
3) figure out the user model
4) sketch out the first draft of the design
5) iterate over the design
6) watch real humans use the software


Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?