I was sitting at the back of the API discussion at the Quantified Self Conference this Friday in San Francisco, and realized that there is something wrong with the current way these quantified self devices are built and marketed. I don't want to buy a device and be trapped in the company's ecosystem of apps and be stuck in yet another social network. I want to use these physical devices as inputs to my own data store, and have a completely separate set of companies handle the social and aggregation of data from the data that I own.
In the current model, every device has its own app and its own social network, and most of them have an API. Each device wants you to completely buy into their entire world. This is even more apparent when you see apps like Jawbone UP and Fitbit letting you track things that their devices don't track, like food and water consumption!
This presents a number of questions and challenges with privacy and data ownership. You have to trust that these services are handling your data properly, letting you share with who you want to share it with, etc. If you request that your account is deleted, you have to trust that they delete it.
Many of these APIs are designed only to support displaying data in the corresponding apps, the API is not necessarily designed to be a complete export of your own data. A common problem is when times come back from the API in the user's local time without even including timezone information. Surprisingly, some of these APIs don't return unix timestamps or full ISO 8601 dates. The problem of course is that without the actual timestamp, you can't correlate this data with anything else.
Of course if the company shuts down, you lose all of the data stored in the system. As we've seen before, like with the Zeo sleep tracker shutting down suddenly without giving any notice, this is a big problem. Even the way a company is acquired can make it beneficial to hide the fact the service will be shut down until after the acquisition, so that the value of the company is not affected by negative press about a service shutting down.
A better framework is to separate the device manufacturers from the app builders. Let companies like Jawbone and Fitbit focus on building great hardware, and let other companies build social networks and aggregators of the raw data.
In this model, I would buy or rent a personal server that would collect and house my QS data from all of my devices. This might be a physical device I plug in at home like an Airport Express, or it may be a server I rent from Amazon or Linode, or could even be a service provided by a company dedicated to this purpose. This personal server would be responsible for storing and backing up all of my data. It may or may not actually have a user interface for viewing the data, most importantly it has an API for getting data in and out.
A device manufacturer like Jawbone would build a device that could send data to my personal server. Of course it's not always practical or possible to communicate straight from a wearable device to a server at home (although Bluetooth LE makes this increasingly easier). So in the mean time, it's completely acceptable that a device may require a cloud service operated by the device manufacturer in order to sync and process data. The main difference is that in this model, I'm not treating Jawbone's servers as an API, they are simply a "syncing service" that exists to push data down to my own server. This also simplifies things greatly for Jawbone, since they don't need to worry about building mobile apps or websites, they can focus on building great hardware.
Once I've set up many devices to push data to my personal server, I may want to share some parts of it publicly or with a social network. I may also want to see aggregate graphs of weight data or step counts, or correlate my sleep data with the air quality of my home.
This would all be accomplished by having separate aggregator and separate analysis services. I would selectively grant them access to the data on my personal server using a framework like OAuth 2, where they would be able to pull out the pieces they need.
Creating this "indie web of things" is hopefully not too far of a stretch given the foundations we're laying with the building blocks of the indie web.
You can start by getting your own domain name and backing up your personal data to your own server. Until this new ecosystem exists, you can get a head start by downloading your data from APIs like Jawbone and Fitbit, and storing it on your personal server.
This post details aspects of the IndieWeb community, a community of people who own their data and their online identity. We're currently focusing on this type of architecture for the web, starting with what we've been calling POSSE, publishing content on your own site and syndicating to sites like Twitter and Facebook.
Aaron Parecki is known for having tracked his location at 5 second intervals since 2008, tracking many other types of personal data, such as sleep, weight, heart rate, personal weather and air quality. He is a proponent of data ownership, and uses his domain as his own personal data store and indentiy provider. Parecki founded IndieWebCamp with Tantek Çelik and Amber Case in 2010. Previously he was the co-founder of Geoloqi, a location-based software company acquired by Esri in 2012.
Parecki currently works as the CTO of Esri Portland R&D Center. His personal data collections have been featured in Wired, Fast Company and at conferences around the world. You can follow him on Twitter \@aaronpk or on his own domain, aaronparecki.com/notes
It's no secret that I like to collect as much personal data as possible. I've been tracking my location since 2008, tracking my sleep and weight since 2011, and have kept exact mileage logs every time I filled my car with gas.
You may think I have some crazy obsession with collecting this much data and will do anything it takes, but in reality I'm pretty lazy about it and look for low-friction solutions or I can't sustain the project.
Below is a collection of types of data I collect and an explanation of what I used before and what I use now which lets me sustain this data collection.
In most cases, I've tried two or three setups prior to being able to collect personal data consistently. The main difference between the setups is the amount of additional energy required over not doing the data collection it requires.
In 2007, I tried collecting GPS logs persistently. Since there were only one or two phones with a GPS chip, I looked for other options. I found a hardware GPS logger made by SparkFun which recorded data to an SD card. This was great because it was battery-powered and super portable. The problem was that it was yet another device I had to charge, and in order to get the data off of it I had to remove the SD card and download the data into my computer every night.
I lasted about one week carrying this device around, and ultimately could not sustain the project. It was too much work to charge another set of batteries and sync with my computer every night. Even though I really wanted the data it was too much work.
In 2008 when my cell phone contract was up, it was time to look for a new phone. I knew I had to find a phone with a built-in GPS chip so that I could persistently log GPS data. There weren't many options at the time, so I quickly settled on an HTC phone running Windows Mobile 6.5.
This was the thing that made it possible for me to sustain tracking my location! The phone would continuously run an app in the background that automatically uploaded data to the server. The only thing I had to do was to make sure my phone stayed charged, no other actions needed.
Since 2008 I've gone through an Android phone and am now using an iPhone 4S running the Geoloqi app.
I've been able to keep tracking my location from my phone continuously since 2008! The only times I'm missing data are two times my phone ran out of battery and I wasn't carrying a spare, and a few airplane flights. With the data I've collected I've been able to generate interesting images of Portland and other cities I've spent time in.
The reason I've been able to sustain tracking my location is because this setup requires very little effort to maintain. The data is automatically collected and uploaded without any interaction from me.
For the longest time I've wanted to track how much and when I sleep. I've tried a few things in the past.
I've tried keeping a notebook beside my bed where I write down the time I get in bed and the time when I wake up. This method works ok, but has some major drawbacks. Turns out this actually requires a bit of activation energy to remember to do this every night. Also, I had to do another data entry process to get the data into a computer later. It's also not entirely accurate since really it only represents the time I get in bed, not necessarily the time I actually fall asleep.
The Sleep Cycle App is actually pretty good. Not only does it track how much you sleep, but it can also be used as an alarm clock which wakes you up in the lightest sleep phase.
I used this for a month or two and was pretty happy with the results. The downside is that it requires your phone to be plugged in and placed on your bed but not under your pillow (or it overheats). The difficulty is in remembering to use this every night, and if you're traveling, there is not always an outlet close enough to the bed to use it.
The upside is it's not another device to purchase and maintain. Overall this is a pretty good solution, but wasn't good enough for me to be able to keep using it consistently.
The FitBit is a great little device that clips on to your belt loop and tracks your movement throughout the day. It counts steps, how many floors you've climbed, and how much you sleep. I'm a pretty big fan of the FitBit. It is primarily designed to track exercise, although I got it to track my sleep.
The main disadvantage of using this to track sleep is that you need to attach it to your arm somehow while sleeping. It comes with a little wrist strap that you can wear while sleeping, which works pretty well. The problem is that it takes a few seconds longer than I'd like to put this on at night. It's also awkward to remember to bring the wrist strap while traveling.
The Jawbone Up is great because it's a wrist strap. I've been wearing mine since November 2011, almost exactly a year now. It is pretty much on my wrist at all times. Like the FitBit, it tracks steps, general level of activity, and sleep.
The one downside is that I have to plug it in to my phone's headphone jack to sync. At least I always have my phone on me so it's relatively easy to do so, and it only takes about 20 seconds to sync every week or so.
The reason I've been able to sustain this setup is because the effort required to tap the button at night and in the morning is very low since the band is already on my wrist.
As long as I can remember, my parents have always kept a log book in the car in which they wrote an entry each time they filled the car with gas.
When I finally got a car I decided I wanted to log each fillup as well. Of course, a physical log book would have been sufficiently easy to collect the data, but doing anything with it afterwards would be difficult because I would have had to transcribe the data into a computer.
My solution was to set up an email address I could send an SMS to through my candybar phone.
I simply sent an SMS to the email address with the current odometer reading, the number of gallons I just filled up with, and the amount of the gas purchase. The SMS would look something like this:
323776 12.131 46.33
The system automatically calculated the miles per gallon, price per gallon, price per mile, and added it to a database. Once I had a continuous stream of location data available, I also augmented the data with the location of the fillup.
You can see all the data I collected from 2008-2011 on this page.
The reason I was able to sustain this project so long was because of the simplicity of the data collection interface, a simple SMS.
I've always wanted to keep track of my weight over time. I've tried extremely unsuccessfully to record on paper my weight every time I step on a scale. I've also tried sending an email from my phone to a database. Both of those require too much effort for me to sustain.
The Withings Scale looks like a regular scale. The beauty is that it also acts like a regular scale! Using this to track your weight requires literally no additional effort over using a regular scale!
You step on it and wait for a reading, and it sends the data over wifi automatically. The batteries also last about 6 months, which is pretty incredible since it's got a full wifi chip in it.
I've been able to sustain this data collection because it is almost no different from using a regular scale.
There are still several things I would like to track that I have not yet been able to for one reason or another.
There are several apps and devices that are trying to help people collect this data, but I have not yet found any that are sufficiently low-friction for me to be able to use them regularly.
The Looxcie camera is a good size, but is not designed for ambient use. It looks like a Bluetooth headset which is good, but it's still somewhat awkward to wear constantly.
The Memoto Lifelogging Camera appears to have the best chance at succeeding at being a lifelogging platform. The one major drawback, which for me is most likely a dealbreaker, is that you have to manually plug in to a computer to sync the data. If their next version contains any sort of wireless syncing capability I would almost certainly buy it!
If you have any suggestions of devices or apps you've used to log additional data, I would love to hear about them.
The main reason I've stopped using any of these products or apps is because they require just a bit too much overhead or maintenance.
It is a challenge to find the right balance of features and ease of use, but some of these products have nailed it better than others.
Products that require no additional effort are the best. Products that require no additional effort over normal use like the Withings scale are a good next step.
If your product requires me to follow another set of obscure usage rituals or has another set of batteries I have to charge every day, then I probably won't use it. And if I won't use it, then probably nobody else will either, since I think I have a pretty high tolerance for annoying interfaces.