Legacy Maemo 5 Documentation/Human Interface Guidelines/Usability Principles

=Usability Principles= This section outlines some basic principles that are core to the development of touch interfaces and mobile applications. Concepts introduced later in this document build upon the principles in this section. Although the Principles Section of GNOME HIG is not directly related to mobile applications, it is a very useful reference, and the reader should be familiar with it as well.

Diversity
Mobile devices have a wide variety of available hardware. For example, some devices have special buttons to raise the volume, to call a menu, to navigate through the menus, etc. Other devices might not have any of these buttons. Because of this diversity, avoid using icons or actions that are intimately related to a specific device or brand. For example, don't use a mouse icon with a button highlighted to suggest a user "click". Also, avoid messages that mention specific hardware features, such as "Use the menu button to..." (unless referring to a graphical button). The developer only controls the software's user interface and cannot depend on any particular hardware features.

Screen size
A mobile device is neither a desktop nor a laptop computer. Screen size is an obvious and important difference. Interacting with an application on the small screen of a mobile device is a very different experience than working with a standard computer screen.

Remember that mobile device screens are not only small, but they vary widely in size and dimensions. Do not assume that your user's device will have the same size screen as the one you are using. Some devices may have a landscape display while others will have a portrait display. Some may even be able to change the display orientation. Mobile applications must be able to adapt to all these displays. Fixed-sized application widgets should be avoided. For example, instead of defining a fixed size for a button, let Hildon adapt that button to the label and screen layout.

Widget size
Hildon is designed for touch interfaces. If you wish your application to be finger-friendly, be aware of the size of the widgets with which the user will interact. Small touch areas, such as small buttons, are difficult and frustrating to use.

Using Fingers
Since Hildon was designed to be a finger-centric interface, consideration of the end-user must be used when deciding on the placement of widgets within applications. For example, imagine an application that is divided into two columns: the left column for displaying information and the right column for various control widgets. In this case, a left-handed user may be forced to obscure part of the display area with their fingers when touching the control widgets with their left hand. Because of this, it is good practice to allow the user choose their preferred column positions.