Title: ModelBased Design and Evaluation of Interactive Applications
1Model-Based Design and Evaluation of Interactive
Applications
- Questa presentazione può essere utilizzata come
traccia per una discussione con gli spettatori,
durante la quale potranno essere assegnate delle
attività. Per memorizzare le attività durante la
presentazione - In visualizzazione Presentazione diapositive fare
clic con il pulsante destro del mouse - Scegliere Appunti presentazione
- Scegliere la scheda Attività
- Immettere le attività a mano a mano che vengono
assegnate - Per chiudere la finestra, scegliere OK
- Questa procedura consente di inserire
automaticamente le attività assegnate in una
diapositiva che verrà visualizzata alla fine
della presentazione.
- Fabio Paternò
- CNUCE-C.N.R
- Pisa, Italy
-
2Structure of the Tutorial
- 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
3Why Model-based approaches?
- Highlight important information
- Help to manage complexity
- Useful to support methods
4Significant Models in HCI
- Task models
- Cognitive architectures
- User models
- Domain Models
- Context Models
- Presentation Models
- Dialogue models
5UML and HCI
- Model-based approach
- Nine notations
- Lack of consideration of the user interface
- How to improve it?
6Definitions
- Task
- Goal
- Basic Task
- Task Analysis
- Task Model
7Task 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
- detailed description of the information
requested
8Engineering task models
- Flexible and expressive notations with a precise
semantics - Systematic methods able to indicate how to use
information in the task models - Availability of automatic tools to use such
information efficiently
9The many possible task models
- Existing System
- Envisioned System
- User
10Use of Task Models
- Improve understanding of the application domain
- Record the result of interdisciplinary discussion
- Support effective design
- Support usability evaluation
- Support the user during a session
- Documentation
11Representations of Task Models
- Hierarchical task analysis
- GOMS family
- UAN
- Different syntax (textual vs graphical)
- Different level of formality
- Different set of operators for task composition
12GOMS Example
13Limitations of GOMS
- It does not consider user errors
- It does not consider the possibility of
interruptions - It considers only sequential tasks
- It can be inadequate for distributed applications
(such as web-based applications)
14UAN - User Action Notation
- The user interface is represented by a hierarchy
of asynchronous tasks - user action and system feedback are specified at
a low level - textual notation
15Example of UAN specification
16ConcurTaskTrees
- Focus on Activities
- Hierarchical Structure
- Graphical Syntax
- Rich set of temporal operators
- Task allocation
- Objects and task attributes
17Task Models vs Scenarios
- Scenarios are informal descriptions of a specific
use in a specific context - Task models describe the possible activities and
their relationships - Scenarios can support task development
- Task models can support scenarios identification
18Moving from scenarios to tasks
19Temporal operators
Enabling T1 gtgt T2 or T1 gtgt T2 Disabling
T1 gt T2 Interruption T1 gt T2 Choice T1
T2 Iteration T1 or T1n Concurrency T1
T2 T1 T2 Optionality T
20Task Types
Interaction tasks Selection Edit Control Applica
tion task Overview Comparison Locate Grouping ...
21Inheritance of relationships
22Relationships task/subtasks
23Optional tasks
24Tool Support in CTTE
- Flexible editing of the task model
- Using informal descriptions in modelling
- Checking completeness of the specification
- Saving the specification in various formats
- Simulating the task model
- Comparing task models
- Running scenarios
- http//giove.cnuce.cnr.it/ctte.html
25The CTTE editor
26Simulating dynamic behaviour
27Comparison of Task Models
28Modelling Multi-User Applications
29Cooperative aspects
30Exercise
- Develop a task model in ConcurTaskTrees with at
least three levels and ten tasks using the CTTE
tool
31Limitations of current approaches in UI design
- Visual tools do not support mapping between
logical activities and UI elements - UML is oriented to the system design
- No available tools for task-based design (when
existing, not publicly available and limited
functionality)
32Task model - based design
1. Analysis of operators amongst tasks
2. Analysis of each task (objects, attributes,
...)
Identify structure of dialogues
Choose a suitable presentation
33Task-based design
- Temporal relationships among tasks
- Frequency of single task and task patterns
- Interaction and presentations techniques suitable
for task types considering type and cardinality
of data - Multiple consistent representations when an
object supports multiple tasks - Automatic support to cognitive intense problem
solving user tasks
34Criteria to identify presentations
- One single presentation supporting all possible
tasks - As many presentations as the number of enabled
task sets - Intermediate solution
35Mapping task-interaction technique single choice
exam.
Known domain
36Control tasks
- Disabling tasks (gt) should be located so as to
highlight their control function
37The task model structure
- Grouping tasks that share the same parent task
- Communicating concurrent tasks () are
presented close to each other
38Supporting enabling operator
- Both sets are shown in the same presentation unit
(when they exchange information, gtgt) - The sets are presented at different times
- The sets are presented in different presentation
unit at the same time
39Deriving information from operators
40Task-interface relationships
41Tasks-interface relationships
42Tasks-interface relationships
43The Aerodrome case study
44An excerpt of task model
45The resulting dialogues -1
46The resulting dialogues -2
47The resulting dialogues -3
48Mobi-D Example of tool-support for model-based
design
49Task Patterns
- Identification of solutions for problems
recurring in different applications - Reuse of both design and software solutions
- Possibility of obtaining more compact
specifications
50Patterns
- P1 Name
- P2 Problem
- P3 Task specification
- P4 Objects specification
- P5 Scenario of use
- P6 Possible subpatters
- P7 Aspects which can vary
- P8 Applications that can use it
51Adaptation
- Adaptibility vs Adaptivity
- Dimensions User, Device, Context, ...
- Usability issues
52Different initial accesses
Tourist
Student
Expert
53Different presentations
54What about adaptive support?
- What is it?
- Techniques supported (direct guidance, adaptive
ordering, hiding, annotation) - Advantages
- Disadvantages
55Example of adaptive support
56Exercise
- Design a user interface corresponding to the task
model developed in the previous exercise
57Usability Evaluation
- Heuristic evaluation
- Cognitive Walkthrough
- Guidelines
- Empirical testing
- Model-based evaluation
58Inspection-based Evaluation
- Use of CTT models in the evaluation phase
- Use of a the set of deviation types
- To evaluate a prototype
59The method
- Development of task model of the application to
evaluate - Analysis of deviations related to basic tasks
- Analysis of deviations in high-level tasks
- Interdisciplinary analysis
60Organisation of the exercise
- Introduction of the method
- Introduction of the prototype
- Short use of the prototype
- Prototype available during exercise
- Task model available to evaluators
- Audio record
61Organisation of the exercise
- Evaluators drive discussion
- Questions derived from task model classes of
deviations - They are related to user interface elements
- Identification of the information necessary for
each task performance - Tables (useful more as documentation or design
rationale)
62Refined guidewords (basic tasks)
- NONE initial information, performance, result
- OTHER THAN less, more, different
- ILL-TIMED too early, too late
63Resulting tables
64Interpretation for high-level tasks
- NONE initial information, performance, result
- OTHER THAN less, more, different
- ILL-TIMED too early, too late
65The MIDAS User Interface
66Example of issue (1)
- Check deviation - NONE/No performance
- Causes workload, memory
- Protection Red line connecting two flight labels
- Recommendation possibility of audio warning
67Example of issue (2)
- Check deviation - NONE/No input
- Causes Zoom activated
- Protection Button to default view
- Recommendation Two views (globallocal)
68Example of issue (3)
- Send stop - Different performance
- Causes action slip
- Protection send immediately new clearance
- Recommendation Highlight the most
safety-critical element
69Social constraints
- Developers tend to defend every decision taken
- Users tend to divagate (sometimes useful,
sometimes confusing) - Time pressure
70RemUSINERemote USability INterface Evaluator
- Bridge between empirical and model-based
evaluation - Flexible and expressive task models
- Limitations of usability laboratories and need to
decrease the costs of usability evaluation - Application to case studies
71The architecture of RemUSINE
Designer site
Designer
ConcurTaskTrees
Task model
Editor
RemUSINE
Designer
Evaluation Method
Log-task table
(RemUSINE)
(Preparation)
User1 site
Usern site
User1 logs
Usern logs
.
Logging tool
Logging tool
.
Application
..
Application
User1
Usern
72The Preparation Part
73An example of analysis
1.JS.applet("Insertions",0).member(..).multiClic
k(124,93,16,1) 2. JS.delay(7310) 3.JS.applet("In
sertions",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).button
Press() 7.JS.applet(...).member().member().
select(4,"XX sec.")
74General Information
75Automatic analisys of the log
76Task Patterns
77Analysis of time performance
78Errors Detected (example 1)
79Errors Detected (example 2)
80Errors Detected (example 3)
81How to interpret the results
- Task model mismatch
- The application is too rigid
- The user interface does not provide enough
support to understand how to perform the tasks - RemUSINE points out where the problem is!
82Results of RemUSINE
- The analysis is reliable and complete
- Identifying the violated precondition helps to
understand the reason for the error - It gives indication of tasks never performed
- It provides quantitative information
83Time required by RemUSINE
- Developing the task model
- Record of logs using a logging tool
- Preparation part of RemUSINE
- Generation of the results
- Analysis of the results provided by RemUSINE
84Summary on RemUSINE
- Suitable for graphical applications with a well
defined set of tasks to support - Useful especially for medium-large applications
with dynamic dialogues and many remote users - It can be complemented with interviews on the
parts found problematic - Automatic generation of multimedia reports on the
usability problems detected
85Research agenda
- Models for context of use
- Use of task model to design adaptive interfaces
supporting variety of devices - Patterns in HCI
- Computer-aided analysis of task models
- Integrating task models in UML to better support
design of interactive applications
86Conclusions and acknowledgements
- Http//giove.cnuce.cnr.it/ctte.html
- http//giove.cnuce.cnr.it/remusine.html
- GUITARE Project http//giove.cnuce.cnr.it/guitare.
html - MEFISTO Project http//giove.cnuce.cnr.it/mefisto.
html - Book on Model-Based Design and Evaluation of
Interactive Applications, Springer Verlag - fabio.paterno_at_cnuce.cnr.it