Created

28 February 2011

Motivation

A growing number of online tools, known as personal informatics applications, cater to “data junkies” who want to track and reflect on various aspects of their lives — from exercise (runkeeper.com) to sex (bedposted.com). Recently, personal informatics applications have proved effective at helping patients meet health goals, such as managing a chronic illness like diabetes. However, most personal informatics tools are specific, targeting a particular aspect of life, or a particular health concern such as weight loss or diabetes management.

In the School of Interactive Computing at the Georgia Institute of Technology, I had the idea to develop an open-ended, flexible infrastructure for creating personal informatics applications. Why not create a system that can be tailored towards the needs of a particular population, such as body builders or individuals living with diabetes, as well as allow “generalist” data junkies like myself to track a variety of data all in one place? This is the idea behind Salud!, a personal informatics platform and suite of tools which I have been developing over the past two and a half years.

System Description

Salud! is an open-ended platform for building personal informatics applications. Through an easy-to-use API, it provides login management and a backend data store for researchers and individuals who are interested in building custom tools for tracking and analyzing personal data. My team and I have also made available several simple data entry tools that allow users to record data into their accounts. Many of the usual suspects are available: an iPhone app, a text messaging service, and a mobile site.

The centerpiece of the system is a web-based data review and analytics application written in ActionScript and Flex. This tool allows end-users to create templates for the data they will track, review and edit the data in their account, and analyze their data on charts and graphs. Individuals can also share the data in their account with trusted experts — nurses, nutritionists, or personal trainers — who can help them make sense of the data in different contexts.

Why ActionScript 3 and Flex?

The main reason I chose to use ActionScript and Flex to develop the Salud! data analysis application is the availability of a robust and extensible library of charting tools. The Flex Visualization Toolkit makes it easy to chart temporal data, which is key to any personal informatics application. In the course of development, my team and I have dug deep into the nuts and bolts of the available visualization tools to create a variety of custom solutions ranging from a novel axis labeling algorithm to designing custom data tooltips (see Figure 1). Using Flex, we have been able to develop an intuitive, customizable interface for charting in Salud!, which allows users to drag-and-drop their data into the charting area (see Figure 2).

 ActionScript’s native support for XML also makes it easy to interact with the Salud! API, which uses XML to represent users’ data. Flex’s good support for web services and the availability of an Action Message Format (AMF) service for Drupal has allowed us to use the popular content management system for secure, dependable user management.

Looking Ahead

Salud! is currently available both as an application for end-users, and as a resource for researchers and developers who wish to create custom personal informatics applications. Our team is working to improve the mobile data entry applications, as well as to extend the Salud! API to improve support for automated data services.

The application is currently in use by several hundred users from all over the world, and is the official data tracking application for individuals and personal trainers participating in several fitness initiatives at the Georgia Institute of Technology.

Links

Salud! Application and Demo  — Try it out!

Salud! API Documentation