PeopleTones: a system for the detection and notification of buddy proximity on mobile phones

Preview:

DESCRIPTION

PeopleTones: a system for the detection and notification of buddy proximity on mobile phones. Kevin A. Li Timothy Sohn Steven Huang William G. Griswold University of California, San Diego. ubiquitous ample computational power a few sensors a few actuators  proactive context-awareness. - PowerPoint PPT Presentation

Citation preview

PeopleTones: a system for the detection and notification of buddy proximity on mobile phones

Kevin A. LiTimothy SohnSteven Huang

William G. GriswoldUniversity of California, San

Diego

ubiquitous

ample computational power

a few sensors

a few actuators

proactive context-awareness

messaging

You are driving by Safeway. Reminder: Buy steak.

location-based reminders

The slopes on Beaver Run have opened!

unobtrusive notifications

Bzzzzt!

crappy sensors crappy actuators

cheap sensors could lead to many false notifications

cheap actuators could lead to misunderstood cues

proactive notification + commodity hardware flood of meaningless notifications

two proximity states: far and near (< 2 city blocks)

when a buddy becomes near,

play her sound or vibration cue

runs on commodity hardware (Windows Smartphone)

PeopleTones

“It was so cool to see who was home by the time I got home. I could tell if Jenny was home when I passed by University. So if we were going to go eat or something I could ask her. Oh she’s home, so let’s call her and see if she wants to eat.”

focus on application goals to avoid over-engineered, impractical solution

proximity is easier than location

acceptable if notifications missed or not understood

approach

privacy-friendly proximity detection algorithm

technique for reducing sensor noise without sapping power

method for generating a language of understandable vibrotactile cues

exploratory study of buddy proximity cues

contributions

proximity detection

[LaMarca et al. 2005]

build on location?

GPS doesn’t work indoors, in urban canyons

tower-based systemsmust keep database current

require wardriving

how about tower overlap?NearMe [Krumm 2004]

iPhoneiPhone

Bill
what about Krumm Near Me?

initial data collection

used a GSM phone to record the cell towers it saw every 5 minutes

3 GSM phones, kept 1 stationary

gather data at a variety of distances (0 - 1.2 miles)

initial measurements

a and b are the sets of cell towers seen by each phone

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.2 0.4 0.6 0.8 1 1.2

Ratio

of C

ell T

ower

s

Distance (miles)

Suburbs 1Suburbs 2Downtown

initial measurements

a and b are the sets of cell towers seen by each phone

evaluatingproximity algorithm

can our overlap-ratio algorithm detect proximity accurately enough to support nice-to-know information?

requirements

cannot be annoying

when the system detects a buddy is near,

they should really be near

OK to not detect every time

if a buddy is nearby and stationary, we’ll have multiple chances

Bill
put closer to precision/recall, now that we have solutoin approach slide?

the datasetused the dataset collected by wardriving seattle

[Chen et. al., 2006]

coverage

Suburb

Downtown

precision

100% precision every report is valid

recall

100% recall every near incident is detected

metric: precision and recall

how do we extract the relevant data?

only care about when two phones are near or far from each other

why not pull out each set of data by different distance thresholds?

turns out mobile phone tower readings fluctuate over time (e.g., due to load balancing)

we can crosscut the dataset to approximate precision and recall for different scenarios

nearby

extract pairs of readings taken within 90s

569,264 pairs from Suburb

379,285 pairs from Downtown

calculate precision and recall for different ratio threshold values

nearby precision

100% precision every report was valid

100% recall every near incident was detected

suburb downtown

0.75

0.8

0.85

0.9

0.95

1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Prec

ision

Distance (km)

0.3

0.4

0.5

nearby precision

suburb downtown

100% precision every report was valid

100% recall every near incident was detected

0.75

0.8

0.85

0.9

0.95

1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Prec

ision

Distance (km)

0.3

0.4

0.5

0.80.820.840.860.88

0.90.920.940.960.98

1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Prec

ision

Distance (km)

0.3

0.4

0.5

nearby precision

suburb downtown

100% precision every report was valid

100% recall every near incident was detected

nearby recall

Ratio Recall(Downtown)

Recall (Suburb)

0.1km 1.0 km 0.1 km 1.0 km

0.3 0.74 0.66 0.67 0.66

0.4 0.50 0.41 0.42 0.40

0.5 0.39 0.30 0.30 0.29

100% precision every report was valid

100% recall every near incident was detected

reducingsensor noise

initialapproaches

wait for 2 consecutive-same-readings– Too many false positives

wait for 3 consecutive-same-readings– Too much delay

2-bit-filter(“eventually 3 more”)

filterevaluation

for noise filtering, interested in transitions from far to near and vice-versa

extract seattle wardrive readings at 30s intervals

try three algorithms on this subset, baseline is single report

Bill
how many readings?

filterevaluation

Filter False Positive Reduction

1-same (baseline) 0%

2-same-filter 53.8%

3-same-filter 80.9%

2-bit-filter 84.9%

adaptive sampling rate

sampling once every 20s kills the phone in less than a day

increasing sampling rate to once per 90s helps but introduces a worst-case delay of 270s

sample at 90s when in steady state, 20s when transitioning

buddy cues

mapping musicto vibrations

problem

we want to convert music to vibrations…

…but the phone’s vibrator only turns on and off

…at single frequency, single amplitude

pulse width modulation

electric motors do this to save power

in the case of vibrotactile motors this also decreases its rotational frequency

perceived as different vibration levels

can produce 10 levels of 20ms pulses

capturing the essence of music

overview of approach

just using beat doesn’t always work

mapping lyrics doesn’t work well

basic idea: convey the current energy level of the music

remove noise

isolate 6.6kHz to 17.6kHz components using 8th order Butterworth Filter

use amplitude threshold, to keep only components greater than the average

takerunning sum

take running sum of absolute value, generate 1 value every 20ms

this keeps length consistent

exaggeratefeatures

compose output from previous step with power function:

Axn , x is sample,

A and n are constants, 10<=A<15, 1<=n<=2

Beethoven’s 5th Symphony

matching vibration sequence

Michael Jackson – Smooth Criminal

matching vibration sequence

examples(requires imagination)

so far…

would the techniques we used for proximity detection, sensor noise filtering and vibrotactile cues work in the wild?

can peripheral cues be deployed on mobile phones despite poor sensors and actuators?

(what experiences can such a system enable?)

field study

two proximity states, far and near (< 2 blocks)

when a buddy is near, play their song

if phone is in vibrate mode, play a matching vibrotactile sequence

PeopleTones

participants

3 groups of friends, 2 weeks

could you tell who it was?

could you tell who it was?

0% 20% 40% 60% 80% 100%

My Choice

Your Choice

Nature

Yes

Ignored

No

0% 20% 40% 60% 80% 100%

My Choice

Your Choice

Nature

Acted on or Nice to KnowDidn’t Notice or not that usefulAnnoyed

user response to the cue

designing peripheral cues for the wild

higher comprehension rate when users select their own cues

obtrusiveness of music cues was not a concern

mapping music to vibration was most successful for people who knew the songs well

semantic association is key to learnability

userexperience

“One time at the library, I wanted to eat with someone and so I went outside to call someone. The phone vibrated. I just called the person to meet up.”

lessons

cues were sensible, but not socially obtrusive

proximity algorithm worked well in the wild

emphasizing elimination of false positives was effective in combination with 2-bit counter

dwelling/lingering led to successful recall

whole can be greaterthan its parts

despite crappy sensors and actuators, mobile phones can achieve adequate context awareness and notification

with careful system-level design these can be brought together into a useful proactive context-aware application like PeopleTones

Bill
*proactive* CAcombined system-level *and* application-level(note dashes)

PeopleTones: a system for the detection and notification of buddy proximity on mobile phones

Kevin A. LiTimothy SohnSteven Huang

William G. GriswoldUniversity of California, San

Diego

EXTRA SLIDES

measuring vibrations

0 5 10 15 20 25 30 35 40 45 50

Time (ms)

Vo

lts

(V

)0

1

.5

3.0

4.5

6.

0

0 5 10 15 20 25 30 35 40 45 50

Time (ms)

Vo

lts

(V

)0

1

.5

3.0

4.5

6.

0

0 5 10 15 20 25 30 35 40 45 50

Time (ms)

Vo

lts

(V

)0

1

.5

3.0

4.5

6.

0

0 5 10 15 20 25 30 35 40 45 50

Time (ms)

Vo

lts

(V

)0

1

.5

3.0

4.5

6.

0

Duty Cycle = 100%

Duty Cycle = 60%

Duty Cycle = 18%

Duty Cycle = 37%

zzz

z

z zvibrotactilesignals

far apart

unfortunately, there are few points in dataset that are both far apart and proximate in time

expected atypical results

used the entire dataset

55,181,015 pairs from Suburb

36,769,390 pairs from Downtown

far apart precision

suburb downtown

100% precision every report was valid

100% recall every near incident was detected

far apart precision

0.75

0.8

0.85

0.9

0.95

1

0.1 0.3 0.5 0.7 0.9 1.1 1.3 1.5 1.7 1.9 2.1 2.3

Prec

ision

Distance (km)

0.3

0.4

0.5

suburb downtown

100% precision every report was valid

100% recall every near incident was detected

0.88

0.9

0.92

0.94

0.96

0.98

1

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Prec

ision

Distance (km)

0.3

0.4

0.5

far apart precision

0.75

0.8

0.85

0.9

0.95

1

0.1 0.3 0.5 0.7 0.9 1.1 1.3 1.5 1.7 1.9 2.1 2.3

Prec

ision

Distance (km)

0.3

0.4

0.5

suburb downtown

100% precision every report was valid

100% recall every near incident was detected

far apart recall

Ratio

Recall(Downtown)

Recall (Suburb)

0.1km 1.0km 0.1km 2.4km

0.3 0.12 0.08 0.09 0.06

0.4 0.05 0.04 0.03 0.02

0.5 0.03 0.02 0.02 0.01

100% precision every report was valid

100% recall every near incident was detected

“It was so cool to see who was home by the time I got home. I could tell if Jenny was home when I passed by University. So if we were going to go eat or something I could ask her. Oh she’s home, so let’s call her and see if she wants to eat.”

Bill
this pic and next looking at phones

“One time at the library, I wanted to eat with someone and so I went outside to call someone. The phone vibrated. I just called the person to meet up.”

Bill
save for later?need one more quote

generating vibrations

same location

Extract pairs of readings taken within 5s

28,625 pairs from Suburb

19,087 pairs from Downtown

GPS confirmed 99.9% within 100m of each other

Ratio Recall

(Downtown)Recall

(Suburb)

0.1 0.96 0.96

0.2 0.84 0.85

0.3 0.83 0.83

0.4 0.57 0.58

0.5 0.44 0.44

same location recall

100% precision => every report was valid

100% recall => every near incident was detected

You are driving by Safeway. Reminder: Buy steak.

eyes-freenotifications

[LaMarca et al. 2005]

build on location?GPS doesn’t work indoors, in urban

canyons

tower-based systemsmust keep database currenttower adaptation (e.g., load balancing)

Bill
what about Krumm Near Me?

location sensingon iphone

Bill
fix headersegue from PL to make this go fast

“It was so cool to see who was home by the time I got home. I could tell if Jenny was home when I passed by University. So if we were going to go eat or something I could ask her. Oh she’s home, so let’s call her and see if she wants to eat.”

Bill
this pic and next looking at phones

2-bit-filter

Recommended