40
Context and Context and Context-Aware Context-Aware Computing Computing Omar Khan Omar Khan CS260, Fall 2006 CS260, Fall 2006

Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Embed Size (px)

Citation preview

Page 1: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context and Context-Context and Context-Aware ComputingAware Computing

Omar KhanOmar Khan

CS260, Fall 2006CS260, Fall 2006

Page 2: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

BackgroundBackground

►Ubiquitous computing in early 90s: Ubiquitous computing in early 90s: computing everywhere and computing everywhere and ““invisibleinvisible””

► ImplicationImplication Create applications that work seamlessly Create applications that work seamlessly

in human environmentsin human environments Understanding of Understanding of contextcontext

Page 3: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Olivetti Active BadgesOlivetti Active Badges

►Problem: Problem: locatinglocating researchers researchers►Solution: badge tied to identity, tracked Solution: badge tied to identity, tracked

as researcher moves in buildingas researcher moves in building

[Want and Hopper, 1992][Want and Hopper, 1992]

Assistant sees this view

- knows where researcher is

- can forward call

Page 4: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

RoadmapRoadmap

►Understanding contextUnderstanding context►Given an understanding of context, Given an understanding of context,

how can applications use it? how can applications use it? ►Example applicationsExample applications►Two Approaches: Dey and Abowd, Two Approaches: Dey and Abowd,

DourishDourish►Case Study and DiscussionCase Study and Discussion

Page 5: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

What’s the Context?What’s the Context?Context:Context:

Page 6: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

What’s the ContextWhat’s the ContextContext:Context:

Shop in Shop in IndonesiaIndonesia

Page 7: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

VideoVideo

►http://www.youtube.com/watch?http://www.youtube.com/watch?v=MTh5nCN_3K0v=MTh5nCN_3K0

Page 8: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

ThoughtsThoughts

►Question: How do we Question: How do we effectively effectively inferinfer characteristics of situations and characteristics of situations and usefullyusefully supplement them with supplement them with technology?technology?

Page 9: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Goal [Dey and Abowd, 2000]Goal [Dey and Abowd, 2000]

►Apps like Active Badges using specific Apps like Active Badges using specific user user contextcontext (e.g. location) as (e.g. location) as application inputapplication input

►Need representation of contextNeed representation of context Helps to build context-aware applicationsHelps to build context-aware applications

►better embedded in the UbiComp and mobile better embedded in the UbiComp and mobile realmsrealms

Page 10: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

What is Context?What is Context?

► By exampleBy example Location, time, identities of nearby users …Location, time, identities of nearby users …

► By synonym By synonym Situation, environment, circumstanceSituation, environment, circumstance

► By dictionary [WordNet]By dictionary [WordNet] the set of facts or circumstances that surround a the set of facts or circumstances that surround a

situation or event situation or event ► Problems:Problems:

New situations don’t fit examplesNew situations don’t fit examples How to use in practice?How to use in practice?

Page 11: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Operational Definition of Operational Definition of ContextContext

““Context is any information that can be Context is any information that can be used to characterize the situation of an used to characterize the situation of an entity. An entity is a person, place, or entity. An entity is a person, place, or object that is considered relevant to the object that is considered relevant to the interaction between a user and an interaction between a user and an application, including the user and the application, including the user and the application themselves.” [Dey and application themselves.” [Dey and Abowd, 2000]Abowd, 2000]

ObservationsObservations- From point of view of developerFrom point of view of developer

Page 12: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Active BadgesActive Badges

► Application: help operatorApplication: help operator forward calls to forward calls to researcher at appropriate locationresearcher at appropriate location

EntityEntity Characteristic Info Characteristic Info (context)(context)

ResearcherResearcher Badge ID/Name, location, ?Badge ID/Name, location, ?Time of the workday Time of the workday (morning, lunch, dinner)?(morning, lunch, dinner)?

RoomRoom Presence of a phonePresence of a phone

Page 13: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Museum Audio Guide Museum Audio Guide ExampleExample

► Application: digital museum guideApplication: digital museum guide

EntityEntity Characteristic Info Characteristic Info (context)(context)

Museum Museum Patron Patron (user)(user)

Page 14: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Museum Audio Guide Museum Audio Guide ExampleExample

► Application: digital museum guideApplication: digital museum guide

EntityEntity Characteristic Info Characteristic Info (context)(context)

Museum Museum Patron Patron (user)(user)

Education, age, spoken Education, age, spoken language, location in language, location in museum, previously museum, previously viewed artifactsviewed artifacts

ExhibitExhibit What area of museumWhat area of museum

Mobile Mobile InterfaceInterface

battery lifebattery life

Page 15: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context CategoriesContext Categories

► Recall Dey’s goal: operational definition for Recall Dey’s goal: operational definition for use by designers and developersuse by designers and developers

► Once you have entities, want to identify Once you have entities, want to identify frequently useful contextsfrequently useful contexts

► Primary CategoriesPrimary Categories Answer basic questions like who, what, when, Answer basic questions like who, what, when,

wherewhere Index into more detailed secondary categoriesIndex into more detailed secondary categories

► Secondary Categories Secondary Categories More specific details that may be relevantMore specific details that may be relevant

Page 16: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Primary CategoriesPrimary Categories

►IdentityIdentity: every entity has a unique id: every entity has a unique id►LocationLocation: position, spatial relationships : position, spatial relationships

(latitude/longitude, with friends, near a (latitude/longitude, with friends, near a Starbucks, in the library)Starbucks, in the library)

►ActivityActivity: what’s happening in the : what’s happening in the situation (touring a museum, reading a situation (touring a museum, reading a book)book)

►TimeTime: current time, duration of event, : current time, duration of event, temporal orderingtemporal ordering

Page 17: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Secondary CategoriesSecondary Categories

► Indexed by primary categoryIndexed by primary category►Phone number, address, social Phone number, address, social

network, etc..network, etc..►E.g. identity -> email address, phone E.g. identity -> email address, phone

number, etc..number, etc..

Page 18: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context-Aware ApplicationsContext-Aware Applications

►““A system is context-aware if it uses A system is context-aware if it uses context to provide relevant context to provide relevant information and/or services to the information and/or services to the user, where relevancy depends on the user, where relevancy depends on the user’s task.”user’s task.”

Page 19: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context-Aware FeaturesContext-Aware Features

1.1. Presentation of information and servicesPresentation of information and services• Tour guide, Active BadgesTour guide, Active Badges

2.2. Automatic execution of servicesAutomatic execution of services• Smart homes (turn off lights, adjust Smart homes (turn off lights, adjust

temperature)temperature)

3.3. Tagging of context to information for Tagging of context to information for later retrievallater retrieval

• Digital camera meta-data (time, location)Digital camera meta-data (time, location)

Page 20: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context Toolkit [Salber et al, Context Toolkit [Salber et al, 1999]1999]

Page 21: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Active BadgesActive Badges

Page 22: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

DiscussionDiscussion

► If you were designing an application If you were designing an application and you wanted to take advantage of and you wanted to take advantage of context, would this framework be context, would this framework be helpful?helpful?

►Example: cell-phone restaurant locator Example: cell-phone restaurant locator ►Entities: ?Entities: ?►Relevant Characteristics (context): ?Relevant Characteristics (context): ?►Does this help the designer and user?Does this help the designer and user?

Page 23: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Dourish’s View on ContextDourish’s View on Context

►What we talk about when we talk What we talk about when we talk about context [2004]about context [2004]

►Consider a central goal of UbiComp – Consider a central goal of UbiComp – invisibilityinvisibility of useful technology of useful technology Does not arise from design, but from Does not arise from design, but from useuse

and incorporation into practicesand incorporation into practices [Tolmie et [Tolmie et al. 2002]al. 2002]

Page 24: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Dourish’s ContextDourish’s Context

►Context is not Context is not Set of stable features that characterize Set of stable features that characterize

eventsevents RepresentableRepresentable

►Context isContext is Emergent property of interactions (with Emergent property of interactions (with

people, objects)people, objects)

Page 25: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Dourish’s ContextDourish’s Context

►Previous approaches to context are Previous approaches to context are representationalrepresentational: “what is context : “what is context and how can it be encoded?”and how can it be encoded?”

►Alternative approach uses Alternative approach uses interactionalinteractional model: “how and why, model: “how and why, in the course of their interactions, do in the course of their interactions, do people achieve and maintain a mutual people achieve and maintain a mutual understanding of the context for their understanding of the context for their actions”actions”

Page 26: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Implications of Representable Implications of Representable ContextContext

►Context is:Context is: Form of information that can be encodedForm of information that can be encoded Delineable: in advance define what Delineable: in advance define what

contexts are relevant for the applicationcontexts are relevant for the application Stable: determination of relevance of Stable: determination of relevance of

potential context in an activity can be potential context in an activity can be made once, reusedmade once, reused

Separable from activitySeparable from activity

Page 27: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context can be encodedContext can be encoded

►Alternative:Alternative: You cannot bundle up all the contextYou cannot bundle up all the context Objects can be Objects can be contextually relevantcontextually 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

Page 28: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context is DelineableContext is Delineable

►Alternative:Alternative: Scope of application’s contextual features Scope of application’s contextual features

is defined dynamicallyis defined dynamically

- Dey: When contexts X, Y, Z come into play, feature A can be engaged

- Dourish: problematic

Page 29: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context is StableContext is Stable

►AlternativeAlternative Context is an occasioned propertyContext is an occasioned property Particulars of situation and activity matterParticulars of situation and activity matter

- Dey: Relevance of user’s proximity to an exhibit is always relevant

- Dourish: highly dependent on the current situation

Page 30: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Context is separable from Context is separable from ActivityActivity

►AlternativeAlternative Context is produced, Context is produced,

maintained and maintained and enacted while doing enacted while doing the activitythe activity

Dey sort of agrees, Dey sort of agrees, but for him activity is but for him activity is very general very general

Page 31: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

PracticePractice

►Practice: find meaning in the world by Practice: find meaning in the world by seeing what actions we can engage inseeing what actions we can engage in Computer scientist exampleComputer scientist example

►Context concerns:Context concerns: How actions become meaningful in certain How actions become meaningful in certain

situationssituations PracticePractice

►Practice evolves => Context EvolvesPractice evolves => Context Evolves

Page 32: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Implications on DesignImplications on Design

►Technology becomes meaningful as Technology becomes meaningful as individuals engage with itindividuals engage with it

►Use may not align with designer’s Use may not align with designer’s conception:conception: Unexpected uses (e.g. SMS)Unexpected uses (e.g. SMS) Generally used features “particularized” Generally used features “particularized”

differently (e.g. our different uses of folder differently (e.g. our different uses of folder hierarchies)hierarchies)

Page 33: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Implications on DesignImplications on Design

►Predefined contexts will likely failPredefined contexts will likely fail►““How can ubiquitous computing How can ubiquitous computing

support the process by which context support the process by which context is continually manifest, defined, is continually manifest, defined, negotiated, and shared?”negotiated, and shared?”

►Support evolution of meaning through Support evolution of meaning through practicepractice

Page 34: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Example ApplicationExample Application

►Structures in Information SpacesStructures in Information Spaces►User places items in a two dimensional User places items in a two dimensional

space, interact directly with dataspace, interact directly with data►System suggests relationships, user System suggests relationships, user

may work off those suggestionsmay work off those suggestions Suggested by Application

Page 35: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

DiscussionDiscussion

►Building an applicationBuilding an application►Current applicationsCurrent applications

Page 36: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Building an ApplicationBuilding an Application

► If you were designing an application If you were designing an application and you wanted to take advantage of and you wanted to take advantage of context, would these frameworks context, would these frameworks help?help?

►Example: cell-phone restaurant locator Example: cell-phone restaurant locator ►Do these help the designer and user?Do these help the designer and user?Dey

Entities: ?Relevant Characteristics (context): ?

Context-Aware App?

DourishContext Engaging/Producing App?

Both?

Page 37: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Case Study: Web AppsCase Study: Web Apps

► Do they match up with our discussion of Do they match up with our discussion of context?context?

► How effective are they?How effective are they?► What are the problems?What are the problems?► What can they learn from the views of context What can they learn from the views of context

discussed here?discussed here?► DeyDey: Context can be represented and processed: Context can be represented and processed► DourishDourish: Context is emergent. Applications : Context is emergent. Applications

should help users produce new meanings and should help users produce new meanings and contextscontexts

Page 38: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

GmailGmail

Page 39: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

Yahoo! ZoneTagYahoo! ZoneTag

Page 40: Context and Context- Aware Computing Omar Khan CS260, Fall 2006

del.icio.usdel.icio.us