Application UI Design Recommendations
From Openmoko
This section will try to maintain UI interface design recommendations and guidelines. Application work flow, usability will be defined here.
Tips and Principles to develop and port applications
- All modifications are saved instantaneously, there should never be a save command.
- Make sure users can't make interface operation errors, or that the effects are easily reversible, instead of just notifying them of the potential consequences of their actions.
- When you open a document you should be returned to the place where you were working when you last closed or save it (this is our concept of sessions).
- Label buttons with adjectives, which describe the state of the object affected
- Designers should seek an efficient monotonous solution to gain benefits, including ease of learning, simplicity of implementation, minimization of documentation, and lowered maintenance costs.
- Whenever you find yourself specifying an error message, please stop; then redesign the interface so that the condition that generated the error message doesn't arise.
- If the user gets no utility from a process, there is no reason to tell them that it is happening.
- Provide unlimited levels of Undo and Redo whenever possible.
- Consider adding a Trash or Deleted Items area that has everything the user has deleted. The user’s data is the most important priority. Let’s make it hard for them to lose anything and easy to recover it.
- Reduce at the minimum the need for unused space: borders, intra-widgets distance.
- Although Openmoko is designed for smartphones that use a stylus, it would be foolish to expect people to only operate their handsets with stylus. For this reason, some core phone-related applications will be developed with finger (as opposed to stylus navigation) in mind.


