User Interface Design
1. The Golden rule
These golden rules actually form the basis for a set of user interface design principles that guide this important software design activity.
1.1 Place the User in control
Most interface constraints and restriction that are imposed by a designer are intended to simplify the mode of interaction. The designer might introduce constraints and limitations to simplify the implementation of the interface. The result may be an interface that is easy to build, but frustrating to use.
ü Define interaction modes in a way that does not face a user into unnecessary or undesired actions.
ü Provide for flexible interaction
ü Allow user interaction to be interruptible and undoable.
ü Streamline interaction as skill levels advance and allow the interaction to be customized.
ü Hide technical internals from the casual user.
ü Design for direct interaction with objects that appear on the screen.
1.2 Reduce the User’s Memory Load
A well designed user interface does not tax the user’s memory. Whenever possible, the system should “remember” pertinent information and assist the user with an interaction scenario that assists recall.
Design principles to reduce the user’s memory load:
ü Reduce demand on short-term memory. The interface should be designed to reduce the requirements to remember past actions and results. This can be accomplished by providing visual cues that enable a user to recognize past actions, rather than having to recall them.
ü Establish meaningful defaults.
ü Define shortcuts that are intuitive.
ü The visual layout of the interface should be based on a real world metaphor.
ü Disclose information in a progressive fashion.
1.3 Make the Interface consistent
The interface should present and acquire information in a consistent fashion. This implies that
(1) all visual information is organized according to a design standard that is maintained throughout all screen displays,
(2) input mechanisms are constrained to a limited set that are used consistently throughout the application, and
(3) mechanism for navigating from task to task are consistently defined and implemented.
Design principles to Make the Interface consistent:
ü Allow the user to put the current task into a meaningful context. It’s important to provide indicators that enable the user to know the context of the work at hand.
ü Maintain consistency across a family of applications. A set of applications should all implement the same design rules so that consistency is maintained for all interaction.
ü If past interactive models have created user expectation, do not make changes unless there is a compelling reason to do so.
2. User Interface Design
The overall process for designing a user interface begins with the creation of different models of system function. The human and computer oriented tasks that are required to achieve system function are then delineated; design issues that apply to all interface designs are considered; tools are used to prototype and ultimately implement the design model; and the result is evaluated for quality.
2.1 Interface Design Models
Four different models come into play when a user interface is to be designed. The software engineer creates a design model, a human engineer establishes a user model, the end-user develops a mental image that is often called the user’s model or the system perception, and the implementers of the system create a system image.
A design model of the entire system incorporates data, architectural, interface, and procedural representations of the software. The requirements specification may establish certain constraints that help to define the user of the system, but the interface design is often only incidental to the design model. The user model establishes the profile of end-user of the system. Users can be categorized as:
ü Novices. No syntactic knowledge of the system and little semantic knowledge of the application or computer usage in general
ü Knowledgeable, intermittent users. Reasonable semantic knowledge of the application but relatively low recall of syntactic information necessary to use the interface.
ü Knowledgeable, frequent users. Good semantic and syntactic knowledge that often leads to the “power-user syndrome”; that is individuals who look for shortcuts and abbreviated modes of interaction.
The system perception is the image of the system that end-users carry in their heads. The system image combines the outward manifestation of the computer-based system, coupled with all supporting information that describes system syntax and semantics. The mode described “abstractions of what the user is doing or thinks he is doing or what somebody else thinks he ought to be doing when he uses an interactive system”.
2.2 The User Interface Design Process
The design process for user interfaces is iterative and can be represented using a spiral model. The user interface design process encompasses four distinct framework activities.
1. User, task, and environment analysis and modeling
2. Interface design
3. Interface construction
4. Interface validation
The initial analysis activity focuses on the profile of the users who will interact with the system. Once general requirements have been defined, a more detailed task analysis is conducted. Those tasks that the user performs to accomplish the goals of the system are identified, described, and elaborated. The analysis of the user environment focuses on the physical work environment.
ü Where will the interface be located physically?
ü Will the user sitting, standing, or performing other tasks unrelated to the interface?
ü Does the interface hardware accommodate space, light, or noise constraints?
ü Are there special human factors consideration driven by environment factors?
The information gathered as part of the analysis activity is used to create an analysis model for the interface. Using this model as a basis, the design activity commences.
The goal of interface design is to define a set of interface objects and actions that enable a user to perform all defined tasks in a manner that meets every usability goal defined for the system. The implementation activity normally begins with the creation of a prototype that enables usage scenarios to be evaluated.
3. Interface Design Activities
Once task analysis has been completed, all tasks required by the end-user have been identified in detail and the interface design activity commences.
ü Establish the goals and intentions for each task.
ü Map each goal and intention to a sequence of specific actions.
ü Specify the action sequence of tasks and subtasks, also called a user scenario, as it will be executed at the interface level.
ü Indicate the state of the system; i.e. what does the interface look like at the time that a user scenario is performed?
ü Define control mechanisms; i.e. the objects and actions available to the user to alter the system state.
ü Show how control mechanisms affect the state of the system.
ü Indicate how the user interprets the state of the system from information provided through the interface.
3.1 Defining Interface Objects and Actions
Once the objects and actions have been defined and elaborated iteratively, they are categorized by type. A Source object is dragged and dropped onto a target object. The implication of this action is to create a hard –copy report. An application object represents application-specific data that is not directly manipulated as part of screen interaction. When the designer is satisfied that all important objects and actions have been defined. Screen layout is performed. Like other interface design activities, screen layout is an interactive process in which graphical design and placement of icons, definition of descriptive screen text, specification and titling for windows, and definition of major and minor menu items is conducted.
3.2 Design Issues
The design of a user interface evolves, four common design issues almost always surface; system response, user help facilities, error information handling, and command labeling. System response time is primary complaint for many interactive applications. System response time is measured from the point at which the user performs some control action until the software response with desired output or action.
System response time has two important characteristics: length and variability. If the length of system response is too long, user frustration and stress is the inevitable result. A very brief response time can also be detrimental if the user is being paced by the interface. A rapid response may force the user to rush and therefore make mistakes.
Variability refers to the deviation from average response time, and in many ways, it is the most important response time characteristic. Low variability enables the user to establish an interaction rhythm, even if response time is relatively long.