Karolina Muszyńska Based on: I. Sommerville, „Inżynieria oprogramowania” 1. Universal principles of user interface design 2. Five ways to interact with an information system 3. Methods of information processing and the correctness of graphical presentation 4. The basic principles of designing the builtin help system for the user 5. Usability attributes and a simple approach to the assessment of the system interface 2 A good user interface design is a prerequisite for a good system An interface which is difficult to use will in the best case lead to many mistakes, in the worst case users will simply refuse to use the system, regardless of its functionality If the information is presented in a confusing and misleading way, users will misinterpret the system commands and may execute a sequence of commands that can damage data or lead to system failure 3 Nowadays almost all computer users have computers that offer graphical user interface (GUI) that supports high resolution color screen and interaction using mouse and keyboard or touch screen 4 Characteristics Description Windows Multiple windows allow to simultaneously display different information on the user's screen Icons Icons represent different types of information; in some systems they correspond to files, and in others to processes Menu Commands are selected from the menu and not written in a form of command instructions Pointing Pointing devices such as a mouse are used to select a menu item and to point to required elements on the screen (we can also use our finger on a touch screen) Graphics Graphic elements can be combined with text on the same screen 5 They are fairly easy to learn and to use. Users without experience with computers can learn how to use the interface within a short training The user has several screens (windows) to interact with the system. You can go from one task to another without losing the overview of the information prepared during the first task Fast interaction using full-screen which gives you access to any place on the screen 6 Analyze and recognize user actions Develop a paper prototype Evaluate the prototype with users Designed prototype Build a dynamic prototype Executable prototype Evaluate the prototype with users Implement the final interface 7 User interface designers must take into account the physical and mental abilities of people who will be using the software People have limited memory and make mistakes especially when they have to handle a large amount of information or are under pressure People have different mental capabilities 8 Principle Description The structure principle Design should organize the user interface purposefully, in meaningful and useful ways based on clear, consistent models that are apparent and recognizable to users, putting related things together and separating unrelated things The simplicity principle The design should make simple, common tasks easy, communicating clearly and simply in the user's own language, and providing good shortcuts that are meaningfully related to longer procedures The visibility principle The design should make all needed options and materials for a given task visible without distracting the user with extraneous or redundant information. Good designs don't overwhelm users with alternatives or confuse with unneeded information Usage-centered design introduced by Larry Constantine and Lucy Lockwood 9 Principle Description The feedback principle The design should keep users informed of actions or interpretations, changes of state or condition, and errors or exceptions that are relevant and of interest to the user through clear, concise, and unambiguous language familiar to users The tolerance principle The design should be flexible and tolerant, reducing the cost of mistakes and misuse by allowing undoing and redoing, while also preventing errors wherever possible by tolerating varied inputs and sequences and by interpreting all reasonable actions The reuse principle The design should reuse internal and external components and behaviors, maintaining consistency with purpose rather than merely arbitrary consistency, thus reducing the need for users to rethink and remember Usage-centered design introduced by Larry Constantine and Lucy Lockwood 10 Close to user principle - users should not be forced to adapt to the interface to make it easier to implement. The interface should use the categories known to the user, and the objects processed by the system should be directly related to the users’ environment No surprises principle - users should not be surprised by the behavior of the system, because they get irritated when the system reacts in an unexpected way 11 Consistency principle - system commands and menus should have the same format. Command parameters should always be provided in the same way. Consistent interfaces reduce learning time. Interface consistency within a group of subsystems is also crucial. If possible, commands of similar meaning should be expressed in the same way in all subsystems. Errors often result from assigning different meanings to the same key combinations (i.e. „ctrl-b”) in a group of subsystems 12 User interface designer has to deal with two major issues: ◦ How to provide information from the user to the computer system? ◦ How to present information generated by the computer system to the user? Consistent user interface must integrate user interaction and presentation of information 13 Direct action Choice from menu Completing a form Command language Natural language 14 Interaction Advantages Disadvantages Examples Direct action Fast and intuitive May be difficult to implement; suitable only if there is a graphic representation of objects and activities Video games, CAD systems Choice from menu Avoids user error; requires little writing Too slow for experienced users; can be complicated when there are many menu options Most of the general purpose systems Completing a form Simple data input; easy to learn Uses a large area of the screen Warehouse management; loans processing Command language Reliable and flexible Difficult to learn; small error handling capabilities Operating systems; information library extract systems Natural language Available for casual users; easy to expand Requires more writing; unreliable natural language recognition systems Timetables (trains) systems, web information specifying systems 15 interaction; easy to learn Does the user need precise information or just relationships between data values? How quickly does the information change? Does the user need to see these changes immediately? Must the user take some action in response to a change? Should the user react to the displayed information through a direct action interface? Is the displayed information textual or numeric? Are relative values important? 16 Text-based data takes up less space than graphically displayed information Dynamically changing numerical information is reflected best by using graphical presentation Constantly changing digital displays are misleading, because fast assimilation of accurate information is difficult For presenting exact alphanumeric information graphics can be used to extract data hidden in the background Graphic highlighting may also serve to draw user’s attention to changes in parts of the image 17 Proper use of color can improve the interface, helping users to understand and master the complexity of the system It is however easy to misuse color and create an interface graphically unattractive and causing errors Interface designers should adopt a general principle that the colors should be used with caution 18 Limit the number of colors used and use them carefully Use color change to indicate changes in the system Use a color code that will help the user in the realization of tasks Use color coding consistently and sensibly Beware of the relationships between colors one of the worst possible color combination is red background and blue text 19 Avoid using whole sentences – use „Quit” instead of „Press this button to Quit” Symbols and icons should replace text where possible Commonly used symbols should be used, also symbols known from everyday life (for example road signs) Use simple and readable font –max two different styles, max three different sizes (do not minimize the font to make the text fit the screen) 20 1. Messages generated by the system in response to user actions 2. Instant help system 3. Documentation available in the system 21 The first user experience in dealing with the system depends on the system error messages Inexperienced users who work with the system for the first time make mistakes and need to understand the error messages immediately When designing error messages the past experience of users should be taken into account 22 Issue Description Context User support system should take into account current user actions and adapt its messages to the current context Experience As the user gets familiar with the system, he can be irritated with too long messages. However, novice users have difficulty in understanding brief and concise problem definitions. User support system should therefore be able to display both types of messages, depending on the user's awareness/experience Skills Messages should be tailored to the user's skills and his experience. Messages for different user groups can be expressed in different ways depending on the terminology that is know to them Style Messages should be positive, not negative. They should never be malicious or humorous Culture As far as possible, the designer of messages should be familiar with the culture of the country in which the system will be sold. Between Europe, Asia and America there are various cultural 23 differences Insert second and first name of the patient and press OK Brown John OK Cancel 24 Error message written in the system categories Error message written in the user categories Patient Brown John is not registered ? Error 27 Invalid patient identifier OK Press Patients button to see the list of registered patients. Press Repeat button to insert the patients data once again. Press Help button to get more information Cancel Patients Repeat Help Cancel 25 Audio messages should be used only if the user cannot look at the screen or is away from the computer Messages should include first the goal and then the activity – „To start the application press Enter” There should be a possibility to quite listening to messages at any time, as well as to replay them 26 They should be prepared with the participation of specialists in the field of application Help topic should not be a simple representation of the user's guide, because people read information on the screen differently than paper documentation The text, its layout and style should be carefully marked to make it possible to read in a fairly small window 27 They can be implemented as a set of related Web sites or by using a universal hypertext system, integrated with application programs The hierarchy can be easily browsed by selecting parts of the message marked as links Website-type help systems can be easily implemented and there are no specific software requirements Help systems should have several different entry points (from the program, from the system error messages) 28 User’s documentation is not strictly part of the user interface design It is however a good practice to design instant help system in conjunction with the paper documentation User manuals should include more detailed information than the help system provides They should be designed in such a way that they can be used by different classes of users. 29 System reviewers System administrators Functional description Installer manual Basic manual Service description How to install the system Initial work with the system Novice users Experienced users Manual System administrators Administrator manual Description of Operation and facilities maintenance 30 Evaluation of the interface is the process of estimating interface usability and verifying if it meets the requirements of the user Evaluation of the interface should therefore be part of the normal process of verification and validation of systems The assessment should be done with respect to the usability specification which determines the usability attributes 31 Attribute Description Ease of learning How much time does it take a new user to effectively use the system? Speed of operation To what extent does the efficiency of the system meet the work practice of users? Reliability How does the system handle users’ errors? Undo possibilities How well does the system cope with undoing the results of users’ mistakes? Adaptation possibilities How firmly is the system associated with a certain work model? 32 Questionnaires asking the users what they think about the interface Watching the users work with the system and try to achieve a certain goal or realize a certain task Short films with typical uses of the system Collecting information on the most commonly used system facilities and the most common mistakes by installing a monitoring software application 33 User interface design process should focus on the user. The interface should communicate with the user using language, terms and style that is know to him. It should be logical and consistent. It should include facilities to help users work with the system and undo mistakes Five main methods of interaction with the system include direct action, choice from menu, filling a form, command language and natural language The information should be displayed graphically when you want to present trends and approximate values. Digital displays should only be used when precision is required The user interface colors should be used carefully and consistently. Designers should take into account that some part of users is color-blind 34 Help systems should offer two types of support: assistance when the user has a problem with the system and help that provides him with information on a selected topic Error messages should not suggest that the user is guilty. They should rather suggest how to fix the error and include a link to the help system User’s documentation should include guides for beginners and manuals. Separate documentation for the administrators should also be provided The system specification should include (where possible) quantitative values of usability attributes. The evaluation process should include the verification of the system with respect to these requirements 35