context-aware systems in the wild

61
Context-Aware Systems Context-Aware Systems in the Wild in the Wild Dr. Anind K. Dey Dr. Anind K. Dey Assistant Professor Assistant Professor Human-Computer Interaction Human-Computer Interaction Carnegie Melon University Carnegie Melon University

Upload: kareem-buckley

Post on 30-Dec-2015

55 views

Category:

Documents


0 download

DESCRIPTION

Context-Aware Systems in the Wild. Dr. Anind K. Dey Assistant Professor Human-Computer Interaction Carnegie Melon University. Outline. Background Ubicomp and context-awareness Context-aware infrastructure Context-aware applications New area: Usability in context-awareness - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Context-Aware Systems  in the Wild

Context-Aware Systems Context-Aware Systems in the Wildin the Wild

Dr. Anind K. DeyDr. Anind K. DeyAssistant ProfessorAssistant ProfessorHuman-Computer InteractionHuman-Computer InteractionCarnegie Melon UniversityCarnegie Melon University

Page 2: Context-Aware Systems  in the Wild

22

OutlineOutline

BackgroundBackground Ubicomp and context-awarenessUbicomp and context-awareness

Context-aware infrastructure Context-aware infrastructure Context-aware applicationsContext-aware applications New area: Usability in context-awarenessNew area: Usability in context-awareness

Change in approachChange in approach Change in infrastructure support and Change in infrastructure support and

interfaceinterface

Page 3: Context-Aware Systems  in the Wild

44

Overview of UbicompOverview of Ubicomp

Computing embedded into everyday Computing embedded into everyday objects and environments, enhancing objects and environments, enhancing everyday activityeveryday activity

Page 4: Context-Aware Systems  in the Wild

55

Context-Aware ComputingContext-Aware Computing

Context:Context: situational elements relevant to situational elements relevant to interaction between user, application, interaction between user, application, environmentenvironment

Context-awareness:Context-awareness: situationally appropriate; situationally appropriate; apps adapting to context, increasing value to apps adapting to context, increasing value to usersusers Using sensors and actuators to improve human-Using sensors and actuators to improve human-

computer interaction and (computer-mediated) computer interaction and (computer-mediated) human-human and human-environment interactionhuman-human and human-environment interaction

Examples: Examples: tour guide, reminders, diary retrievaltour guide, reminders, diary retrieval

Page 5: Context-Aware Systems  in the Wild

66

Historical perspectiveHistorical perspective

Weiser’s 1991 visionary Scientific American Weiser’s 1991 visionary Scientific American article: “Computer for the 21st century”article: “Computer for the 21st century” Sal’s alarm clock and coffeemakerSal’s alarm clock and coffeemaker Windows: Electronic trails of neighbors, kids, Windows: Electronic trails of neighbors, kids,

weatherweather Rear view mirror: coffee shopRear view mirror: coffee shop Search for details in meeting informationSearch for details in meeting information

Amazing amounts of contextAmazing amounts of context

But how do you build?But how do you build?

Page 6: Context-Aware Systems  in the Wild

77

10 years of context-aware 10 years of context-aware computing researchcomputing research

Driven by a single problemDriven by a single problem

Reminder to buy milkReminder to buy milk

When to deliver: not When to deliver: not time/location specifictime/location specific

How to deliver: appropriate How to deliver: appropriate modalitymodality

Page 7: Context-Aware Systems  in the Wild

88

Context ToolkitContext Toolkit

1997: difficult to build simple 1997: difficult to build simple context-aware applicationscontext-aware applications No abstractions for acquiring and using No abstractions for acquiring and using

context from sensors or controlling context from sensors or controlling actuatorsactuators

Context coming from a number of Context coming from a number of distributed sourcesdistributed sources

No principles for designing applicationsNo principles for designing applications

Page 8: Context-Aware Systems  in the Wild

99

Design processDesign process

1.1. SpecificationSpecification

2.2. AcquisitionAcquisition

3.3. DeliveryDelivery

4.4. ReceptionReception

5.5. ActionAction

1. Specification2. Acquisition

3. Action

Page 9: Context-Aware Systems  in the Wild

1010

Thesis: Context ToolkitThesis: Context Toolkit

Context Toolkit to support programmers in Context Toolkit to support programmers in building context-aware applications more easilybuilding context-aware applications more easily

Widget

Sensor

Widget

Application Application

Interpreter InterpreterAggregator

Sensor

ContextArchitecture

DiscovererService

Actuator

Page 10: Context-Aware Systems  in the Wild

1111

Some SuccessSome Success

First of a series of toolkits that actually First of a series of toolkits that actually makes it easier to build context-aware makes it easier to build context-aware applications applications

Toolkit in use by over 600 academic and Toolkit in use by over 600 academic and corporate institutionscorporate institutions http://contexttoolikit.sourceforge.nethttp://contexttoolikit.sourceforge.net

Lots of applications createdLots of applications created CHI 99, ISWC 99, UBICOMP 00, UBICOMP 01, UIST 02, CHI 03, HCI CHI 99, ISWC 99, UBICOMP 00, UBICOMP 01, UIST 02, CHI 03, HCI

Journal 01, ToCHI 04Journal 01, ToCHI 04

Page 11: Context-Aware Systems  in the Wild

1212

OutlineOutline

Motivation and backgroundMotivation and background Ubicomp and context-awarenessUbicomp and context-awareness

Context-aware infrastructureContext-aware infrastructure Context-aware applicationsContext-aware applications Usability in context-awarenessUsability in context-awareness

Page 12: Context-Aware Systems  in the Wild

1313

Context-Aware Context-Aware InfrastructuresInfrastructures

CTK: privacy, uncertainty, end-user supportCTK: privacy, uncertainty, end-user support Nexus: context modeling, representation, and Nexus: context modeling, representation, and

spatiotemporal processingspatiotemporal processing JCAF: quality of context and context modelingJCAF: quality of context and context modeling Context Fabric: privacy, and modeling of Context Fabric: privacy, and modeling of

context entitiescontext entities PersonisAD: context models of entities and PersonisAD: context models of entities and

links between them, support for scrutabilitylinks between them, support for scrutability Context Spaces: context modeling, Context Spaces: context modeling,

inferencing of situations and probabilistic inferencing of situations and probabilistic reasoningreasoning

Page 13: Context-Aware Systems  in the Wild

1414

OutlineOutline

Motivation and backgroundMotivation and background Ubicomp and context-awarenessUbicomp and context-awareness

Context-aware infrastructureContext-aware infrastructure Context-aware applicationsContext-aware applications Usability in context-awarenessUsability in context-awareness

Page 14: Context-Aware Systems  in the Wild

1515

Context-Aware ApplicationsContext-Aware Applications

What is a context-aware application?What is a context-aware application? App that uses context to perform some App that uses context to perform some

behavior/service for its user(s)behavior/service for its user(s) 3 types of behaviors:3 types of behaviors:

Display contextDisplay context Automatically execute/adapt servicesAutomatically execute/adapt services Tag captured information for easier Tag captured information for easier

retrievalretrieval

Page 15: Context-Aware Systems  in the Wild

1616

Directly displaying contextDirectly displaying context

Page 16: Context-Aware Systems  in the Wild

1717

Execute/Adapt ServicesExecute/Adapt Services

Select and perform a relevant service Select and perform a relevant service from multiple servicesfrom multiple services

Change how a service behaves or is Change how a service behaves or is executedexecuted

Page 17: Context-Aware Systems  in the Wild

1818

Tag InformationTag Information

Use context to aid in context-based Use context to aid in context-based retrievalretrieval

May be easier to remember context May be easier to remember context than specific informationthan specific information

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.QuickTime™ and a

TIFF (LZW) decompressorare needed to see this picture.

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 18: Context-Aware Systems  in the Wild

1919

So are We Done?So are We Done?

Can support building and executing Can support building and executing of context-aware appsof context-aware apps

Are building interesting appsAre building interesting apps

But, we still don’t have widespread But, we still don’t have widespread deploymentdeployment

Commercially available apps are Commercially available apps are really quite simplereally quite simple

Page 19: Context-Aware Systems  in the Wild

2020

Back to the Milk ReminderBack to the Milk Reminder

Just making it easier to build Just making it easier to build applications is only part of the applications is only part of the problemproblem Once you know what context to capture Once you know what context to capture

and how to use it, easier to executeand how to use it, easier to execute But how do you figure this out?But how do you figure this out?

Lots of problems to be addressed on Lots of problems to be addressed on the user sidethe user side

Page 20: Context-Aware Systems  in the Wild

2121

OutlineOutline

Motivation and backgroundMotivation and background Ubicomp and context-awarenessUbicomp and context-awareness

Context-aware infrastructureContext-aware infrastructure Context-aware applicationsContext-aware applications Usability in context-awarenessUsability in context-awareness

Page 21: Context-Aware Systems  in the Wild

2222

What are the Impediments?What are the Impediments?

Cost and difficulty in deploying Cost and difficulty in deploying infrastructureinfrastructure

Applications are of limited valueApplications are of limited value Not modeling the right tasksNot modeling the right tasks

Applications lacking in usabilityApplications lacking in usability Apps lacking in support for end-user Apps lacking in support for end-user

control control Apps lacking in intelligibilityApps lacking in intelligibility

Page 22: Context-Aware Systems  in the Wild

2323

Control in UbicompControl in Ubicomp

Performed two studies on how people Performed two studies on how people respond to context-aware applicationsrespond to context-aware applications

Each study: ~20 people, diary, interviewsEach study: ~20 people, diary, interviews Presented variety of applications, different Presented variety of applications, different

levels of interactivity and elicited responseslevels of interactivity and elicited responses Serious issues with lack of control and privacySerious issues with lack of control and privacy Despite these, wanted to use these Despite these, wanted to use these

applicationsapplications

UBICOMP 03, INTERACT 03UBICOMP 03, INTERACT 03

Page 23: Context-Aware Systems  in the Wild

2424

Usability is KeyUsability is Key

Dourish, Abowd and Mynatt, Dourish, Abowd and Mynatt, Bellotti and others: lack of Bellotti and others: lack of control in these control in these environmentsenvironments

Information collected, Information collected, synthesized and used synthesized and used implicitlyimplicitly

How do I know what’s going How do I know what’s going on? (intellgibility)on? (intellgibility)

How do I change what’s How do I change what’s going on? (control)going on? (control)

Who gets this information? Who gets this information? (privacy)(privacy)

Is this another way to SPAM Is this another way to SPAM me? (overload)me? (overload)

Rich Gold “Dancing Toaster”

Page 24: Context-Aware Systems  in the Wild

2525

Research Focus: UsabilityResearch Focus: Usability

Page 25: Context-Aware Systems  in the Wild

2626

Research Focus: Feeling in Research Focus: Feeling in ControlControl

End-User Intelligibility and End-User Intelligibility and Control: decide what actions an Control: decide what actions an environment should take and environment should take and understand environment stateunderstand environment state CHI 04, Pervasive 06, Ubicomp 06, CHI 07, CHI 04, Pervasive 06, Ubicomp 06, CHI 07,

Ubicomp 07Ubicomp 07

Page 26: Context-Aware Systems  in the Wild

2727

Research Focus: UsabilityResearch Focus: Usability

Privacy: decide what information to release Privacy: decide what information to release whenwhen CHI 03, Personal and Ubiquitous Computing Journal 04CHI 03, Personal and Ubiquitous Computing Journal 04

Page 27: Context-Aware Systems  in the Wild

2828

Research Focus: UsabilityResearch Focus: Usability

Peripheral Displays: Peripheral Displays: present present information without overwhelminginformation without overwhelming CHI 03, CHI 04, Pervasive 04, UIST 04, UIST CHI 03, CHI 04, Pervasive 04, UIST 04, UIST

05, CHI 0605, CHI 06

Page 28: Context-Aware Systems  in the Wild

2929

User-Centered Approach:User-Centered Approach:

Improved modeling is required: real situations, Improved modeling is required: real situations, real users, real problems --> real benefitsreal users, real problems --> real benefits

EthnographyEthnography Need findingNeed finding Sense user behavior of interestSense user behavior of interest Create models of user behaviorCreate models of user behavior Present information or execute services based on modelsPresent information or execute services based on models Study impact:Study impact:

Domain impactDomain impact Impact on infrastructure designImpact on infrastructure design Mental modelsMental models Interactive techniques, tools for control, feedback, Interactive techniques, tools for control, feedback,

modeling, evaluation…modeling, evaluation…

Page 29: Context-Aware Systems  in the Wild

3030

ChallengesChallenges

Leveraging real human context and Leveraging real human context and realizing that you’re not really realizing that you’re not really getting at human intentiongetting at human intention Star Trek doorsStar Trek doors

Anyone remember the original Star Trek Anyone remember the original Star Trek series?series?

Japanese doorsJapanese doors Wash doors?Wash doors?

Page 30: Context-Aware Systems  in the Wild

3131

ChallengesChallenges

Leveraging real human context and Leveraging real human context and realizing that you’re not really realizing that you’re not really getting at human intentiongetting at human intention ClippyClippy

Page 31: Context-Aware Systems  in the Wild

3232

End User Control and End User Control and IntelligibilityIntelligibility

Control: real situations are dynamic Control: real situations are dynamic and cannot always be planned for and cannot always be planned for a a prioripriori Need to allow constant adaptationNeed to allow constant adaptation

Home: new people, new organization, new Home: new people, new organization, new rolesroles

Programmer can’t possibly hope to cover Programmer can’t possibly hope to cover these situationsthese situations

Must support end-users in maintaining controlMust support end-users in maintaining control Need support for thisNeed support for this

Page 32: Context-Aware Systems  in the Wild

3333

Control of Smart HomesControl of Smart Homes

Page 33: Context-Aware Systems  in the Wild

3434

End User Control and End User Control and IntelligibilityIntelligibility

Intelligibility: users will reject Intelligibility: users will reject systems they do not understand, systems they do not understand, particularly when these systems particularly when these systems make mistakesmake mistakes Amazon recommender, ClippyAmazon recommender, Clippy Complex systems need to describe their Complex systems need to describe their

behavior to some degreebehavior to some degree

Page 34: Context-Aware Systems  in the Wild

3535

Study of Mental ModelsStudy of Mental Models

One group received up to 3 features that best explain current One group received up to 3 features that best explain current predictionprediction

CHI 07CHI 07

Page 35: Context-Aware Systems  in the Wild

3838

Research ProblemResearch Problem

Disconnect: what should smart homes do and howDisconnect: what should smart homes do and how

Page 36: Context-Aware Systems  in the Wild

3939

Research ProblemResearch Problem

Support what families value: time, activities, relationshipsSupport what families value: time, activities, relationships

Page 37: Context-Aware Systems  in the Wild

4040

Focus on Dual-income Focus on Dual-income FamiliesFamilies Largest segment of US population and growingLargest segment of US population and growing

Live logistically complex lives that drive Live logistically complex lives that drive aggressive and experimental use of aggressive and experimental use of communication technologycommunication technology

Page 38: Context-Aware Systems  in the Wild

4141

Why Families Feel Out of Why Families Feel Out of ControlControl

Swamped with responsibilities from Swamped with responsibilities from kids activities and jobskids activities and jobs

Page 39: Context-Aware Systems  in the Wild

4242

Findings: Master “Busyness”Findings: Master “Busyness”

Parents want to master managing numerous activitiesParents want to master managing numerous activities

Page 40: Context-Aware Systems  in the Wild

4343

Challenge: “Wicked Challenge: “Wicked Problem” of Activity Problem” of Activity

ManagementManagement

Page 41: Context-Aware Systems  in the Wild

4444

Soccer ExampleSoccer ExampleGAME OR PRACTICE? HOME OR AWAY? WHAT TIME?

Page 42: Context-Aware Systems  in the Wild

4545

WHO PICKS UP? WHO DROPS OFF? WHERE?

Soccer ExampleSoccer Example

Page 43: Context-Aware Systems  in the Wild

4646

SHIN GUARDS, KNEE PADS. CLEATS OR FLATS?

Soccer ExampleSoccer Example

Page 44: Context-Aware Systems  in the Wild

4747

PRACTICE UNIFORM? HOME OR AWAY UNIFORM?

Soccer ExampleSoccer Example

Page 45: Context-Aware Systems  in the Wild

4848

CLEAN CLOTHES THE NIGHT BEFORE

Soccer ExampleSoccer Example

Page 46: Context-Aware Systems  in the Wild

4949

JUICE BEFORE OR AFTER? ORANGES AT HALFTIME?

Soccer ExampleSoccer Example

Page 47: Context-Aware Systems  in the Wild

5050

LOST ON THE CALENDAR

BreakdownsBreakdowns

Page 48: Context-Aware Systems  in the Wild

5151

LAST MINUTE CARPOOL DECISIONS

BreakdownsBreakdowns

Page 49: Context-Aware Systems  in the Wild

5252

MOM’S OUT OF TOWN SO DAD’S IN CHARGE

BreakdownsBreakdowns

Page 50: Context-Aware Systems  in the Wild

5353

MOM’S OUT OF TOWN SO DAD’S IN CHARGE

BreakdownsBreakdowns

Page 51: Context-Aware Systems  in the Wild

5454

MOM’S OUT OF TOWN SO DAD’S IN CHARGE

BreakdownsBreakdowns

Page 52: Context-Aware Systems  in the Wild

5555

CREEPING RESPONSIBILITY

BreakdownsBreakdowns

Page 53: Context-Aware Systems  in the Wild

5656

CREEPING RESPONSIBILITY

BreakdownsBreakdowns

Page 54: Context-Aware Systems  in the Wild

5757

UNPREDICTABLE ORANGES

BreakdownsBreakdowns

Page 55: Context-Aware Systems  in the Wild

5858

SICK CHILD

BreakdownsBreakdowns

Page 56: Context-Aware Systems  in the Wild

5959

CASCADE EFFECTS

BreakdownsBreakdowns

Page 57: Context-Aware Systems  in the Wild

6060

Mapprentice: Route Planning

GPS-enabled cars In-car Support

Current routing systems are impoverished

Don’t take into account: time/day, weather, traffic

Don’t take knowledge of the user into account

Can build much smarter systems

Model driving behavior, use contextual cues, and produce better driving directions

Predict destination and route, suggest alternate routes to take care of errands, or to improve path

Diagnose capabilities of elder drivers and produce more appropriate routes

Web Support

Page 58: Context-Aware Systems  in the Wild

6161

IMPACT: Improving and Motivating Physical Activity using ContexT

Great job!!

Great job!!

GPS-enabled phone Activity monitor Visualization

60% of Americans overweight/obese

Leading cause is lack of physical activity

Ethnography reveals subjects want expert advice, have difficulty with motivation and understanding data from exercise devices

Our solution: real-time feedback and point-of-decision prompts via mobile phone, expert agents to guide reflection and provide motivation, context

Motivate lifestyle change to be more physically active

Page 59: Context-Aware Systems  in the Wild

6262

Context-Based Memory Aids for Peoplewith Mild Cognitive ImpairmentsDey

12 million Americans have Alzheimer’s/MCI:

memory loss, financial impact and caregiver burden

Study of patient/caregiver dyads to understand types of memory impairment, impacts of impairment, and role of technology

Our solution: rich capture of everyday experiences, integrate with contextual cues for enhanced playback and review, and integrate use into daily life

More accurate/complete account of life, reduced burden, increased care, and greater independence

rich multimedia experience

unobtrusive sensors engaging memory exercise

Page 60: Context-Aware Systems  in the Wild

6363

SummarySummary

Despite all the work in making context-aware Despite all the work in making context-aware applications easier to build, there’s lots to be doneapplications easier to build, there’s lots to be done

Context is only an abstraction for user Context is only an abstraction for user motivation/intentmotivation/intent

Context is a part of everyday life and activitiesContext is a part of everyday life and activities A number of difficult usability and technical issues A number of difficult usability and technical issues

that need to be addressedthat need to be addressed Model user needs and practicesModel user needs and practices Support end-user controlSupport end-user control Support intelligibility of end-user systemsSupport intelligibility of end-user systems

Still no solution to the milk reminder problemStill no solution to the milk reminder problem

Page 61: Context-Aware Systems  in the Wild

6464

Questions?Questions?

[email protected]@cs.cmu.edu

www.cs.cmu.edu/~anindwww.cs.cmu.edu/~anind