Visual Evidence - Jawbone Blog

Visual Evidence

We live in an increasingly data-rich world. To really understand all that data, you’ve got to be able to visualize it. To see and touch it. Enter JBChartView. We’ve created and open sourced our own charting library to make it easy to create stunning interactive visuals for iOS. Its simple protocols are modeled after a UITableView, enabling even the most novice of developers to feel right at home.



Jawbone Chart View

Jawbone Chart View


The Importance Of Visualizing

Jawbone’s iOS SDK provides developers a native toolkit to access UP data. But, once you have that data, what do you do with it? How do you turn data into meaning?

Here’s a concrete example (known as Anscombe’s Quartet) of how data, without visualization, is misleading, Checkout the following table containing near-identical statistical properties (mean, average, best fit line, etc). Can you pick out the pattern?

X0 Y0 X1 Y1 X2 Y2 X3 Y3
10 8.04 10.0 9.14 10.0 7.46 8.0 6.58
8.0 6.95 8.0 8.14 8.0 6.77 8.0 5.76
13.0 7.58 13.0 8.74 13.0 12.74 8.0 7.71
9.0 8.81 9.0 8.77 9.0 7.11 8.0 8.84
11.0 8.33 11.0 9.26 11.0 7.81 8.0 8.47
14.0 9.96 14.0 8.10 14.0 8.84 8.0 7.04
6.0 7.24 6.0 6.13 6.0 6.08 8.0 5.25
4.0 4.26 4.0 3.10 4.0 5.39 19.0 12.50
12.0 10.84 12 9.13 12.0 8.15 8.0 5.56
7.0 4.82 7.0 7.26 7.0 6.42 8.0 7.91
5.0 5.68 10.0 9.14 10.0 7.46 8.0 6.58

It would be a mistake to assume that the preceding datasets are more or less identical based on their shared properties. Visualizing the datasets in chart form proves to be more precise at revealing data. With minimal code (equal to setting up a basic UITableView), JBChartView is able to visualize the datasets, illustrating their clear differences.



Anscombe's Quartet

Anscombe’s Quartet


A more relevant example is demonstrated when comparing a user’s total step data over a one-year period.




User Step Data_User Monthly Averages

User Step Data_User Monthly Averages


Deciphering components of the data are made possible, as opposed to attempting the same task by looking at its raw representation; specifically, that the user is more active in the summer months. Perhaps, the user lives in a northern climate such as Canada, where staying active year round is a challenge. The user data becomes even more interesting when comparing it to global averages (i.e. friend step data across the same time period).



User Step Data_User Monthly Averages

User Step Data_User Monthly Averages

The orange area represents the average or normal range of steps within a user’s friendship circle. Deviations from the norm are evident. Not surprising, the user falls below the normal range during the extended Canadian winter months (i.e. March, April), as the original hypothesis supports.

Furthermore, each chart may be placed within the context of a friend list, to gain a quick comparison of step patterns across a group of individuals:



User Step Data_User Monthly Averages

User Step Data_User Monthly Averages

The miniature sized charts, termed sparklines (high resolution, small graphics embedded within an existing context), are a demonstrative way to visualize large data sets over time, one example of how JBChartView may be utilized within an application of your own.

It is conclusive that legacy controls such as tables and text views simply do not provide the data revelations required when dealing with the metrics gathered by today’s wearables. The primary goal with JBChartView is to empower developers to begin looking at data in a new way. An added intent is to eliminate the overhead in visualizing data natively in iOS, allowing developers to focus on what matters most, namely the data.

Resource Links

JBChartView : iOS-based charting library for both line and bar graphs.

Anscombe’s Quartet: project showcasing the use of JBChartView in the classic data visualization example known as Anscombe’s Quartet.

Spark Friends: project showcasing the use of JBChartView in the context of sparklines and (fake) user step data.


About The Author

Terry Worona

A senior software engineer whose areas of interest are primarily iOS and Ruby on Rails. A strong supporter of open source software, and an active contributor on Github.