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