Saturday, February 14, 2009

Interface Design Guidelines for Imprudence (in no way complete at all)

I've been thinking about our need for some sort of Interface Guidelines in order to both guide contributors and to cite when we might reject a feature request for usability reasons.

Here's a few that come to mind:

  1. Do NOT rely on tooltips for explanations. If your feature requires a tooltip to make sense, it is not a good feature.
  2. Strong defaults are always preferred over "Give users the option to..." Try not to add any new preferences if you can avoid it.
  3. Do NOT use mouseover to activate/toggle any feature. You can't predict where a user's mouse might be.
  4. State messages to the user as plainly as possible. Avoid technical or flowy phrases; be straightforward.
  5. Do NOT hardcode strings. Add them to strings.xml and use LLTrans instead.
  6. Do NOT hardcode colors that could be skinned. Either add an entry to colors.xml or use one already present there.

That's all I can think of at the moment. I'm sure Jacek has a million others running through her head, too.

0 comments: