User interface design effective interfaces for software systems, System users often judge a system by its interface rather than its functionality. A poorly designed interface can cause a user to make catastrophic errors. Poor user interface design is the reason why so many software systems are never used.
Graphical User Interfaces
Most users of business systems interact with these systems through graphical interfaces although, in some cases, legacy text based interfaces are still used.
A visual way of interacting with a computer using items such as windows, icons, and menus, used by most modern operating systems.
GUI characteristics
|
Characteristic |
Description |
Windows |
Multiple windows allow different information to be displayed simultaneously on the user’s screen. |
Icons |
Icons different types of information. On some systems, icons represent files; on others, icons represent processes. |
Menus |
Commands are selected from a menu rather than typed in a command language. |
Graphics |
Graphical elements can be mixed with text on the same display. |
Pointing |
A pointing device such as a mouse is used for selecting choices from a menu or indicating items of interest in a window. |
GUI advantages
- They are easy to learn and use. Users without experience can learn to use the system quickly.
- The user may switch quickly from one task to another and can interact with several different applications.
- Information remains visible in its own window when attention is switched.
- Fast, full screen interaction is possible with immediate access to anywhere on the screen
UI-Design Process
The 3 core activities:
- User Analysis: Understand what the users do with the systems
- System Prototyping: Develop serious of prototypes for Experiment
- Interface Evaluation: Experiment with these prototypes with users
User interface design principles
Principle |
Description |
User familiarity |
The interface should use terms and concepts which are drawn from the experience of the people who will make most use of the system. |
Consistency |
The interface should be consistent in that, wherever possible, comparable operations should be activated in the same way. |
Minimal surprise |
User should never be surprised by the behavior of a system. |
Recoverability |
The interface should include mechanisms to allow users to recover from errors. |
User guidance |
The interface should provide meaningful feedback when errors occur and provide context sensitive user help facilities. |
User diversity |
The interface should provide appropriate interaction facilities for different types of system user. |
Interaction styles
- Direct manipulation
- Menu selection
- Form fill-in
- Command language
- Natural language
Interaction Style |
Main Advantages |
Main Disadvantages |
Application Examples |
Direct manipulation |
Fast and intuitive interaction Easy to learn |
May be hard to implement Only suitable where there is a visual metaphor for tasks and objects |
Video games CAD systems |
Menu selection |
Avoids user error Little typing required |
Slow for experienced users Can become complex if many menu options |
Most general purpose systems |
Form fill-in |
Simple data entry Easy to learn |
Takes up a lot of screen space |
Stock control, Personal loan processing |
Command language |
Powerful and flexible |
Hard to learn Poor error management |
Operating systems, Library information retrieval systems |
Natural language |
Accessible to casual users Easily extended |
Requires more typing Natural language understanding systems are unreliable |
Timetable systems WWW information retrieval systems |
User interface evaluation
- Some evaluation of a user interface design should be carried out to assess its suitability
- Full scale evaluation is very expensive and impractical for most systems
- Ideally, an interface should be evaluated against a usability specification. However, it is rare for such specifications to be produced
Usability attributes
Attribute |
Description |
Learnability |
How long does it take a new user to become productive with the system? |
Speed of operation |
How well does the system response match the user’s work practice? |
Robustness |
How tolerant is the system of user error? |
Recoverability |
How good is the system at recovering from user errors? |
Adaptability |
How closely is the system tied to a single model of work? |