An Approach to Task Modelling for User Interface Design Costin Pribeanu National Institute for Research and Development in Informatics, Bucureşti, Romania E-mail pribeanu@ici.ro Content Introduction Related work The application domain model Mapping application functions onto user tasks Using the task model to filter data model elements Task modeling Model-based design Using CTT for task representation Layers in task decomposition Decomposition at operational level Conclusion Introduction Model-based design of user interfaces addressing methodological aspects: models, methods and tools capturing design knowledge contributing models: user, task, domain, interface models: presentation and dialog task-based design: task model is the key model Motivation and objectives answering the mapping problem: relationships between models presenting a layered approach to task modeling exploiting the information contained in the domain model deriving the presentation from the task model The mapping problem Key problem in model-based approaches Related work model transformation from abstract to concrete level relationships between different models Clerck et al. (2004): preserving consistency between models Florins & Vanderdonckt (2004): graceful usability degradation Limburg & Vanderdonckt (2004): description language & tools Aspects to consider the model type (e.g. domain, task, platform …) the hierarchical structure of each model the progression level along the development cycle Tools for task representation Concur Task Tree (CTT) notation Graphical task representation Abstract Application Interaction User Cooperative Temporal operators between sibling tasks Choice Order independency Interleaving Synchronization Enabling Enabling with info pass Disabling Suspend / resume Optional (unary) Iteration (unary) T1 [ ] T2 T1 ||| T2 T1 ||| T2 T1 |[]| T2 T1 >> T2 T1 [ ]>> T2 T1 [> T2 T1 |> T2 [T1] T1* Application functions Application domain model Application functions concepts related to the domain of target applications application functions and data model high level functions corresponding to bussiness goals carried on by user tasks Example: data management in a trade company Functional goal Data model Data model elements Domain objects (entities) Attributes Relationships between objects (and roles) Model representation ERA formalism (Entity-Relationship-Attribute) DB-MAIN tool graphical representation of data model elements expressive for roles and cardinalities output capabilities (SQL and XML) Data model elements Object Relationship Object attribute Role Cardinality create table ORDER ( ID_ORD char(10) not null, Order_Id -- Index attribute not implemented -- not null, Order_No numeric(6) not null, Order_Date date not null, Delivery_Date date not null, Pay_Mode char(1) not null, Order_Value numeric(9,2) not null, constraint ID primary key (ID_ORD)); Relationship attribute Data model representation Centrality of elements Central domain objects Central relationships Relationships of central objects Helps the user to understand the information displayed Relevant roles - cardinality Targetted by the user task Reveals repetitive tasks Helps in task decomposition The task model is filtering for relevance (UI design) data model elements Orders 1-N products Task modeling Task model Activity theory goal hierarchy, tasks, temporal constraints Activity – motivation Actions (tasks in HCI) – goal Operations (actions in HCI) – operational conditions Operational conditions Variations in using the same interaction object actions Variations in the platform operational goals related to a given context of use Task decomposition Layers in task modeling Functional – planning Operational Criteria for task decomposition Functional: same business goal (functional) Semantic: targetting same domain object or operation onto it (both) Object used: using same external or interaction object (operational) User and work: same user and role, similar work (cooperative) Temporal: specific temporal constraint (both) Functional layer Planning (functional) goals Specified during early task analysis Starting with high level business goals (application functions) Unit tasks “what to do” Functional goal Unit task Operational layer Operational goals Starting with unit tasks Basic tasks Specified during user interface design depend on a given platform “how to do it “ Basic task types Information control Function control Unit task Basic tasks Unit task decomposition Hierarchy of unit tasks Invoke the execution of another unit task Operational task structures Suggest AIO grouping in a taskbased approach Unit task Unit task Basic tasks Conclusion Task-based approach Starting with the task model Decomposition levels Functional task level Unit task level resulting from mapping application functions onto user tasks leaves in the functional-planning layer mapped onto AIO configuration Basic task level leaves in the operational level carried on with AIO