model-based design and evaluation of interactive …vcell.ndsu.nodak.edu/~ganesh/seminar/off...
TRANSCRIPT
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Model-Based Design and Evaluation of Interactive Applications
Fabio Paternò
CNUCE-C.N.RPisa, Italy
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
n Introduction to Model-based Approaches n State of art in Task Modelsn ConcurTaskTreesn Task Models for Cooperative Applicationsn Exercisen Task Models in User Interface Designn Task Models in Usability Evaluation
Structure of the Tutorial
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Why Model-based approaches?
Highlight important informationHelp to manage complexity Useful to support methods
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Significant Models in HCI
Task modelsCognitive architecturesUser modelsDomain ModelsContext ModelsPresentation ModelsDialogue models
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
UML and HCI
Model-based approachNine notationsLack of consideration of the user interface How to improve it?
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
TaskGoalBasic TaskTask AnalysisTask Model
Definitions
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
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• detailed description of the information requested
Task Analysis (example)
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Engineering task models
Flexible and expressive notations with a precise semanticsSystematic methods able to indicate how to use information in the task modelsAvailability of automatic tools to use such information efficiently
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
The many possible task models
Existing System Envisioned System User
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Use of Task Models
Improve understanding of the application domainRecord the result of interdisciplinary discussionSupport effective designSupport usability evaluationSupport the user during a sessionDocumentation
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Representations of Task Models
Hierarchical task analysisGOMS familyUANDifferent syntax (textual vs graphical)Different level of formalityDifferent set of operators for task composition
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
GOMS Example
GOAL: EDIT-MANUSCRIPTGOAL: EDIT-UNIT-Task repeat until no more unit tasks
GOAL: ACQUIRE-UNIT-TASKGET-NEXT-PAGE if at end of manuscriptGET-NEXT-TASK
GOAL: EXECUTE-UNIT-TASKGOAL:LOCATE-LINE
[select: USE-QS-METHODUSE-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
It does not consider user errorsIt does not consider the possibility of interruptionsIt considers only sequential tasksIt 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
The user interface is represented by a hierarchy of asynchronous tasksuser action and system feedback are specified at a low leveltextual notation
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Example of UAN specification
Task: BuildRequest:((SelR | ClearR | IconifyR)*--> SpecField+)
Task: SelApplicationUser Action Interface Feedback Interface State~[x,y in AppICON]∨∧(t<tdoubleClick) ∨∧ w’!: w’-!
UnMap(PrevAppliMenu)Map(AppMenu)UnMap(AppICON)
CurAppli=AppCurMenu=AppMenu
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
ConcurTaskTrees
Focus on Activities Hierarchical StructureGraphical SyntaxRich set of temporal operatorsTask allocationObjects and task attributes
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Task Models vs Scenarios
Scenarios are informal descriptions of a specific use in a specific contextTask models describe the possible activities and their relationshipsScenarios can support task developmentTask models can support scenarios identification
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Moving from scenarios to tasks
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Temporal operators
Enabling T1 >> T2 or T1 [ ]>> T2
Disabling T1 [> T2
Interruption T1 |> T2
Choice T1 [ ] T2
Iteration T1* or T1{n}
Concurrency T1 ||| T2 T1 |[]| T2
Optionality [T]
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Task Types
Interaction tasksSelection
Edit
Control
…
Application taskOverview
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
Flexible editing of the task modelUsing informal descriptions in modelling Checking completeness of the specificationSaving the specification in various formatsSimulating the task model Comparing task modelsRunning scenarioshttp://giove.cnuce.cnr.it/ctte.html
HCI'2000 Tutorial - Model-based 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-UserApplications
User1
User2 User3
Cooperative part
t1t2
t3
t1(User1) t3 (User3)
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Cooperative aspects
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Exercise
Develop 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
Visual tools do not support mapping between logical activities and UI elementsUML is oriented to the system designNo 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
Temporal relationships among tasksFrequency of single task and task patternsInteraction and presentations techniques suitable for task types considering type and cardinality of dataMultiple consistent representations when an object supports multiple tasksAutomatic 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.
Knowndomain:
Number of pos-sible values∈[2,3]Number of pos-sible values∈[4,7]
Number of pos-sible values∈ [8,50]
Number of pos-sible values∈ ]50,+∞[
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Disabling tasks ([>) should be located so as to highlight their control function
Control tasks
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Grouping tasks that share the same parent taskCommunicating concurrent tasks (|[]|) are presented close to each other
The task model structure
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Both sets are shown in the same presentation unit (when they exchange information, []>>)The sets are presented at different timesThe sets are presented in different presentation unit at the same time
Supporting enabling operator
Jo*
SubmitName:
Name AgeJohansen 52Jones 27Joxibon 18
Jo*
Submit
Name:Age:
Name AgeJohansen 52Jones 21
Results:
>20Results:
Situation 1 Situations 2 and 3
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
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 tool-support for model-based design
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Task Patterns
Identification of solutions for problems recurring in different applicationsReuse of both design and software solutionsPossibility of obtaining more compact specifications
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Patterns
P1 NameP2 ProblemP3 Task specificationP4 Objects specificationP5 Scenario of useP6 Possible subpattersP7 Aspects which can varyP8 Applications that can use it
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Adaptation
Adaptibility vs AdaptivityDimensions: User, Device, Context, ...Usability issues
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Different initial accesses
TouristStudent Expert
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Different presentations
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
What is it?
Techniques supported (direct guidance, adaptive ordering, hiding, annotation)
AdvantagesDisadvantages
What about adaptive support?
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
Design 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
Heuristic evaluationCognitive Walkthrough GuidelinesEmpirical testingModel-based evaluation
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Inspection-based Evaluation
Use of CTT models in the evaluation phaseUse of a the set of deviation typesTo evaluate a prototype
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
The method
Development of task model of the application to evaluateAnalysis of deviations related to basic tasksAnalysis of deviations in high-level tasksInterdisciplinary analysis
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Organisation of the exercise
Introduction of the methodIntroduction of the prototypeShort use of the prototypePrototype available during exerciseTask model available to evaluatorsAudio record
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Organisation of the exercise
Evaluators drive discussionQuestions derived from task model + classes of deviationsThey are related to user interface elementsIdentification of the information necessary for each task performanceTables (useful more as documentation or design rationale)
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Refined guidewords(basic tasks)
NONE: initial information, performance, resultOTHER THAN: less, more, differentILL-TIMED: too early, too late
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Resulting tablesTask: Check Deviation Guideword: NoneExplanation Causes Consequences Protections Recommendations
The system isbroken.Perceptionproblem
The controllerhas not anupdated view ofthe air traffic
The controllerlooks at thewindow tocheck the airtraffic
Duplication ofcommunication system
No inputThe controllerhas notinformationconcerning thecurrent traffic
Controller isdistracted orinterrupted byother activitiesPerceptionproblem
Pilot callscontroller tocheck the path
NoperformanceThe controllerhas theinformationbut he doesn’tcheck itcarefully
Controller isdistracted or overconfidentInterpretationproblem
No outputThe controllerfinds adeviation butimmediatelyforgets it
Controller isinterrupted byother activities
Pilot callscontroller tocheck the path
Provide an automaticwarning message onlywhen an aircraft isdeviating from theassigned path.
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Interpretation for high-level tasks
NONE: initial information, performance, resultOTHER THAN: less, more, differentILL-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)
Check deviation - NONE/No performanceCauses: workload, memoryProtection: Red line connecting two flight labelsRecommendation: possibility of audio warning
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Example of issue (2)
Check deviation - NONE/No inputCauses: Zoom activatedProtection: Button to default viewRecommendation: Two views (global+local)
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Example of issue (3)
Send stop … - Different performanceCauses: action slipProtection: send immediately new clearanceRecommendation: Highlight the most safety-critical element
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Social constraints
Developers tend to defend every decision takenUsers tend to divagate (sometimes useful, sometimes confusing)Time pressure
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
RemUSINERemote USability INterface Evaluator
Bridge between empirical and model-based evaluationFlexible and expressive task models Limitations of usability laboratories and need to decrease the costs of usability evaluation Application to case studies
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
The architecture of RemUSINE
Logging tool
ConcurTaskTreesEditor
Designer
User1 logs
Task model
Log-task table Evaluation Method(RemUSINE)
Designer
Application
User1
….……. Application
Usern
RemUSINE(Preparation)
Logging tool
Usern logs….
…….
Designer site
User1 site Usern site
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
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();7.JS.applet(...).member(“…”).member(“…”).select(4,"XX sec.");
HCI'2000 Tutorial - Model-based 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
Task model mismatchThe application is too rigidThe user interface does not provide enough support to understand how to perform the tasksRemUSINE points out where the problem is!
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Results of RemUSINE
The analysis is reliable and completeIdentifying the violated precondition helps to understand the reason for the errorIt gives indication of tasks never performedIt provides quantitative information
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Time required by RemUSINE
Developing the task model Record of logs using a logging toolPreparation part of RemUSINEGeneration of the resultsAnalysis of the results provided by
RemUSINE
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Summary on RemUSINE
Suitable for graphical applications with a well defined set of tasks to supportUseful especially for medium-large applications with dynamic dialogues and many remote usersIt can be complemented with interviews on the parts found problematicAutomatic generation of multimedia reports on the usability problems detected
HCI'2000 Tutorial - Model-based Design and Evaluation of Interactive Applications
Research agenda
Models for context of useUse of task model to design adaptive interfaces supporting variety of devicesPatterns in HCIComputer-aided analysis of task modelsIntegrating 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
Http://giove.cnuce.cnr.it/ctte.htmlhttp://giove.cnuce.cnr.it/remusine.htmlGUITARE Project http://giove.cnuce.cnr.it/guitare.htmlMEFISTO Project http://giove.cnuce.cnr.it/mefisto.htmlBook on Model-Based Design and Evaluation of Interactive Applications, Springer [email protected]