Aug 28, 2011

UI Design Principles

I recently switched from iPhone 3G to Nexus S and boy I started appreciating Apple so much more. Before these I have used Blackberry, Motorola Razr and the Nokia 3310. I build web apps for work and fun and reading and thinking about user interface has been part of my work life. But I am not a designer. Typography and colors is not my forte. I know what the golden ratio is but I haven't seen any applications of it in data structures and back-end systems. So then what makes a good user interface. What sets a good user interface apart from a bad one. It is not the back-end for sure. Compare Apple and Google products here. So here is a list of principles I have come up with which helps me think it through -

  1. People are lazy and like products that let them be that way. - That's so true. Help them click one time less. Help them hit fewer keystrokes. Prevent them making mistakes. They will love your product for that.
  2. People don't like to think and like products that let them be dumb. - If you have seen iPhone and Android, think 'Slide to open'.
  3. People don't like to remember and like products that don't give much to memorize. - Do you have a registration form. Well remembering that additional passwords is such a pain. Does the password expire every few days/weeks/months/years, that's no good. Do they have to click on the check box for your application to remember that password, that goes against the first principle of laziness. Are the settings options hidden in some convoluted labyrinths of menu system that needs practice reaching there, it sets a bad UI experience.
  4. Keep the clutter away, atleast hide it. People love options, but if you give it to them, they will hate the UI.
  5. The main thing should remain the main thing. And knowing the main thing is not trivial. My phone may have the best of apps and hardware and camera. But if the phone and mail applications suck, everything else is secondary. If my phone is dead most of the time, none of those awesome background running apps seem wonderful.
  6. The details are not details. They are important. Is that 1px mis-alignment trivial to you. Or is the message that pop's up just some detail. They affect the UI in a big way. Do not ignore the details. They set the product apart.
  7. Simple is complicated. It takes lot of experience, thoughtfulness and creativity to come up with a UI that is simple, common sense, logical way of doing the task. Complicated systems are some of the most easiest to design.
  8. It take lot more thought to design something that takes lot less time to build.
  9. Know the importance of colors, typography, curves and art.
  10. Control your user interface. Don't let user's customize it for themselves. Because users generally do a bad job at that and then will blame you for providing an ugly user interface. Think myspace here.

What other such fundamental principles are there for a good user interface design?