This list comes from a paper by Enrico Bertini et al, “Appropriating and Assessing Heuristics for Mobile Computing”, AVI 2006. It was used extensively by Nokia to guide development of apps for their mobile phones. These heuristics are based in part on Nielsen’s work, extended and adapted for mobile devices.
1. Visibility of system status and losability / findability of the mobile device
- A user of a mobile device should always be able to quickly tell important status information about their device, such as battery level and roaming status. Since these handheld devices are easy to lose, having a way to recover them (or at least any critical data) is essential.
2. Match between system and real world
- Information displayed by a mobile device should be easy to understand and be presented in a way that is natural to the viewer. For example, displaying time and date information in a format consistent with the viewer’s cultural expectations.
3. Consistency and mapping
- As with any user interface, consistency is important because it helps users feel they understand what it going on and promotes transfer of learning. If a system has a style guide (all the major commercial ones do), it should be followed.
4. Good ergonomics and minimalist design
- If mobile applications are intended to be used one-handed, proper control placement goes a long way to facilitate this. Screen real estate is precious on these small devices and should be treated accordingly. Dialog boxes should be used sparingly; avoid forcing a user to make unnecessary interactions.
5. Ease of input, screen readability and glanceability
- Entering data should be made as easy as possible, favoring selection over free text entry whenever possible. Information should be readable under a variety of environmental conditions. Ideally, a user can quickly glance at the screen to get the information they require.
6. Flexibility, efficiency of use and personalization
- These devices tend to be highly personal, so personalization of them is highly desirable. Dynamically configuring certain aspects in response to situational conditions, such as light levels, is also a good practice.
7. Aesthetics, privacy and social conventions
- These devices are very personal, but are also frequently used in highly social settings. Aesthetics may play a factor in any emotional design aspects, and certain things may be desired to be kept private. Well designed systems are respectful of social conventions, such as quickly being able to silence a noisy device.
8. Realistic error management
- There are always errors in any system, whether caused by people making mistakes or systemic problems like a network going down. All software should be designed to help prevent user errors whenever possible. When error conditions have to be reported, the messages should be understandable by the person reading it, relevant to them, and constructive.