This is an excerpt from a "letter to the editor" that I wrote for Embedded Systems Programming back in Jan 2002. You can
see the whole letter here.
There are some general rules for good UI design that work well in both physical and
graphical UIs:
-
1.) One control, one function. The most user-friendly designs follow the
one-function-per-control rule. This is also the most expensive and impractial for most
embedded designs, so this is modified into a guideline: minimize the overloading of
controls. Can you imagine trying to dial a cell phone if you had to enter numbers through
a menu (press SELECT, scroll through options to NUMBER, select 0-9 from the list)? The
corollary to this is "fewer buttons don't mean a simpler interface".
-
2.) If you must overload controls (i.e. menus), generate the heirarchy from user
functionality rather than the software architecture.
-
3.) If your menu heirarchy goes more than 3 levels deep, you need to look seriously at
redesigning your menus.
-
4.) Often used controls should be easily accessible, and preferably limited to a single
function. Don't make the user hunt for the GO button.
-
5.) Controls should be consistent. If buttons are used in different modes, their operation
should be similar (i.e. up/down buttons shouldn't change to down/up when you enter a
different mode).
-
6.) Follow conventions. If your device has a numeric keypad, make it look like a telephone
keypad. A different layout will confuse the user and cause them to make errors. Don't be
afraid to *add* a useful function: one of the best designs I ever saw for a digital clock
had a 'back' button, so if you overshot your time when setting the clock, you didn't have
to cycle through 24 hours to get it.
-
7.) Feedback is important. A click when a key is pressed or highlighing a menu selection
makes all the difference in user confidence. The more *useful* information that the user
has, the more comfortable they will be using the device (useless information would be
something like having a voice say "a key has been pressed" every time a key is
pressed). If your design will be handheld/portable, add tactile features (bumps on
buttons, clicks on rotary controls, etc.) to make it easier to operate without having to
look at the unit. Consider that someone will be operating your device while driving.
-
8.) Just because your device *can* have a feature doesn't mean it *should* have that
feature.
Providing canned options for your device is a sound principle, but not at the expense
of versatility. Recognize that some of the users of your device will be power users, and
will want/need to fiddle with your available options. Give them a method to do this, or
your competitors will.