Low Friction Personal Data Collectionmedia.quantifiedself.com/slides/0553_AParecki_Low... · IFTTT...
Transcript of Low Friction Personal Data Collectionmedia.quantifiedself.com/slides/0553_AParecki_Low... · IFTTT...
Low Friction Personal
Data Collection
@aaronpk • aaronparecki.com Quantified Self • San Francisco • October 2013
Things I track inconsistently
¡ One photo every day – off and on since 2007
¡ Bike Rides – Usually rides only > 1 mile – Strava
¡ Heart Rate – During bike rides or other activities – Strava
¡ Food I Eat – Aug 19-present – text file on my phone
Things I track consistently
¡ Location: GPS (since 2008) iPhone
¡ Location: Checkins (since 2009) Foursquare
¡ Sleep (since November 2011) Jawbone UP
¡ Weight (since October 2011) Withings Scale
@aaronpk
¡ One decimal point of precision (about 5km)
¡ City name
¡ Local time and timezone
aaronparecki.com
Tracking My Location
¡ Four decimal points of precision (within a block)
¡ City name
¡ Local time and timezone
Automatic reply to an SMS
Tracking My Location
Hardware GPS Logger (2007)
@aaronpk
Tracking My Location
GPS-Enabled Phone (2008-2009) Tracking My Location
@aaronpk
Geoloqi for iPhone (2010-Present)
@aaronpk
Tracking My Location
@aaronpk
Stored in PostGIS
¡ Queryable by timestamp or by area
Tracking My Location
Timezone API
Created with github.com/esri/Terraformer
curl http://api.example.com/?lat=45.5118&lng=-122.6433 { status: "ok", timezone: "America/Los_Angeles" }
Tracking My Location
SMS Interface
Your Phone
Google Voice
Gmail notification
of SMS aaronparecki.com
You send me an SMS
Google Voice sends me an email
with the SMS
A Gmail filter catches it and
forwards it to my web server
then sends an email reply to the “from” address of the SMS
notification
Google Voice sends you an SMS
from my phone number
My web server retrieves my
location data
* it would also be simpler to use Twilio for this, but I like that the SMSs are to and from my own number, hence the Google Voice round trip ** if you have an Android, you can just use Tasker
Tracking My Location
@aaronpk
Publishing My Weight
aaronparecki.com/metrics
Tracking My Weight
Withings Wireless Scale – 2011-Present
@aaronpk
Tracking My Weight
Weight Data Flow
Withings Scale IFTTT
Gmail notification
aaronparecki.com
Withings API reports to IFTTT
IFTTT sends me an email with all the data
A Gmail filter catches it and forwards it to my
web server and creates a new post
* the Withings API was too difficult to use directly, so I had to go through IFTTT as a proxy. I would love to find a simple Ruby/Sinatra or PHP app that someone else has written as a template!
Tracking My Weight
@aaronpk
Tracking My Weight
Withings Wireless Scale
Withings Wireless Scale
@aaronpk
Geoloqi Acquired
Tracking My Weight
Publishing My Sleep
¡ Local time based on the timezone of my location
¡ Includes city I slept in from my GPS data
aaronparecki.com/metrics
Tracking My Weight
Sleep Cycle App
¡ Place your phone on your bed
¡ Requires your phone to be plugged in
@aaronpk
Tracking My Weight
Original Fitbit
¡ To track sleep, requires you wear it around your wrist
¡ I was not able to sustain this because of the extra effort of using the wrist strap
¡ Long button press to put into “Sleep” mode, gives visual feedback but no vibration (timer starts running)
@aaronpk
Tracking My Weight
Jawbone UP – 2011-Present
¡ Always on my wrist, so I never forget about it
¡ Battery lasts 8-10 days
¡ Long button press to put into “Sleep” mode, gives visual and tactile feedback
@aaronpk
Tracking My Sleep
Sleep Logs
@aaronpk
¡ Times are localized using location data
¡ Timezone is found using Terraformer
¡ Using a reverse geocoder to add City, State, Country
Tracking My Sleep
Sleep Logs by City
Tracking My Sleep
Sleep Logs by City Jetlag
SXSW
Tracking My Sleep
Sleep Logs Nov 2011 – September 2013
Tracking My Sleep
Tracking My Sleep
Sleep Logs Nov 2011 – September 2013
Private Database aaronparecki.com Public
@aaronpk
Some patterns are only visible after looking at a
long-term dataset.
@aaronpk
I set up systems to passively collect data so that I have
lots to work with later!
@aaronpk
collect passively
analyze actively
@aaronpk • aaronparecki.com
Low Friction: