Model-Based Design and Evaluation of Interactive ... - Semantic Scholar

22 downloads 49765 Views 2MB Size Report
HCI'2000 Tutorial - Model-based. Design and Evaluation of. Interactive Applications. Use of Task Models. ⌘Improve understanding of the application domain.
Model-Based Design and Evaluation of Interactive Applications

Fabio Paternò CNUCE-C.N.R Pisa, Italy HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Structure of the Tutorial n n n n n n n

Introduction to Model-based Approaches State of art in Task Models ConcurTaskTrees Task Models for Cooperative Applications Exercise Task Models in User Interface Design Task Models in Usability Evaluation HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Why Model-based approaches?

aHighlight important information aHelp to manage complexity aUseful to support methods

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Significant Models in HCI aTask models aCognitive architectures aUser models aDomain Models aContext Models aPresentation Models aDialogue models

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

UML and HCI

aModel-based approach aNine notations aLack of consideration of the user interface aHow to improve it?

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Definitions aTask aGoal aBasic Task aTask Analysis aTask Model

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task Analysis (example) ÓTourist

• general and clear information in limited amount • access by spatial representations • guided navigation

ÓArt student

• some basic knowledge • choice among different types of information

ÓExpert

• precise requests

HCI'2000 Tutorial - Model-based • detailed description of the information requested Design and Evaluation of Interactive Applications

Engineering task models aFlexible and expressive notations with a precise semantics aSystematic methods able to indicate how to use information in the task models aAvailability of automatic tools to use such information efficiently HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The many possible task models

aExisting System aEnvisioned System aUser

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Use of Task Models aImprove understanding of the application domain aRecord the result of interdisciplinary discussion aSupport effective design aSupport usability evaluation aSupport the user during a session aDocumentation HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Representations of Task Models

aHierarchical task analysis aGOMS family aUAN aDifferent syntax (textual vs graphical) aDifferent level of formality aDifferent set of operators for task Tutorial - Model-based composition HCI'2000 Design and Evaluation of Interactive Applications

GOMS Example GOAL: EDIT-MANUSCRIPT GOAL: EDIT-UNIT-Task repeat until no more unit tasks GOAL: ACQUIRE-UNIT-TASK GET-NEXT-PAGE if at end of manuscript GET-NEXT-TASK GOAL: EXECUTE-UNIT-TASK GOAL:LOCATE-LINE [select: USE-QS-METHOD USE-LF-METHOD] GOAL: MODIFY-TEXT [select: USE-S-METHOD USE-M-METHOD] VERIFY-EDIT HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Limitations of GOMS aIt does not consider user errors aIt does not consider the possibility of interruptions aIt considers only sequential tasks aIt can be inadequate for distributed applications (such as web-based applications) HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

UAN - User Action Notation aThe user interface is represented by a hierarchy of asynchronous tasks auser action and system feedback are specified at a low level atextual notation

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Example of UAN specification Task: BuildRequest: ((SelR | ClearR | IconifyR)* --> SpecField+) Task: SelApplication User Action ~[x,y in AppICON] ∨∧(t> T2 or T1 [ ]>> T2

Disabling

T1 [> T2

Interruption

T1 |> T2

Choice

T1 [ ] T2

Iteration

T1* or T1{n}

Concurrency

T1 ||| T2

Optionality

T1 |[]| T2

[T]

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task Types Interaction tasks Selection Edit Control …

Application task Overview Comparison Locate Grouping

HCI'2000 Tutorial - Model-based Design and Evaluation ... of Interactive Applications

Inheritance of relationships

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Relationships task/subtasks

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Optional tasks

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Tool Support in CTTE aFlexible editing of the task model aUsing informal descriptions in modelling aChecking completeness of the specification aSaving the specification in various formats aSimulating the task model aComparing task models aRunning scenarios HCI'2000 Tutorial - Model-based ahttp://giove.cnuce.cnr.it/ctte.html Design and Evaluation of Interactive Applications

The CTTE editor

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Simulating dynamic behaviour

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Comparison of Task Models

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Modelling Multi-User Applications t1

t2

User2 User1

t1(User1) t3 (User3) Cooperative part HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

t3

User3

Cooperative aspects

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Exercise

aDevelop a task model in ConcurTaskTrees with at least three levels and ten tasks using the CTTE tool

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Limitations of current approaches in UI design aVisual tools do not support mapping between logical activities and UI elements aUML is oriented to the system design aNo available tools for task-based design (when existing, not publicly available and limited functionality) HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task model - based design 1. Analysis of operators amongst tasks

Identify structure of dialogues

2. Analysis of each task (objects, attributes, ...)

Choose a suitable presentation

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task-based design aTemporal relationships among tasks aFrequency of single task and task patterns aInteraction and presentations techniques suitable for task types considering type and cardinality of data aMultiple consistent representations when an object supports multiple tasks aAutomatic support to cognitive intense problem solving user tasks HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Criteria to identify presentations

ÎOne single presentation supporting all possible tasks ÎAs many presentations as the number of enabled task sets ÎIntermediate solution HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Mapping task-interaction technique: single choice exam. Known domain:

Number of possible values ∈[2,3] Number of possible values ∈[4,7] Number of possible values ∈ [8,50]

Number of possible values ∈ ]50,+∞[ HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Control tasks aDisabling tasks ([>) should be located so as to highlight their control function

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The task model structure aGrouping tasks that share the same parent task aCommunicating concurrent tasks (|[]|) are presented close to each other

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Supporting enabling operator aBoth sets are shown in the same presentation unit (when they exchange information, []>>) aThe sets are presented at different times aThe sets are presented in different presentation unit at the same time Situations 2 and 3

Situation 1 Name:

Jo* Submit

Results: Name Johansen Jones Joxibon

Age 52 27 18

Name:

Jo*

Age:

>20 Submit Results:

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Name Johansen Jones

Age 52 21

Deriving information from operators

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task-interface relationships

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Tasks-interface relationships

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Tasks-interface relationships

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The Aerodrome case study

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

An excerpt of task model

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The resulting dialogues -1

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The resulting dialogues -2

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The resulting dialogues -3

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Mobi-D: Example of toolsupport for model-based design

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task Patterns aIdentification of solutions for problems recurring in different applications aReuse of both design and software solutions aPossibility of obtaining more compact specifications HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Patterns aP1 aP2 aP3 aP4 aP5 aP6 aP7 aP8

Name Problem Task specification Objects specification Scenario of use Possible subpatters Aspects which can vary HCI'2000 Tutorial - Model-based Applications that can use it Design and Evaluation of Interactive Applications

Adaptation aAdaptibility vs Adaptivity aDimensions: User, Device, Context, ... aUsability issues

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Different initial accesses

Student

Tourist HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Expert

Different presentations

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

What about adaptive support? ÓWhat is it? ÓTechniques supported (direct guidance, adaptive ordering, hiding, annotation) ÓAdvantages ÓDisadvantages

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Example of adaptive support

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Exercise

aDesign a user interface corresponding to the task model developed in the previous exercise

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Usability Evaluation aHeuristic evaluation aCognitive Walkthrough aGuidelines aEmpirical testing aModel-based evaluation HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Inspection-based Evaluation

aUse of CTT models in the evaluation phase aUse of a the set of deviation types aTo evaluate a prototype

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The method aDevelopment of task model of the application to evaluate aAnalysis of deviations related to basic tasks aAnalysis of deviations in high-level tasks aInterdisciplinary analysis HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Organisation of the exercise aIntroduction of the method aIntroduction of the prototype aShort use of the prototype aPrototype available during exercise aTask model available to evaluators aAudio record HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Organisation of the exercise aEvaluators drive discussion aQuestions derived from task model + classes of deviations aThey are related to user interface elements aIdentification of the information necessary for each task performance aTables (useful more as documentation or design rationale) HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Refined guidewords (basic tasks) aNONE: initial information, performance, result aOTHER THAN: less, more, different aILL-TIMED: too early, too late

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Resulting tables Task: Check Deviation Explanation No input The controller has not information concerning the current traffic

Causes The system broken. Perception problem

Guideword: None Consequences is The controller has not an updated view of the air traffic

Controller is distracted or interrupted by other activities Perception problem Controller is No performance distracted or over The controller confident Interpretation has the problem information but he doesn’t check it carefully

Protections Recommendations The controller Duplication of communication system looks at the window to check the air traffic Pilot calls Provide an automatic controller to warning message only check the path when an aircraft is

deviating from the assigned path. Pilot calls controller to check the path

Controller is No output The controller interrupted by other activities finds a deviation but HCI'2000 Tutorial - Model-based immediately forgets it Design and Evaluation of

Interactive Applications

Interpretation for high-level tasks aNONE: initial information, performance, result aOTHER THAN: less, more, different aILL-TIMED: too early, too late

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The MIDAS User Interface

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Example of issue (1) aCheck deviation - NONE/No performance aCauses: workload, memory aProtection: Red line connecting two flight labels aRecommendation: possibility of audio warning HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Example of issue (2) aCheck deviation - NONE/No input aCauses: Zoom activated aProtection: Button to default view aRecommendation: Two views (global+local)

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Example of issue (3)

aSend stop … - Different performance aCauses: action slip aProtection: send immediately new clearance aRecommendation: Highlight the most safetycritical element HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Social constraints aDevelopers tend to defend every decision taken aUsers tend to divagate (sometimes useful, sometimes confusing) aTime pressure HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

RemUSINE

Remote USability INterface Evaluator

aBridge between empirical and model-based evaluation aFlexible and expressive task models aLimitations of usability laboratories and need to decrease the costs of usability evaluation aApplication to case studies HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

The architecture of RemUSINE Designer site ConcurTaskTrees Editor

RemUSINE (Preparation)

Designer

User1 site

Designer Task model

User1 logs Logging tool

Application

Log-task table

….

Usern site

……. ….…….

User1

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Evaluation Method (RemUSINE)

Usern logs Logging tool Application Usern

The Preparation Part

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

An example of analysis

1.JS.applet("Insertions",0).member(“..”).multiClick(124,93,16,1); 2. JS.delay(7310); 3.JS.applet("Insertions",0).button("Sculptors").typeString("Bodin"); 4.JS.applet("Insertions",0).member("java….",0).multiClick(...); 5.JS.applet(...).member(“…”, 0).typeString("Bodini Floriano", ..); 6. JS.applet("Insertions",0).button(“Periods”).buttonPress(); HCI'2000 Tutorial - Model-based 7.JS.applet(...).member(“…”).member(“…”).select(4,"XX sec."); Design and Evaluation of Interactive Applications

General Information

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Automatic analisys of the log

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Task Patterns

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Analysis of time performance

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Errors Detected (example 1)

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Errors Detected (example 2)

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Errors Detected (example 3)

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

How to interpret the results aTask model mismatch aThe application is too rigid aThe user interface does not provide enough support to understand how to perform the tasks aRemUSINE points out where the problem is! HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Results of RemUSINE aThe analysis is reliable and complete aIdentifying the violated precondition helps to understand the reason for the error aIt gives indication of tasks never performed aIt provides quantitative information

HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Time required by RemUSINE aDeveloping the task model aRecord of logs using a logging tool aPreparation part of RemUSINE aGeneration of the results aAnalysis of the results provided by RemUSINE HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Summary on RemUSINE aSuitable for graphical applications with a well defined set of tasks to support aUseful especially for medium-large applications with dynamic dialogues and many remote users aIt can be complemented with interviews on the parts found problematic aAutomatic generation of multimedia reports Tutorial - Model-based on the usabilityHCI'2000 problems detected Design and Evaluation of Interactive Applications

Research agenda aModels for context of use aUse of task model to design adaptive interfaces supporting variety of devices aPatterns in HCI aComputer-aided analysis of task models aIntegrating task models in UML to better support design of interactive applications HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications

Conclusions and acknowledgements aHttp://giove.cnuce.cnr.it/ctte.html ahttp://giove.cnuce.cnr.it/remusine.html aGUITARE Project http://giove.cnuce.cnr.it/guitare.html aMEFISTO Project http://giove.cnuce.cnr.it/mefisto.html aBook on Model-Based Design and Evaluation of Interactive Applications, Springer Verlag HCI'2000 Tutorial - Model-based [email protected] Design and Evaluation of Interactive Applications

Suggest Documents