1. Visibility of app status The app should always keep users informed about what is going on, through appropriate feedback. Example: Shazam provides feedback as it analyzes audio. More common feedback use cases: progress indicator when sending content (e.g., email) or receiving content (e.g., latest news).
2. Match between app and the real world The app should sense the user’s environment and adapt the information display accordingly. Example: Compass (lower left of app) changes the map orientation as needed. Other apps change the display orientation from portrait to landscape when appropriate, e.g., iHandy Level.
3. User control and freedom Users often choose app functions by mistake and will need a clearly marked “emergency exit.” Example: “Cancel” and “x” buttons are common iPhone controls. In the case of “immersive” apps, e.g., video or games, users should be able to tap to access controls and/or exit. The screen capture below is for the Facebook status update screen.
4. Error prevention Eliminate error-prone conditions or check for them and present users with a confirmation option. Example: Spell check has option to reject the recommendation. The example below is from the built-in email app.
5. Consistency and standards Users should not have to wonder whether different words, situations, or actions mean the same thing. Example: Kindle uses standard controls for bookmarking and showing progress. See Apple’s iPhone Human Interface Guidelines for the complete set of standards.
6. Recognition rather than recall Minimize the user’s memory load by making objects, actions, and options visible. Example: The Yelp “Recents” tab stores businesses recently visited. Maps also uses “recents” to enable users to access past addresses and routes. Other ways to reduce recall (& minimize typing) include remembering the app’s last state as well as previous search results.
7. Flexibility and efficiency of use Reduce the number of steps required by anticipating user needs and enabling customization. Example: Urbanspoon provides suggestions as the user enters their query. Additionally, pre-populating fields can make users more efficient, e.g., the built-in Maps app will pre-populate the “start” field with the current location.
8. Aesthetic and minimalist design Screens should not contain information which is irrelevant or rarely needed. Example: Photo controls are hidden when not in use. The same is true for other immersive apps such as video and e-readers, e.g. Kindle.
9. Help users recognize, diagnose, and recover from errors Error messages should be expressed in plain language precisely indicating the problem and solution. Example: Epicurious explains what content may be available when users are offline.
10. Help and documentation Help should be focused on the user’s task, list concrete steps to be carried out, and not be too long. Example: Ocarina provides contextual help upon startup. The Sketches app has new user tutorials that are both playful & helpful.