The past couple of months I have heard much about the quantified self from a number of different sources. As a data person this got my attention first as a curiosity, and then as a potential convert. The tipping point was Scott Hanselman’s podcast with Chris Dancy, the world’s most quantified man.
The promise I am focused on is that merely collecting data will lead one to better and more informed decisions. Or as Radiohead put it: fitter, happier, more productive, comfortable, not drinking too much.
Past attempts to journal, or otherwise document my life have failed due to lack of consistent data entry. Today’s app world now has dozens of services that passively collect data on where you go, and what you do. OK, sounds a little NSA creepy. But the tradeoff is passively collected data. I go to the gym, and later I see it’s been recorded for me.
Another cool thing, especially for a data geek such as myself, is most of these services make the data available to the user, usually as a CSV download. So not only can I use built in data analysis tools, I can download, load, and combine with my own local data.
Here are a few of the app I am using to get started:
- Very detailed
- iPhone app keeps track of movements for passive data collection
- No introduction needed here.
- Manual data entry required
- Very detailed tracking for diet and fitness goals
- IFTTT (It this then that)
- GUI driven data integration with a boat load of popular services
- Simple interface for tracking measurable data (i.e. what’s my weight?)
- Integration with email and text messaging
In the next few posts I am going to share my experiences creating a web application using Bing Maps and Hunch.com’s developer API. An additional step of deploying to as Windows Azure Web Site will be covered.
Source code has been published on GitHub.
The following lists technology used and/or required. Required bits in red.
Concepts / Technology Covered
ASP.Net MVC Web API
I’ll be using ASP.Net MVC Web API to process Hunch.com API calls. This partly an excuse to get some practical experience using Web API, but it does serve a good purpose by hiding application account information from the end user.
Bing Map API
I could have used Google or Open Street Map, and I may yet do so. But for now I am using Bing Maps to keep everything in the MS family for now.
Hunch.com Developer’s API
I was searching for data exposed through and API to make something somewhat useful. I settled on Hunch. I started out thinking about a Twitter application, but Twitter has put up some hurdles to working with their data that make it not worth the effort to overcome.
I have been interested in Hunch since I read a Wired Magazine piece about the service’s co-founder. Hunch has an API that I was looking for. Using Hunch I could locate recommendations on a map, tailored to my tastes.
Publishing Windows Azure Web Site
The last bit is pretty optional, but I am publishing the web application as a Windows Azure web site. This part is simply to get practical experience using Azure services.
Everything in the Git repository is set to run the web application. Because the Web.config has some account information specific to the user/developer, I have excluded the Web.config normally found at the application’s root. Instead I included text file name Web.config.text. Rename the file Web.config and replace the account information with your own to use.