A great user interface follows human interface design principles that are based on the way people—users—think and work, not on the capabilities of the device. A user interface that is unattractive, convoluted, or illogical can make even a great application seem like a chore to use. But a beautiful, intuitive, compelling user interface enhances an application’s functionality and inspires a positive emotional attachment in users.
When possible, model your application’s objects and actions on objects and actions in the real world. This technique especially helps novice users quickly grasp how your application works. Folders are a classic software metaphor. People file things in folders in the real world, so they immediately understand the idea of putting data into folders on a computer.
Metaphors in iOS include iPod playback controls, tapping controls to make things happen, sliding on-off switches, and flicking through the data shown on picker wheels.
Although metaphors suggest a use for objects and actions in the iOS interface, that use does not limit the software implementation of the metaphor. To return to the folder example, a folder object implemented in software has a capacity that’s completely unrelated to the physical capacity of its real-world counterpart.
As you design your application, be aware of the metaphors that exist in iOS and don’t redefine them. At the same time, examine the task your application performs to see if there are natural metaphors you can use. Bear in mind, though, that it’s better to use standard controls and actions than to stretch a real-world object or action just to fit your application’s user interface. Unless the metaphors you choose are likely to be recognized by most of your users, including them will increase confusion instead of decrease it.
Direct manipulation means that people feel they are controlling something tangible, not abstract. The benefit of following the principle of direct manipulation is that users more readily understand the results of their actions when they can directly manipulate the objects involved.
iOS users enjoy a heightened sense of direct manipulation because of the Multi-Touch interface. Using gestures, people feel a greater affinity for, and sense of control over, the objects they see on screen, because they do not use any intermediate device (such as a mouse) to manipulate them.
To enhance the sense of direct manipulation in your iPhone application, make sure that:
Objects on the screen remain visible while the user performs actions on them
The result of the user’s action is immediately apparent
An iPhone application is better than a person at remembering lists of options, commands, data, and so on. Take advantage of this by presenting choices or options in list form, so users can easily scan them and make a choice. Keeping text input to a minimum frees users from having to spend a lot of time typing and frees your application from having to perform a lot of error checking.
Presenting choices to the user, instead of asking for more open-ended input, also allows them to concentrate on accomplishing tasks with your application, instead of remembering how to operate it.
In addition to seeing the results of their actions, users need immediate feedback when they operate controls and status reports during lengthy operations. Your application should respond to every user action with some visible change. For example, make sure list items highlight briefly when users tap them. Audible feedback also helps, but it can’t be the primary or sole feedback mechanism because people may use iOS-based devices in places where they can’t hear or where they must turn off the sound. In addition, you don’t want to compete with the iOS system sounds users already associate with system alerts.
iOS automatically provides feedback when it’s temporarily busy by displaying the activity indicator. During operations that last more than a few seconds, your application should show elapsing progress and, if appropriate, display an explanatory message.
Animation is a great way to provide feedback to users, as long as it’s both subtle and meaningful. Animation pervades iOS, even in nonimmersive applications. As a means of providing feedback, however, it is used to enhance the user’s experience, not as the focus of the user’s experience.
Allow users, not your application, to initiate and control actions. Keep actions simple and straightforward so users can easily understand and remember them. Whenever possible, use standard controls and behaviors that users are already familiar with.
Provide ample opportunity to cancel operations before they begin, and be sure to get confirmation when the user initiates a potentially destructive action. Whenever possible, allow users to gracefully stop an operation that’s underway.
Although the ultimate purpose of an application is to enable a task, even if that task is playing a game, the importance of an application’s appearance should not be underestimated. This is because appearance has a strong impact on functionality: An application that appears cluttered or illogical is hard to understand and use.
Aesthetic integrity is not a measure of how beautiful your application is. It’s a measure of how well the appearance of your application integrates with its function. For example, a productivity application should keep decorative elements subtle and in the background, while giving prominence to the task by providing standard controls and behaviors.
An immersive application is at the other end of the spectrum, and users expect a beautiful appearance that promises fun and encourages discovery. Although an immersive application tends to be focused on providing diversion, its appearance still needs to integrate with the task. Be sure you design the user interface elements of such an application carefully, so that they provide an internally consistent experience.
Last updated: 2010-08-03