990 likes | 1.91k Vues
User interface design Designing effective interfaces for software systems The user interface 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
E N D
User interface design • Designing effective interfaces for software systems
The user interface • 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 • Software engineers generally must do interface design
Importance of User Interface • “Most important part of any computer system” • “Interface is the system for most users” • Increasingly important • GUIs a big improvement over previous approaches • Platforms (e.g. Mac/ Microsoft) have style guides • 50% of code devoted to interface • Interface should “disappear” – users can focus on their task, not the interface • Biggest enemy of good interface design is time Galitz
Benefits of Good Design • Small improvements can be worth big $$$ • Book e.g. if users work 1 sec slower on each of 4.8 million screens per year, need almost an extra person • Book e.g.s Redesigns have improved productivity 20%, 25%, 40%, 50% … • IBM - $1 invested in usability returns $10-$100 • Interface problems are treated as bugs • Pressman - $1 fix during design, $10 fix during development, $100 fix after release • Big Improvements can establish new products, companies, markets … • the browser was a UI idea – before it, search using gopher etc was tedious. • AOL was successful because it was more user friendly than early leader CompuServe. Galitz
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
GUI characteristics • Windows • Icons • Menus • Pointing • Graphics
GUI advantages • They are easy to learn and use. • The user may switch quickly from one task to another and can interact with several different applications. • Fast, full-screen interaction is possible with immediate access to anywhere on the screen
User-centred design • The aim of this chapter is to sensitise software engineers to key issues underlying the design rather than the implementation of user interfaces • User-centred design is an approach to UI design where the needs of the user are paramount and where the user is involved in the design process • UI design always involves the development of prototype interfaces
15.1 UI design principles • UI design must take account of the needs, experience and capabilities of the system users • Designers should be aware of people’s physical and mental limitations (e.g. limited short-term memory) and should recognise that people make mistakes • UI design principles underlie interface designs although not all principles are applicable to all designs
Nielsen’s Ten Usability Heuristics • Visibility of system status • Match between system and the real world • User control and freedom • Consistency and standards • Error prevention • Recognition rather than recall • Flexibility and efficiency of use • Aesthetic and minimalist design • Help users recognize, diagnose, and recover from errors • Help and documentation Nielsen
Galitz’s Heuristics (Table 14.2) • Automate unwanted workload • Reduce uncertainty • Fuse data • Present new info with meaningful aid to interpretation • Use names that are conceptually related to functions • Group data in consistently meaningful ways to reduce search time • Limit data-driven tasks • Include in displays only info needed by user at a given time • Provide multiple coding of data where appropriate • Practice judicious redundancy Galitz
Galitz’s WWW Heuristics • Speak the user’s language • Be consistent • Minimize the user’s memory load • Build flexible and efficient systems • Design aesthetic and minimalist systems • Use chunking • Provide progressive levels of detail • Give navigational feedback • Don’t lie to the user Galitz
15.2 User-system interaction • Two problems must be addressed in interactive systems design • How should information from the user be provided to the computer system? • How should information from the computer system be presented to the user? • User interaction and information presentation may be integrated through a coherent framework such as a user interface metaphor
Interaction styles • Direct manipulation • Menu selection • Form fill-in • Command language • Natural language
Direct manipulation advantages • Users feel in control of the computer and are less likely to be intimidated by it • Fast and intuitive interaction • User learning time is relatively short • Users get immediate feedback on their actions so mistakes can be quickly detected and corrected
Direct manipulation problems • The creation of an appropriate information space model (metaphor) for real world tasks and objects can be very difficult • Given that users have a large information space, what facilities for navigating around that space should be provided? • Direct manipulation interfaces can be complex to program and make heavy demands on the computer system
Direct Manipulation Applications • Games • CAD systems • Files and Folders
Menu systems • Users make a selection from a list of possibilities presented to them by the system • The selection may be made by pointing and clicking with a mouse, using cursor keys or by typing the name of the selection • May make use of simple-to-use terminals such as touchscreens
Advantages of menu systems • Users need not remember command names as they are always presented with a list of valid commands • Typing effort is minimal • User errors are trapped by the interface • Context-dependent help can be provided. The user’s context is indicated by the current menu selection
Problems with menu systems • Actions which involve logical conjunction (and) or disjunction (or) are awkward to represent • Menu systems are best suited to presenting a small number of choices. If there are many choices, some menu structuring facility must be used • Experienced users find menus slower than command language
Menu System Applications • Most general purpose systems
Forms-based Systems Advantages • Simple data entry • Easy to learn
Forms-based Systems Disadvantages • Takes up a lot of screen space
Forms-based Systems Applications • Most systems involving significant data entry
Command interfaces • User types commands to give instructions to the system e.g. UNIX, DOS • Advantages: • Powerful and flexible – good for experts • Easy to process using compiler techniques • Commands of arbitrary complexity can be created by command combination • Concise interfaces requiring minimal typing can be created
Problems with command interfaces • Users have to learn and remember a command language. Command interfaces are therefore unsuitable for occasional users • Users make errors in command. An error detection and recovery system is required • System interaction is through a keyboard so typing ability is required
Command languages • Often preferred by experienced users because they allow for faster interaction with the system • Not suitable for casual or inexperienced users • May be provided as an alternative to menu commands (keyboard shortcuts). In some cases, a command language interface and a menu-based interface are supported at the same time
Natural language interfaces • The user types a command in a natural language. Generally, the vocabulary is limited and these systems are confined to specific application domains (e.g. timetable enquiries) • NL processing technology is now good enough to make these interfaces effective for casual users but experienced users find that they require too much typing
15.3 Information presentation • Information presentation is concerned with presenting system information to system users • The information may be presented directly (e.g. text in a word processor) or may be transformed in some way for presentation (e.g. in some graphical form) • The Model-View-Controller approach is a way of supporting multiple presentations of data
Information presentation • Static information • Initialised at the beginning of a session. It does not change during the session • May be either numeric or textual • Dynamic information • Changes during a session and the changes must be communicated to the system user • May be either numeric or textual
Information display factors • Is the user interested in precise information or data relationships? • How quickly do information values change? Must the change be indicated immediately? • Must the user take some action in response to a change? • Does the user need to interact with the displayed info via a direct manipulation interface? • Is the information textual or numeric? Are relative values important?
Analogue vs. digital presentation • Digital presentation • Compact - takes up little screen space • Precise values can be communicated • Analogue presentation • Easier to get an 'at a glance' impression of a value • Possible to show relative values • Easier to see exceptional data values
Data visualisation • Concerned with techniques for displaying large amounts of information • Visualisation can reveal relationships between entities and trends in the data
15.3.1 Colour displays • Colour adds an extra dimension to an interface and can help the user understand complex information structures • Can be used to highlight exceptional events • Common mistakes in the use of colour in interface design include over-use of colour in the display
Colour use guidelines • Don't use too many colours • Use colour coding to support user tasks • Allow users to control colour coding • Design for monochrome then add colour • Use colour coding consistently • Avoid colour pairings which clash • Use colour change to show status change • Be aware that colour displays are usually lower resolution
15.4 User support • User guidance covers all system facilities to support users including on-line help, error messages, manuals etc. • The user guidance system should be integrated with the user interface to help users when they need information about the system or when they make some kind of error • The help and message system should, if possible, be integrated
Error messages • Error message design is critically important. Poor error messages can mean that a user rejects rather than accepts a system • Messages should be polite, concise, consistent and constructive • The background and experience of users should be the determining factor in message design
Design factors in message wording • Context • Experience • Skill Level • Style • Culture
System and user-oriented error messages System-oriented error message ? Err or #27 In v alid patient id entered OK Cancel
user-oriented error messages User-oriented error message P atient J . Bates is not registered Clic k on P atients f or a list of registered patients Clic k on Retr y to re-input a patient name Clic k on Help f or more inf or mation P atients Help Retr y Cancel
Help system design • Help? means ‘help I want information” • Help! means “HELP. I'm in trouble” • Both of these requirements have to be taken into account in help system design • Different facilities in the help system may be required