Context and ContextAware 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 Assistant sees this view - knows where researcher is - can forward call [Want and Hopper, 1992] 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 What’s the Context? Context: What’s the Context Context: Shop in Indonesia 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 Researcher Characteristic Info (context) 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 Education, age, spoken Patron (user) 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 • 2. Automatic execution of services • 3. Tour guide, Active Badges Smart homes (turn off lights, adjust temperature) Tagging of context to information for later retrieval • Digital camera meta-data (time, location) Context Toolkit [Salber et al, 1999] Active Badges 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 [2004] ► 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 Suggested by work off those suggestions 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 Gmail Yahoo! ZoneTag del.icio.us