Intro to Human Computer Interface
Semantic Interface
Dataflow, scientific, visualization, financial accounting, remote communication
Syntactic Interface
Shell Commands + arguments, menus, icons, keyboard shortcuts, drag-n-drop, speech, gestures, handwriting
Physical Interface
Keyboard, mice, display, stylus, device from factors, microphone
Dealing with usability problems as system developers often think that it is the user's fault.
Good UI designers
- A sense of empathy with users
- An ability to understand their mental model
- An ability to rapidly learn their domain and task
- Hands-on experience with a wide variety of software. The more software you see, the more ideas you have
- Analyze all the software you know for malfunctions that will prevent you from repeating errors.
- Familiarity with UI design and techniques and guidelines
- A focus on the usability of a system, not the technology.
HCI in software process cycle
What is software life cycle?
- Software engineering is the discipline for understanding the software design process, or life cycle
- Designing for usability occurs at all stages of the life cycle, not as a single isolated activity
The waterfall modelRequirements specification
- Architectural design
- Detailed design
- Coding and unit testing
- Integration and testing
- Operation and maintenance
Activities in the life cycle
Requirements specifications
Designer and customer try to capture what the system is expected to provide that can be expressed with precision similar to a task analysis
Architectural Design
A high-level description of how the system will provide the services that factor systems into major components of the system. Their inter-relations need to have functional and non-functional requirements.
Detailed design
A refinement of architectural components and inter-relations to identify modules to be implemented separately. The refinement is governed by the non functional requirements
Usability Engineering
The ultimate test of usabilty based on measurement of user experience
Usability engineering demands that specific usability measures be made explicit as requirements
Usability specification
- usebaility attribute/principle
- measuring concept
- measuring method
- now level/worst case/ planned level/best case
Problems
- usability specification requires level of detail that may not be
- possible early in design satisfying a usability specification
- does not necessary satisfy usability
Part of a usability specification for a VCR
Attribute: backward recoverability
Measuring concept: undo an erroneous programming sequence
Measuring method: Number of explicit user actions to undo current program
Now Level: No current product allows such an undo
Worst case: As many actions as it takes to program-in mistake
Planned level: a Maximum of two explicit user actions
Best case: One explicit cancel action
ISO usability standard 9241
adopts traditional usability categories:
- effectiveness
- can you achieve what you want to?
- efficency
- can you do it without wasting effort
- satisfaction
Usability objective
- Suitability for the task
- Appropriate for trained users
- Learnability
- Error Tolerance
Effectiveness Measures
- Percentage of goals achieved
- Number of power features used
- Percentage of functions learned
- Percentage of errors corrected successfully
Efficiency measures
- time to complete a task
- Relative efficiency compared with an expert user
- Time to learn criterion
- Time spent on correcting errors
Satisfaction measures
- Rating scale for satisfaction
- Rating scale for satisfaction with power features
- Rating scale for ease of learning
- Rating scale for error handling
Design Rationale
Design rationale is information that explains why a computer system is the way it is
Benefits of design rationale
- communication throughout life cycle
- reuse of design knowledge across products
- enforces design discipline
- presents arguments for design trade-offs
- organized potentially large design space
- capturing contextual information
Types of Design Rationale:
- Process-orientated
- preserves order of deliberation and decision making
- Structure-orientated
- emphasizes post hoc structuring of considered design alternatives
Two examples:
- Issue-based information system (IBIS)
- Design space analysis
Issue-based information system (IBIS)
- Basis for much of design rational research
- process orientated
- main elements
- issues- hierarchical structure with one 'root' issue
- positions - potential resolutions of an issue
- arguments - modify the relationship between positions and issues
- graphical version
Design space analysis
- structure-orientated
- QOC - hierarchical structure:
- questions and sub-questions - represent major issues of a design
- options - provide alternative solutions to the question
- criteria - the means to access the options in order to make a choice
- DRL - similar to QOC with a larger language and a more formal semantics
Psychological design rational
- to support task artefact cycle in which user tasks are affected by the systems they use
- aims to make explicit consequences of design for users
- designers identify tasks system will support
- scenarios are suggested to test task
- users are observed on system
- psychological claims of system made explicit
- negative aspects of design can be used to improve next iteration of design
Summary
The software engineering life cycle
- distinct activities and the consequences for interactive system design
Useability engineering
- making usability measurements explicit as requirements
Design rationale
- recording design knowledge
process vs. structure