220 likes | 343 Views
Designing Context-Sensitive User Interfaces. Overview. Introduction Context Architectures DynaMo-AID: designing context-aware user interfaces Design Process Runtime Architecture Demo Prototype DynaMo-AID. Introduction. Static vs. Dynamic Context Dynamic Context
E N D
Overview • Introduction • Context Architectures • DynaMo-AID: designing context-aware user interfaces • Design Process • Runtime Architecture • Demo Prototype DynaMo-AID
Introduction • Static vs. Dynamic Context • Dynamic Context • Considering at design time • Considering at run-time
Introduction Context- Awareness • Adaptivity of the UI should be considered in early design stages • [Dey]A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task • Considering adaptivity in task design Model-Based User Interface Development (D5.1) Mobile Computing Embedded Systems Wireless Communication Pervasive Computing Ubiquitous Computing Ambient Intelligence
Introduction • Context • Sensor-Based Abstraction/Interpretation layers • Agents (Software/User) • Simulation • Services • Service [Coulouris et al.] (WP4)A distinct part of a computer system that manages a collection of related resources and present their functionality to users and applications • Effects on Model-Based UI Design • Integrating adaptivity in early design phases • Frequent/Common changes • Prepare interactive applications for services • Infrequent/Unpredictable changes
Context Architectures • Classification [Winograd] • Networked services • Blackboard approach • Widget-based • Context Fabric [Hong] (networked services) • Pervasive Computing Architecture [Henricksen] (blackboard approach) • Context Toolkit [Dey & Salber] (widget-based) • Our Approach: DynaMo-AID • Integrating the Context Architecture into a User Interface Architecture
Comparison Context Toolkit Pervasive Computing Architecture DynaMo-AID
DynaMo-AID • Dynamic Model-Based User Interface Design • Design Process (tool support) • Runtime Architecture
Task Model • Extended ConcurTaskTrees Notation Abstract Interaction Application User Decision • Temporal Relations • Decision Task • one sub tree for each context of use • service tasks
Dynamic Application Model • Dynamic Application Core • Services • Annotated with Task Models describing the interaction enabled by the service influence on Task Model • Context Sensing services influence on Environment Model
Dynamic Environment Model • Collection of “Context Objects” • 2 abstraction levels • Concrete Context Object (CCO) Encapsulate rough sensor data e.g. Temperature = 23 degrees Celsius • Abstract Context Object (ACO) Abstract context data e.g. Mobile Phone in hand • Designer links ACOs to Task Model (decision tasks)
Dialog Model • For each CTT in Forest: • DynaMo-AID extracts subatomic dialog model with intra-dialog transitions • Designer specifies inter-dialog transitions
Presentation Model • Abstract Level: UI building blocks attached to unit tasks • Concrete Presentation Units: • Groups of tasks (enabled task sets) • One dialog: visualized enabled task set
The Context Control Unit (CCU) • Detect context changes • Recalculate ACO CCO mapping • Select current context-specific task model • Execute inter-dialog transition
Demo • Context-Sensitive Mobile Phone • Sensors detect current context • 3 states: • Table • Pocket • Hand • Inter-Dialog Transitions