The Quantified Tube

My TV has its own twitter feed now, capturing my TV watching habits, backed by a Belkin smart switch and IFTTT.

My TV has its own twitter feed now, capturing my TV watching habits, backed by a Belkin smart switch and IFTTT.

One of my (sadly neglected) side projects, code named Worldline, is to discover ways to automate the tracking of my daily activities and form an unfolding timeline scaffold of my life, both for personal retrospection as well as quantitative analysis. I track steps, heart rate, and sleep with a Fitbit, geolocation with Moves, driving with Automatic, iOS device usage with Moment, laptop activity with RescueTime, and some health metrics as well. The tracking of specific human activities -- like when and what I'm eating, when I'm showering or brushing my teeth, when I'm lying on my couch reading a book, or sitting in front of my TV watching a movie -- are more difficult to automate. A significant component of my project is to address that problem using RF proximity devices to provide implicit clues to discern what I'm up to: with strategically placed beacons throughout a dwelling, I can determine when I'm present in a particular room, or near a specific object. 

Proximity info by itself, while giving finer brush strokes than geolocation tracking, does not provide enough fidelity to discern whether I'm reading a book or watching TV while I'm sitting on my couch. However, by folding in other tracking devices, such as motional data from a Fitbit, the whole concert of data streams becomes greater than the sum of the individual devices, revealing a finer-grained picture of what is going on. I recently acquired some new tools to add to the orchestral lifelogging lineup that make it relatively easy to track when and what I'm watching on TV. 

With an Apple TV at the core of my entertainment system, you might think it would be straightforward to extract out my viewing history, but Apple doesn't provide this functionality. After a bit of research (thanks to @eramirez for the tip), I learned about trakt.tv from a Quantified Self presentation 'Tracking Media Consumption' by Ian Forrester (@cubicgarden). Trakt.tv is a 3rd party app that integrates with the FireCore aTV Flash Apple TV jailbreak mod, which automatically tracks (aka 'scrobbles') your viewing activity and links it into social networks. On the surface, it wasn't clear to me exactly what raw data is made available to the enduser, either through the trakt.tv API or paid VIP service (which unlocks an RSS feed). 

Although trakt.tv seems worth exploring further, I decided to come up with a solution that can definitely satisfy my data needs (who doesn't like a good DIY project now and then?). My solution has three core pieces: (1) a Belkin WeMo Insight switch to detect when my TV is turned on or off, (2) IFTTT integration, and (3) the IMDB iPhone app

I purchased the Belkin WeMo Insight switch from Amazon for $50, which was relatively straightforward to set up. When you plug it into an outlet, it broadcasts its own WiFi signal that you can connect your smart phone to. Then using the WeMo app on your phone, you configure the device and redirect it to connect to your home's WiFi network. I have found this process can be a bit temperamental (when your WiFi goes down, for example, you have to repeat the steps over from scratch). After setup, I then plugged my TV into the WeMo. For my purposes, the WeMo is always left on, letting me control my TV using the TV's remote as I normally would. When I switch my TV off, the WeMo transitions from an 'On' state to a 'Stand-by' mode (in contrast, switching the WeMo off puts it into the 'Off' state). 

The WeMo app provides a direct route to integrate with IFTTT. Once you have registered your WeMo with IFTTT (assuming you already have an IFTTT account set up), you can then create recipes to capture the times when the WeMo enters any of the three states of 'On', 'Stand-by' or 'Off', and then react to each of those events. I set up recipes to record those events in a Google spreadsheet.

But as anyone knows who has played around with IFTTT, it's kind of addicting and so I decided to also set up recipes to send out tweets when my TV is turned on or off. For this I created a separate Twitter account: @jamieinfinityTV. Capturing data in a Google spreadsheet is useful, but being connected to Twitter opens up other possibilities, since nearly every site or app has Twitter integration.

This got me thinking: why not also try to capture the content of what I watch? IMDB has a smartphone app that lets you quickly search for movies and TV shows, and then tap a button that puts that show in your Watchlist. Using an IFTTT RSS recipe, you can then react to each of those events, i.e. if a new show is added to your IMDB Watchlist feed, then tweet the title and link for that show. I sometimes watch Vimeo videos as well, and Vimeo has an IFTTT channel, so I set up a recipe that when I 'like' a Vimeo video, then it tweets the title and link. 

To summarize: when I turn my TV on or off, the WeMo/IFTTT mechanism automatically captures those times, in a Google spreadsheet and on Twitter. However, in order to capture what I'm actually watching, I need to manually search for the show in the IMDB app, and then add it to my Watchlist, which, while not automated, is still pretty effortless. 

The next step is to write some Python and/or Javascript code to aggregate the @jamieinfinityTV twitter feed data and visualize it. My long-term goal is to integrate all of my various tracking feeds together into a more holistic picture of what I'm up to each day.