13
A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications Adrian A. de Freitas Dey, Anind K., Gregory D. Abowd, and Daniel Salber. "A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications.” Human-computer interaction 16, no. 2 (2001): 97-166.

A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications Adrian A. de Freitas Dey, Anind K., Gregory D

Embed Size (px)

Citation preview

A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications

Adrian A. de Freitas

Dey, Anind K., Gregory D. Abowd, and Daniel Salber. "A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications.” Human-computer interaction 16, no. 2 (2001): 97-166.

Overview

• Authors• Motivation• Context in the Old Days (old and busted)• Context Thanks to Anind (new hotness)• Impact

Authors

Anind Dey

Gregory Abowd

Daniel Salber

Motivation

• Anybody Know What This Is?

Context In the Early Days

• What is Context?– Location, nearby objects/people, and changes to them over time (Schilit & Theimer, 1994)– User/Device’s Orientation (Brown, 1998)– User’s “situation” (Franklin & Flaschbart, 1998)– Who What Where When Why (Abowd & Mynatt, 2000)

PROBLEM: Everybody talked about context like they knew what it was, but nobody was really talking about the same thing!

Context In the Early Days

• How did You Make a Context-Aware Application “Back When it Was Hard?”– Figure out what sensors you have – You write code to directly interface with that sensor– You interpret the raw sensor data however your application– (Optional) You pray you don’t have to do it again anytime soon

Problem: Context wasn’t very reusable, so everyone kept reinventing the wheel each time they needed it.

What Would Anind Do?

• Major Contribution #1: Let’s Define 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 application themselves.”

• Sub-Contribution: Let’s Define the Most Common Contexts:– Location– Activity– Time– Identity

What Would Anind Do?

• Major Contribution #2: Let’s come up with a better way to develop context-aware applications!– The Conceptual Framework

• Separation of Concerns• Context Interpretation• Transparent, Distributed Communications• Constant Availability of Context Acquisition• Context Storage and History• Resource Discovery

– Abstractions Needed to Achieve This:• WIDGETS!• Interpreters• Aggregators• Services• Discoverers

What Did Anind Do?

• LOTS of Demo Applications

The Big Impact

• A “Simple” Idea, with Power Consequences!

The Big Impact

Standard Sensors• Light• Proximity• Cameras• Microphones• Touchscreen• Position (GPS, Wi-Fi,

Cellular)• NFC• RFID• Bluetooth• Accelerometer• Magnetometer• Gyroscope• Pressure• Temperature• Humidity

The Future of Context?

Discussion Topics

• Have Smartphones replaced the need for the Context Toolkit?

• Ethical Implications of Sharing Context?

• Permissions!

• The Promise of Context . . .