Wednesday, September 12, 2012

HCI - Cognitive Models

Goal and task hierarchies
Linguistic
Physical and device

They model aspects of user
  • understanding
  • knowledge
  • intentions
  • processing
Common categorisation
  • Competence vs. Performance
  • Computational Flavour
  • No clear divide

Tuesday, September 11, 2012

HCI - Prototyping and early phase evaluation

Software Prototype

  • Actually works
  • Must be built quickly and cheaply
  • In an integral part of user-centred design
  • Evaluation and modification are fundamental
    • the code is generally thrown away but the design is kept
  • In incremental and evolutionary prototyping the code may be kept
  • But work out for unmaintainable code
Evaluating techniques
  • tests usability and functionality of system
  • occurs in laboratory, field and/or in collaboration with users
  • evaluates both design and implementation
  • should be considered at all stages in the design life cycle

Observational methods
  • Think aloud
  • Coperative evaluation
  • Protocol analysis
  • Automated analysis
  • Post-task walkthroughs

HCI Task Models

Approaches to task analysis


  • Task decomposition
    • splitting task into (ordered) subtasks
  • Knowledge based techniques
    • what the uer knows about the task and how it is organised
  • Entity/object based analysis
    • relationship between objects, actions and the people who perform them
  • Lots of different notations/techniques
Task analysis is a method to analyze people's jobs
  • What people do
  • What things they work with 
  • What they must know
Knowledge Based Analyses
  • Focus on objects
  • actions performed
Taxonomies
  • represent levels of abstraction
Entity-relationship techniques
  • Focus on objects, actions and their relationships
  • Similar to OO analysis but includes non-computer entities
  • emphasises domain understanding not implementation
Uses - Manuals and documentation
  • Conceptual Manual
    • from good knowledge or entity-relations based analysis
    • good for open ended tasks
  • Procedural 'how to do it' manual
    • form HTA description
    • good for novices
    • assumes all tasks known

HCI Use Case

Use cases are a technique for capturing functional requirements of a systems. They descrive the typical interactions between users of the system and the system itself.

A scenario is a series of steps describing an interaction between the user and the system

A use case is a set of scenarios tied together by a common user goal

In the early stage of development, use cases help capture requirements and determine specifications

In the later stages of development, use case help in design and implementation by determining goal that will meet these specifications

In reveiw and testing, use cases can be used to drive system behaviour for examination.

HCI - User Support

Approaches to user support

  • Command assistance
    • user requests help on particular command
    • Good for quick reference
    • Assumes user know what to look for
  • Command prompts
    • provides information about correct usage when an error occurs
    • Good for simple syntactic errors
    • Also assumes knowledge of the command
  • Issues
    • different types of support at different times
    • implementation and presentation both important
    • Require careful design
  • Types of user support
    • quick reference, task specific help, full explanation, tutorial
  • Provided by help and documentation
    • help - problem-orientated and specific
    • documentation - system orientated and general
    • same design principles apply to both
  • Approaches to user support
    • context sensitive help
      • help request interpreted according to context which it occurs
    • Online tutorials
      • user works through basics of application in a test environment
      • can be useful but are often in flexible
    • Online documentation
      • paper documentation is made available on computer
      • continually available in common medium
      • can be difficult to browse
      • hypertext used to support browsing
  • Requirements
    • Availability
      • continuous access concurrent to main application
    • Accuracy and completeness
      • help matches and covers  actual system behaviour
    • Consistency
      • between different parts of the help system and paper documentation
    • Robustness
      • correct error handling and
      • predictable behaviour
    • Flexibility
      • allows user to interact in a way appropriate to experience and task
    • Unobtrusiveness
      • does not prevent the user continuing with work
  • wizards
    • task specific tool leaders the user throguh task, step by step, using user's answers to specific questions
    • example: resume
    • useful for safe completion of complex or infrequent tasks
    • constrained task execution so limited flexibility
    • must allow user to go back
  • assistants
    • monitor user behaviour and offer contextual advice
    • can be irritating
    • must be under user control
  • Adaptive Help System
    • use knowledge of the context, individual user, task, domain and instruction to provide help adapted to user's needs
  • Problems
    • knowledge requirements considerable
    • who has control of the interaction
    • what should be adapted?
    • what is the scope of the adaptation
  • Knowledge representation 
  • Domain and task modelling
      • covers common errors and tasks
      • current tasks
    • Usually involves analysis of command sequences
      • Problems representing tasks
      • interleaved tasks
      • user intention
  • User modelling
    • All help systems have a model of the user
    • single, generic user (non-intelligent)
    • user-configured model (adaptable)
    • system-configure model (adaptive)
  • Advisory strategy
    • involves choosing the correct style of advice for a given situation
    • few intelligent help systems model advisory strategy
  • Approaches to user modelling
    • Quantification
      • user moves between levels of expertise
      • based on quantitative measure of what he knows
    • stereotypes
      • user is classified into a particular category
    • Overlay
      • idealized model of expert use is constructed
      • actual use compared to ideal
      • model may contain the commonality or difference
      • Special case: user behaviour compared to known error catelogue
  • Techniques for knowledge representation
    • rule based
      • knowledge presented as rules and facts
      • interpreted using inference machanism
      • can be used in relatively large domains
    • frame based
      • knowledgestored in structures with slots to be filled
      • useful for a small domain
    • network based
      • knowledge represented as relationships between facts
      • can be used to link frames
    • example based
      • knowledge represented implicitly within decision structure
      • trained to classify rather than programmed with rules
      • requires little knowledge acquisition
  • Problems with knowledge representation and modelling
    • knowledge acquisition
    • resources
    • interpretation of user behaviour
  • Presentation issues
    • How is help requested?
    • How is help displayed
    • Effective presentation requires
      • clear, familiar, consistent language
      • instructional rather than descriptive language
      • avoidance of block of text
      • clear indication of summary and example information
  • Issues in adaptive help
    • initiative
      • does the user retain control or can the system direct the interaction?
      • can the system interrupt the user to offer help?
    • Effect
      • what is going to be adapted and what information is needed to do this
      • only model what is needed
    • scope
      • is modelling at application or system level
      • latter more complex
        • expertise varies between applications

Monday, September 10, 2012

HCI - Human Computer Interface

The Interation

  • Interaction models
    • Translation between user and system
  • Ergonomics
    • Physical characteristics of interaction
  • Interaction Styles
    • The nature of user/system dialog
  • Involves at least two participants
    • both complex and very different from each other in the way they communicate and view tasks
  • interface must effectively translate between the two to allow successful interaction
  • Models
    • Help in understanding exactly what is going on in the interaction
    • Helps in identifying likely problems
    • Provide a framework for comparing different interaction styles
    • Provide a framework for considering interaction problems
  • Models of interaction
    • Terms of interaction
    • Norman model
    • Interaction framework
  • Some terms of interaction
    • Domain - the area of work under study etc graphic design
    • Goal - What you want to achieve
    • Task - How are you going to do it
  • Donald Norman's Model
    • Seven stages
      • user establishes the goal
      • formulates intention
      • specifies actions at interface
      • executes action
      • perceives system state
      • interprets system state
      • evaluates system state with respect to goal
    • concentrates on user's view of the interface
  • Using Norman's model
    • Gulf of execution
      • user's formulation of actions
        • action allowed by the system
    • Gulf of evaluation
      • user's expectation of changed system state
        • actual presentation of this state
  • Human error - slips and mistakes
    • Slip
      • understand system and goal
      • correct formulation of actions
      • incorrect action
    • Mistake
      • may not even have right hoal
    • Fixing things
      • Slip - better interface design
      • Mistake - better understanding of system
  • Abowd and Beale framework
    • extension of norman
    • their interaction framework has 4 parts
      • user
      • input
      • system
      • output
    • each has its own unique language
      • interaction -> translation between languages
    • problems in interaction = problem in translation
  • Using Abowd & Beale's model
    • user intentions
      • translated into actions at the interface
        • translated into alterations of system states
          • reflected in the output display
            • interpreted by the user
    • general framework for understanding interaction
      • not restricted to electronic computer systems
      • identifies all major components involved in interaction
      • allows comparative assessment of systems
      • an abstraction
  • Ergonomics
    • study of the physical characteristics of interaction
    • Also known as human factors - but this can also be used in HCI
    • Good at defining standards and guidelines for defining the way we design certain aspects of systems
  • Examples
    • arrangement of controls and displays
      • controls grouped according to function or frequency of use, or sequentially
    • surrounding environment
      • seating arrangements adaptable to cope with all sizes of user
    • Health issues
      • physical position, environmental conditions (temperature, humidity), lighting, noise
    • Use of colour
      • use of red for warming, green for okay, awareness of colour-blindness
  • Industrial interfaces
    • numeric, fast, dirty
  • Office interfaces
    • textual, slow, clean
  • Glass interfaces
    • industrial interface
      • traditional dials and knobe
      • now screens and keypad
    • glass interface
      • cheap, more flexible, multiple representations, precise values
      • not physically located, loss of content, complex interfaces
    • may need both
  • Indirect manipulation
    • office - direct manipulation
      • user interacts with artificial world
    • industrial - indirect manipulation
      • user interacts with real world through interfaces
    • issues
      • feedback
      • delay
  • Interaction styles
    • dialogue computer and user distinct styles of interaction
  • Common interaction styles
    • command line interface
    • menus
    • natural language
    • question/answer and query dialogue
    • form-fills and spreadsheets
    • WIMP
    • point and click
    • three-dimensional interfaces
  • Command line interface
    • way of expressing instructions to the computer directly
      • function keys single characters short abbreviations, whole words or a combination
    • suitable for repetitive tasks
    • better ofr expert users than novies
    • offers direct access to system functionality
    • command names/abbreviations should be meaningful
    • etc. Unix System
  • Menus
    • Set of options displayed on the screen
    • option visible
      • less recall- easier to use
      • rely on recognition so names should be meaningful
    • Selection by:
      • numbers, letters, arrow keys, mouse
      • combinations
    • Often options hierarchically grouped
      • sensible grouping is needed
    • Restricted form of full WIMP system
  • Natural language
    • Familiar to user
    • speech recognition or typed natural language
    • Problems
      • vague
      • ambiguous
      • hard to do well
    • Solutions
      • try to understand a subset
      • pick on key words
  • Query interfaces
    • Question/answer interfaces
      • user led through interaction via series of questions
      • suitable for novice users but restricted functionality
      • often used in information systems
    • Query languages
      • used to retrieve information from database
      • requires understanding of database structure and language syntax, hence requires some expertise
  • form-fills
  • Spreadsheets
  • WIMP(Windows Icons Menus pointers) interface
  • Point and click interfaces
  • Three dimensional interfaces
  • Three Dimensional interfaces
    • virtual reality
    • ordinary window systems
    • 3D workspaces
  • Elements of the wimp interface
    • windows
    • icons
    • pointers
    • menus
    • Buttons
    • Toolbars
    • Dialogue Boxes

Human Computer Interface

The computer

Overview
consists of elements that will affect the interaction in different ways

  • input devices: text entry and pointing
  • Output Devices: screen, audio
  • Paper input and output
  • Memory: RAM , permanent storage media
  • Processing: speed of processing, networks
Other text entry Devices
Handwriting recognition
  • Handwritten text can be input into the computer, using a pen and a digitising tablet
    • Common form of interaction
    • Problems in capturing all useful information - stroke path, pressure, etc, in a natural manner
    • Segmenting joined up writing into individual letters
    • Interpreting individual letters
    • Coping with different styles of handwriting
    • Handheld organisers being released now that incorporate handwriting recognition technology and do away with a bulky keyboard
  • Handwriting tecognition
    • Problems in capturing all useful information stroke path pressure.
    • segmenting joined up writing into individual letters
    • interpreting individualized letters
    • coping with different styles of handwriting
  • Speech Recognition
    • problems with external noise interference
    • imprecision of pronunciation
    • accents etc
Positioning and pointing devices
  • Mouse
    • handheld pointing device. Easy to use and very common
  • Two characteristics
    • planar movement
    • buttons (usually from 1 to 3 buttons on top, used for making a selection, indicating an option, or to initiate drawing
    • relative movement detectable only
    • screen cursor orientated in (x,y) plane; mouse movement in (X,z) plane. So it is an indirect manipulation device
    • Can lead to hand-eye coodination problems due to indirectness of manipulation
    • Device itself doesn't obscure screen, is accurate and fast
    • Some users find it very difficult arthritis sufferers
Two methods for detecting motion
  1. Mechanical 
  2. Optical
  • Wireless mouse involes a lot less strain on the user
Other positioning devices
  • Joystick
    • indirect device
    • takes up very little space
    • Controlled by either
      • Movement(absolute joystick) - position of joystick corresponds to position of cursor
      • pressure (isometric or velocity-controller joysticks) - pressure on stick corresponds to velocity of cursor. Usually provided with buttons (either on top or in front like a trigger) for selection
      • does not obscure screen
      • Inexpensive (often used for computer games, also because they are more familiar to users)
  • Trackball
    • Like an upside-down mouse. Ball is rotated inside static housing, relative motion moves cursor
    • Indirect device, fairly accurate and require button for selecting. Size and feel of trackball itself is important
    • Requires little space, becoming popular for portable and notebook computers
  • Touch-sensitive screen (touch screens)
    • Detect the presence of finger or stylus on the screen
    • Work by interrupting matrix of light beams or by capacitance changes or ultrasonic reflections
    • Direct pointing devices
    • Advantages
      • Fast, and require no specialised pointer
      • Good for menu selection
      • Suitable for use in hostile environment, clean and safe from damage
    • Disadvantages
      • finger can mark screen
      • imprecise (finger is a fairly blunt instrument)
      • Difficult to select small regions or perform accurate drawing
      • Lifting arm can be tiring
      • Can make screen too close for easy viewing
    • Other positioning devices
      • Light pen
      • Digitising Tablet
      • Cursor keys
      • Thumb wheels
      • Keymouse
      • Dataglove
      • Eyegaze
    • Output Devices
      • One predominant - the computer screen
      • CRT, LCD and plasma technologies in use
      • Cheap, fast enough for rapid animation, high colour capability
      • Increased resolution means higher prices
    • Concerns with CRTs
      • Flicker, poor legibility and low contract can also cause eyestrain and fatigue
      • Emissions of radiations
      • Hints, advantageous to your health:
        • Do not sit too close to the screen
        • Do not use very small fonts
        • Do not look at the screen for long periods without a break
        • Do not place the screen directly in front of a bright window
        • Work in well-lit surroundings
    • Liquid Crystal Display
      • smaller, tigter, with no radiation problems
      • Found on
        • Portables 
        • Notebooks
        • Starting to appear more and more on desktops
      • LCD requires refreshing at usual rates, but slow response of cystal means flicker not usually noticeable
  • Alternative Output Devices
    • Vusual
      • Analogue representations: dials, gauges, lights
      • Head-up displays - found in aircraft cockpits and Singapore army weapons systems
      • Printers and plotters
    • Auditory
      • Beeps, bongs, clonks, whistles and whirrs
      • Used for error indications and confirmation of actions e.g keyclick
      • Speech: not a fully exploited area. Often used by visually impaired
    • Scanners
      • Can work in colour: shine light at paper and note intensity of reflection
      • Resolutions from 100-300dpi, but available up to 1500dpi
      • Used in desktop publishing for incorporating photographs and other images
      • Used in document storage and retrieval systems, doing away with paper storage
    • Optical character recognition (OCR) converts bitmap back into text
      • Different fonts create problems for simple template matching algorithms
      • More complex systems segment text, decompose it into lines and arcs, and decipher characters that way
  • Limited on Interactive Performance
    • Computation bottle if processor inadequate for tasks, causing frustration for the user
    • Storage channel bottle moving data from disk to memory
    • Graphics bottleneck: updating display requires a lot of processing power
      • Sometimes helped by adding a graphics co-processor optimised to take on the burden
    • network capacity
      • Many computers networked - shared resoruces files, access to printers etc - but interactive performance can be reduced by slow network speed

Sunday, September 9, 2012

Human Computer Interface

Task models

Approaches to task analysis

  • Task decomposition
    • splitting task into (ordered) subtasks
  • knowledge based techniques
    • what the user knows about the task and how it is organised
  • Entity/object based analysis
    • relationships between objects, actions and the people who perform them
  • lots of different notations/techniques
What is task analysis
  • Method to analyze people's jobs: what they do, work with, must know
General Method
  • Observe
  • collect unstructured lists of words and actions
  • organized using notation or diagrams
Task Decomposition
  • Describe the actions people do
  • Structure them within task, sub task hierachy
  • describe order of subtasks
Variants:
Hierarchical Task Analysis (HTA)

Knowledge Based Analyses

Focus on: 
Objects - used in task
Actions - performed

Taxonomies
Represent levels of abstraction

Task Description Hierarchy

3 types of branch point in taxonomy
  • XOR- nomal taxonomy. Object in one and only one branch
  • AND - object must be in both. Multiple classifications
  • OR - weakest case. Can be in one, many or none
Knowledge Representation Grammer(KRG)
etc kitchen job (preparation) using a kitchen item/function(preparation)

Entity-Relationship Techniques
Focus on objects, actions and theur relationships

Similar to OO analysis, but
  • includes non-computer entities
  • emphasises domain understanding not implementation
Objects
  • Concrete objects, spade, plough, glasshouse
  • Actors: Sam, Vera
  • Composite objects: the team(sets) = vera, sam, tractor may be <Fergie, plough>(tuples)
Actions


Atttributes
Object pump3 simple - irritagion pump
status: on/off/faulty
capacity: 100litres/minute

Relationships
  • object-object: Sam is subordinate to 
  • action-object: agent, patient and instrument
  • actions and events: temporal and casual
  • temporal relations: use HTA or dialogue notations
Manuals and Documentations
  • Conceptual Manual
    • from knowledge or entity-relations based analysis
    • good for open ended tasks
  • Procedural 'How to do it' manual
    • from HTA description
    • good for novices
    • assumes all tasks known
Sources of information
  • Documentation
    • N.B manuals what is supposed to happen but good for keywords and prompting interviews
  • Observation
    • formal/informal laboratory/field
  • Interviews
    • the expert: manager or worker? (ask both)
Uses-requirements & Design
  • Requirements capture and systems design
    • Lifts focus from system to use
    • suggests candidates for automation
    • uncovers user's conceptual model
  • Detailed interface design
    • taxonomies suggest menu layout
    • object/action lists suggest interface objects
    • task frequency guides default choices
    • existing task sequences guide dialogue design
  • NOTE: task analysis is never complete
    • rigid task based design -> inflexible system




Saturday, September 8, 2012

HCI - Human Computer Interface

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

  1. A sense of empathy with users
    • An ability to understand their mental model
    • An ability to rapidly learn their domain and task
  2. 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.
  3. Familiarity with UI design and techniques and guidelines
  4. 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
  1. Architectural design
  2. Detailed design
  3. Coding and unit testing
  4. Integration and testing
  5. 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
    • Do you enjoy the process
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











Wednesday, September 5, 2012

Summary of Critical Chain approach

  • Supported by a dedicated group of enthusiasts
  • Full application of the model has attracted controversy on various grounds
Merits
  • Requiring two estimates: the most likely duration/effort and the safety estimate.
  • Placing the contingency time, based on the 'confort zone' ( the difference between the most likely and safety estimates), in common buffers rather than associating it with individual activities.

Wednesday, May 16, 2012