E N D
User Interface Design By Mai Abu-Sair
Computer system design encompasses a spectrum of activates from hardware design to user interface design. While specialists are often employed for hardware design and for the graphic design of web pages, only large organizations normally employ specialist interface designers for the application software.
So.. What could be the responsibilities of SW Engineers? • Take responsibility for user interface design • Design of the implementation of the SW Careful user interface design is essential part of the overall software design process.
How could the SW system achieve its full potential? Its essential that user interface should be designed to match skills, experience and expectations of its anticipated users.
So, you should know that GOOD user interface design is critical for the system. • Many of the user errors are caused by the fact that user interfaces don’t consider the capabilities of real users and their working environment
So.. What could be the results of poor interface?? • User will probably be unable to access some of the system features • Users will make mistakes • Users will feel that the system hinders rather than helps them in achieving whatever they are using the system for.
Factors you should consider when you are making user interface design decisions (Human factors in interface design)
Factors are • Limited short-term memory • People can instantaneously remember about 7 items of information. If you present users with too much information at the same time, they may not be able to take it all in. • People make mistakes • People make mistakes especially if they handle too much information or if they are under stress. When systems go wrong, inappropriate alarms and messages can increase stress and hence the likelihood of more mistakes. • People are different, they have a diverse range of physical capabilities • ( some people see or hear better than others, colour- blind) Designers should not just design for their own capabilities, and assume that all the users will be able to cope. • People have different interaction preferences • Some like pictures, some like text. Others like direct manipulation ( like clicking on icons to do certain job)
Design principles examples • User familiarity • For example, an office system should use concepts such as letters, documents, folders etc. rather than directories, file identifiers, etc. • Consistency • Ex, Commands and menus should have the same format, command punctuation should be similar, etc. • Minimal surprise • If a command operates in a known way, the user should be able to predict the operation of comparable commands
Design principles examples .. Cont. • Recoverability • This might include an undo facility, confirmation of destructive actions, 'soft' deletes, etc. • User guidance • Some user guidance such as help systems, on-line manuals, etc. should be supplied • User diversity • For example, some users have seeing difficulties and so larger text should be available
Principle of least astonishment (minimum surprise) • In user interface design, programming language design, principle (or rule or law) of least astonishment (or surprise) states that, when two elements of an interface conflict or are ambiguous, the behaviour should be that which will least surprise the human user or programmer at the time the conflict arises. • An example: shows surprising in a system !! • As per design, a distributed system has a shutdown command that initiates a 2-minute countdown (during which time the user can abort the shutdown) before shutting down the system. Two or more users can order a shutdown at approximately the same time. If one of the users aborts the shutdown, that user is informed that shutdown has been terminated. However, because there is still an active shutdown counter running for another user, when that counter reaches zero the system goes ahead and shuts down, astonishing the user who ordered the shutdown aborted.
Example: solve a surprising case.. • A user interface may have the behaviour that pressing Control-Q causes the program to quit. The same user interface may have a facility for recording macros (A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence ), a sequence of keystrokes to be played back later, intended to be able to control all aspects of the program. The user may want to record a keystroke sequence that includes Control-Q as part (most likely the last part) of the macro. The principle says that pressing Control-Q while recording a macro should not quit the program (which would surprise the user), but rather should record the keystroke.
User interaction • Forms of interactions have been classified into five primary styles: 1- direct manipulation: The user interacts directly with objects on the screen. It usually involves a pointing device ( a mouse, clicking on a touch screen ..) Ex. To delete a file you may click on the icon representing that file and drag it to a trash can icon.
Interaction styles… cont 2- Menu selection: The user selects a command from a list of possibilities (a menu). The user may also select another screen object by direct manipulation, and the command operates on that object. In this approach, to delete a file, you would select the file icon then select the delete command.
Interaction styles…. cont 3-Form fill-in: The user fills in the fields of a form. Some fields may have associated menus, and the form may have action buttons that, when pressed, cause some action to be initiated. To delete a file you fill the form with its name a click on the button to delete
Interaction styles… cont 4- Command language: The user issues a special command and associated parameters to instruct the system what to do. To delete a file you would type a delete command with the file name as parameters.
Interaction styles… cont 5- Natural Language: The user issues a command in natural language. This is usually a front end command language; the natural language is parsed and translated to system commands. To delete a file, you might type ‘delete the file named xxx’
User interface colorsShneiderman guidelines • Most important guidelines for the effective use of color in user interface are: 1. Limit the number of colors employed and be conservative how these are used: - you should not use more than four or five separate colors in a window and no more than seven in a system interface. - if you use too many, or if they are too bright, the display maybe confusing. - using colors inconsistently may also confuse users.
2. Use color change to show a change in system status. - if a display changes color, this should mean that a significant event has occurred. Thus in a fuel gauge, you could use a change of color to indicate a fuel is running low. - color highlighting is also important.
3. Use color coding to support the task users are trying to perform. - If they have to identify anomalous instances, highlight these instances; if similarities are also to be discovered , highlight these using different colors.
4. Use color coding in a thoughtful and consistent way: - If one part of a system display error messages in red (say), all other parts should do likewise. Red should not be used for anything else. If it is, the user may interrupt the red display as an error message.
5- Be careful about color pairings: - because of the philosophy of the eye, people cannot focus on red and blue simultaneously. - Other color combinations may also be visually disturbing or difficult to read.
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. • They must not be abusive and should not have associated beeps or other noises that might embarrass the user.
The background and experience of users should be the determining factor in message design. • Whenever possible the message should suggest how the error might be corrected. The error message should be linked to a context-sensitive online help system.
User error • Assume that a nurse misspells the name of a patient whose records he is trying to retrieve.