Presentation on theme: "Context and Context- Aware Computing Omar Khan CS260, Fall 2006."— Presentation transcript:
Context and Context- Aware Computing Omar Khan CS260, Fall 2006
Background ► Ubiquitous computing in early 90s: computing everywhere and “invisible” ► Implication Create applications that work seamlessly in human environments Understanding of context
Olivetti Active Badges ► Problem: locating researchers ► Solution: badge tied to identity, tracked as researcher moves in building [Want and Hopper, 1992] Assistant sees this view - knows where researcher is - can forward call
Roadmap ► Understanding context ► Given an understanding of context, how can applications use it? ► Example applications ► Two Approaches: Dey and Abowd, Dourish ► Case Study and Discussion
Video ► http://www.youtube.com/watch?v=MTh5nC N_3K0
Thoughts ► Question: How do we effectively infer characteristics of situations and usefully supplement them with technology?
Goal [Dey and Abowd, 2000] ► Apps like Active Badges using specific user context (e.g. location) as application input ► Need representation of context Helps to build context-aware applications ► better embedded in the UbiComp and mobile realms
What is Context? ► By example Location, time, identities of nearby users … ► By synonym Situation, environment, circumstance ► By dictionary [WordNet] the set of facts or circumstances that surround a situation or event ► Problems: New situations don’t fit examples How to use in practice?
Operational Definition of Context “Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and the application themselves.” [Dey and Abowd, 2000] Observations - From point of view of developer
Active Badges ► Application: help operator forward calls to researcher at appropriate location Entity Characteristic Info (context) Researcher Badge ID/Name, location, ?Time of the workday (morning, lunch, dinner)? Room Presence of a phone
Museum Audio Guide Example ► Application: digital museum guide Entity Characteristic Info (context) Museum Patron (user)
Museum Audio Guide Example ► Application: digital museum guide Entity Characteristic Info (context) Museum Patron (user) Education, age, spoken language, location in museum, previously viewed artifacts Exhibit What area of museum Mobile Interface battery life
Context Categories ► Recall Dey’s goal: operational definition for use by designers and developers ► Once you have entities, want to identify frequently useful contexts ► Primary Categories Answer basic questions like who, what, when, where Index into more detailed secondary categories ► Secondary Categories More specific details that may be relevant
Primary Categories ► Identity: every entity has a unique id ► Location: position, spatial relationships (latitude/longitude, with friends, near a Starbucks, in the library) ► Activity: what’s happening in the situation (touring a museum, reading a book) ► Time: current time, duration of event, temporal ordering
Secondary Categories ► Indexed by primary category ► Phone number, address, social network, etc.. ► E.g. identity -> email address, phone number, etc..
Context-Aware Applications ► “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.”
Context-Aware Features 1. Presentation of information and services Tour guide, Active BadgesTour guide, Active Badges 2. Automatic execution of services Smart homes (turn off lights, adjust temperature)Smart homes (turn off lights, adjust temperature) 3. Tagging of context to information for later retrieval Digital camera meta-data (time, location)Digital camera meta-data (time, location)
Discussion ► If you were designing an application and you wanted to take advantage of context, would this framework be helpful? ► Example: cell-phone restaurant locator ► Entities: ? ► Relevant Characteristics (context): ? ► Does this help the designer and user?
Dourish’s View on Context ► What we talk about when we talk about context  ► Consider a central goal of UbiComp – invisibility of useful technology Does not arise from design, but from use and incorporation into practices [Tolmie et al. 2002]
Dourish’s Context ► Context is not Set of stable features that characterize events Representable ► Context is Emergent property of interactions (with people, objects)
Dourish’s Context ► Previous approaches to context are representational: “what is context and how can it be encoded?” ► Alternative approach uses interactional model: “how and why, in the course of their interactions, do people achieve and maintain a mutual understanding of the context for their actions”
Implications of Representable Context ► Context is: Form of information that can be encoded Delineable: in advance define what contexts are relevant for the application Stable: determination of relevance of potential context in an activity can be made once, reused Separable from activity
Context can be encoded ► Alternative: You cannot bundle up all the context Objects can be contextually relevant - Dey: relevant info about entities (people, exhibit, interface, …) is context - Dourish: all those things might be contextually relevant, but they do not fully describe the context
Context is Delineable ► Alternative: Scope of application’s contextual features is defined dynamically - Dey: When contexts X, Y, Z come into play, feature A can be engaged - Dourish: problematic
Context is Stable ► Alternative Context is an occasioned property Particulars of situation and activity matter - Dey: Relevance of user’s proximity to an exhibit is always relevant - Dourish: highly dependent on the current situation
Context is separable from Activity ► Alternative Context is produced, maintained and enacted while doing the activity Dey sort of agrees, but for him activity is very general
Practice ► Practice: find meaning in the world by seeing what actions we can engage in Computer scientist example ► Context concerns: How actions become meaningful in certain situations Practice ► Practice evolves => Context Evolves
Implications on Design ► Technology becomes meaningful as individuals engage with it ► Use may not align with designer’s conception: Unexpected uses (e.g. SMS) Generally used features “particularized” differently (e.g. our different uses of folder hierarchies)
Implications on Design ► Predefined contexts will likely fail ► “How can ubiquitous computing support the process by which context is continually manifest, defined, negotiated, and shared?” ► Support evolution of meaning through practice
Example Application ► Structures in Information Spaces ► User places items in a two dimensional space, interact directly with data ► System suggests relationships, user may work off those suggestions Suggested by Application
Discussion ► Building an application ► Current applications
Building an Application ► If you were designing an application and you wanted to take advantage of context, would these frameworks help? ► Example: cell-phone restaurant locator ► Do these help the designer and user? Dey Entities: ? Relevant Characteristics (context): ? Context-Aware App? Dourish Context Engaging/Producing App? Both?
Case Study: Web Apps ► Do they match up with our discussion of context? ► How effective are they? ► What are the problems? ► What can they learn from the views of context discussed here? ► Dey: Context can be represented and processed ► Dourish: Context is emergent. Applications should help users produce new meanings and contexts