UI Design Cheat Sheet
UI design is black magic. It is as if the best GUIs had a few voodoo priests hanging around, casting wards against the “Sucky UI demon”.
Here is a quick UI design cheat sheet, freely copied from various resources. I suggest you read those resources in full to get the full gist of the ideas.
1) ‘Don’t make me Think!’
UI design has to be about this. Read the book ‘Don’t make me think!’ by Steve Krug. Users want to do as less as possible in the smallest time possible. They don’t want to read a ‘manual’. They don’t want to read documentation. They would rather spend time randomly clicking on things to see what they do instead of reading documentation. It is like asking someone for directions, people would rather drive around wasting significant amounts of time trying to locate someplace rather than stop and ask directions and appear lost.
2) ‘Match the Mental Model’
When a user uses an application, he has a fundamental model of how he expects the application to work. When it matches him with that mental model quickly, then things gel and he is happy. Conflict occurs when the application doesn’t match the mental model or worse it has a completely different model and requires the user to understand its (crazy) way of doing things. Most users have no incentive to put up with that. (Unless in some complex domain like 3D modeling, FET where there are no obvious mental models)
3) ‘Don’t reinvent things that users already are familiar with’
There is a good reason Microsoft/Apple have a consistent UI model. Every window has the same familiar elements, minimize button, maximize button, menu, scrollbars, buttons, radio buttons. And for the most part they look the same in every app. This helps tremendously because people don’t have to re-learn a new UI paradigm and widget set.
So for example, when a UI widget is clickable, it has to look explicitly clickable and not look like some fancy woozy thing that looks clickable, but when clicked, does nothing or something that doesn’t look clickable, but when clicked, actually does something. Every time a user experiences behavior that is unexpected to what he expects, he gets frustrated. Over time these frustrations add up and he will discard the UI because it is not ‘easy to use’.
4) ‘Don’t make me choose’
Users are lazy. They are not interested in understanding every nuance before making a decision. So when we provide too many options in a UI a user will get frustrated. The corollary is ‘Use reasonable defaults and let the power user change them if they want’. Most people don’t want to be power users if they don’t have to.
5) ‘Keep it simple stupid KISS’
The more busy a user interface looks, the more frustrating it is for users to understand and use it. The number of things presented in the UI should just be enough to get the job done and not any more.
6) ‘Test Test Test’
UI debates can be religious and there can never be a right or wrong answer, however the best way to resolve it is to do usability testing and ask opinions. Experts claim 5 or 6 users are sufficient to give good feedback.
That wraps up the list.