WFU
Human-Computer Interaction
Human-Computer Interaction
- There are five functions that the user interface provides:
- User may invoke functions provided by the system.
- User may input data to the system.
- System may indicate available functions for the user.
- System may display data to the user.
- System may display status information to the user.
Usability Engineering
- It is aimed at producing practical results using a repeatable process based on scientific principles. Much of the underpinnings of usability engineering is the science of psychology.
- UI Engineering works in parallel with other engineering disciplines: systems engineering, hardware engineering and software engineering.
- It starts with usability requirements analysis.
- The next phase is usability analysis and design.
- Then there is usability testing.
- Usability requirements have to be testable
- Effectiveness
- Efficiency
- Safety
- Utility
- Learnability
- Memorability
- User experience goals
- Satisfying
- Enjoyable
- Fun
- Entertaining
- Helpful
- Motivating
- Aesthetically pleasing
- Supportive of creativity
- Rewarding
- Emotionally fulfilling
Usability Analysis
- Interviewing
- Brainstorming
- Field studies
- Generate operational scenarios
Usability Design
- Process of figuring out how to bridge the gap between how the user wants to use the system and the capabilities provided by the system implementers
- The user’s mental model is based on the user’s goals for using the system.
- The designer’s model is described in terms of mechanisms offered by the system implementation.
- Sometimes this mapping between the user’s model and the designer’s model is accomplished through the use of metaphors
- The usability design process involves describing three aspects of the interaction.
- Activity scenarios – show how the users carry out their goals. We can use UML use cases or activity diagrams for these models.
- Information scenarios – show how information is exchanged between the users and the system. Screen layout prototypes are useful here.
- Interaction scenarios – show the details of how the user and the system interact. Once again, a prototype, either low fidelity or high fidelity, can be used here.
- Several aspects of the user interface that can be prototyped
- Input Controls: These are ways to allow the user to present information to the system.
- Navigational Components provide ways for the user to control the action or the presentation of information.
- Informational Components are mechanisms that enable the system to present information to the user.
User Interface Mechanisms
- Input mechanism
- Keyboard
- graphical user interfaces
- Microphone
- Voice commands
- Video cameras
- Special devices
- Output mechanisms
- Text or graphics
- Auditory output
- Video and animation
- Haptic feedback
- Special devices
- Interacting with systems
- Command line
- Menus
- Form fill-in
- Direct manipulation
- Auditory commands
- Gestures
Error Handling
- Severity
- Useful error messages
- Annoying messages
- Dangerous
- Mistakes are where you have the wrong mental model.
- Slips are where you have the right mental model; you just messed up in execution.
- Handling error
- Do nothing
- Disable
- Issue confirmation prompt
- Provide “undo” capability
- Error Message Guidelines
- Be specific
- Provide constructive guidance
- Be positive
- consistent
- Consider the user’s experience and skill level.
- Consider the culture of the region where the system will be deployed.
Prototyping
- A prototype is a concrete, but partial implementation of a design.
- Its basic purpose is to reduce risk in software development.
- Here are some benefits of prototypes:
- Expose missing system capabilities.
- Expose confusing services.
- Early availability (through evolutionary prototyping).
- Basis for specification of software requirements.
- Support user training.
- Support system testing.
- Low fidelity prototype
- High fidelity prototype
- A useful technique for modeling user interaction is called Screen flows and Layouts.