|
IBM has presented a collection of design principles, which is derived from traditional design principles with extensions to address evolving aspects of future interfaces, based on their design experience in creating an object-oriented user interface (OOUI).
1 Simplicity: Don't compromise usability for function
Keep the interface simple and straightforward. Users don't benefit from function that is not easily accessible and usable. A poorly organized interface cluttered with many advanced functions distracts users from accomplishing their everyday tasks. Basic functions should be immediately apparent, while advanced functions may initially be less obvious to new users. Function should be included only if required based on task analysis. Therefore, keep the number of different objects and actions to a minimum while allowing users to accomplish their tasks. 2 Support: User is in control with proactive assistance
Allow users to be in control of the interface. Don't limit users by artificially restricting their choices to your notion of the "correct" sequence of steps needed to accomplish a task. For instance, provide users with alternative courses of action appropriate to their way of thinking.
Allow users to establish and maintain a working context, or frame of reference, from within which they can perform actions. The current state of the system, and possible user actions, should be obvious. Users should be able to leave their systems for a moment or a day and find the system in the same familiar state when they return. This contextual framework contributes to the feeling of stability. 3 Familiarity: Build on users' prior knowledge
Allow users to build on prior knowledge, especially knowledge they have gained from experience in the real world. A small amount of knowledge, used consistently throughout an interface, can empower the user to accomplish a large number of tasks. Concepts and techniques can be learned once and then applied in a variety of situations. Users should not have to learn new things to perform familiar tasks. The use of concepts and techniques that users already understand from their real world experiences allows them to get started quickly and make progress immediately.
Avoid the tendency to employ consistency without understanding your users, their tasks, and shared experiences. When choosing a dimension within which to be consistent, seek to understand what the user expects and be consistent with those expectations. Providing a familiar experience is the ultimate use of consistency in which a truly intuitive interface will result. 4 Obviousness: Make objects and their controls visible and intuitive
Where practical, use real-world representations in the interface. Real-world representations and natural interactions (direct action) give the interface a familiar look and feel and can make it more intuitive to learn and use. Icons and windows were early attempts to draw on user experiences outside the computing domain. As we move toward real-world representations, reliance on such computer artifacts should decline.
The controls of the system should be clearly visible and their functions identifiable. Visual representations provide cues and reminders that help users understand roles, remember relationships, and recognize what the computer is doing. For example, the numbered buttons on the telephone object indicate that they can be used to dial a telephone number. 5 Encouragement: Make actions predictable and reversible
User actions should cause the results the user expects. In order to meet those expectations, the designer must understand the users' tasks, goals, and mental model. Use terms and images that match users' task experience, and that help users understand the objects and their roles and relationships in accomplishing tasks.
Users should feel confident in exploring, knowing they can try an action, view the result, and undo the action if the result is unacceptable. Users feel more comfortable with interfaces in which their actions do not cause irreversible consequences. 6 Satisfaction: Create a feeling of progress and achievement
Allow the user to make uninterrupted progress and create a sense of accomplishment. Reflect the results of actions immediately; any delay intrudes on users' tasks and erodes confidence in the system. This allows users to assess whether the results were what was expected and allows them to take alternative action immediately. For example, when a user chooses a new font, the font of all applicable text, or of sample text, should change immediately. The user can then decide if the effect is what was desired, and if not, can change it before switching attention to something else. 7 Accessibility: Make all objects accessible at all times
Users should be able to use all of their objects in any sequence and at any time. Avoid the use of modes, those states of the interface in which normally available actions are no longer available, or in which an action causes different results than it normally does. 8 Safety: Keep the user out of trouble
Users should be protected from making errors. The burden of keeping the user out of trouble is on the designer. The interface should provide visual cues, reminders, lists of choices, and other aids, either automatically or on request, especially since humans are much better at recognition than recall. Contextual and hover help, as well as agents, can provide supplemental assistance. Simply stated, eliminate the opportunity for user error and confusion. 9 Versatility: Support alternate interaction techniques
Allow users to choose the method of interaction that is most appropriate to their situation. Interfaces that are flexible in this regard are able to accommodate a wide range of user skills, interactions, and usage environments.
Each interaction device is optimized for certain uses or users and may be more convenient in different situations. For example, a microphone used with voice-recognition software can be helpful for fast entry of text or in a hands-free environment. Pen input is helpful for people who sketch and mouse input works well for precise indication in selection. Alternate output formats such as computer-generated voice output for foreign language instruction are useful. No single method is best for every situation. 10 Personalization: Allow users to customize
The interface should be tailorable to individual users' needs and desires. No two users are exactly alike. Users have varying backgrounds, interests, motivations, and levels of experience. Customization can help make an interface feel comfortable and familiar.
Personalizing a computer interface can also lead to higher productivity and user satisfaction. For example, allowing users to change default values can save them time and hassle when accessing frequently used functions. 11 Affinity: Bring objects to life through good visual design
The goal of visual design in the user interface is to surface to the user in a cohesive manner all aspects of the design principles. Visual design should support the user model and communicate the function of that model without ambiguities. Visual design should not be the "icing on the cake" but an integral part of the design process. The final result should be an intuitive and familiar representation that is second nature to users. IBM Site (substantial UI information available)
Discuss in the Forum
|