Improving the user experience with a technical solution (Chart magic invention)
Improving the user experience with a technical solution (Chart magic invention)
As a Designer at IBM Industry Solutions (2014)

Let me tell you about my first foray into data visualization, shortly after I took a formal design role. The visualizations were basic, but the story was in deciding which one to show at any given time, to meet a user need. I invented a technical solution.

Human and business problem

For each Water use case (details are unimportant here), the user would specify which data to display on a map, in a list, and in a chart -- all were kept in synch because we were determined never to make users enter redundant criteria. (I co-authored US Patent 9158789). 

Furthermore, I decided that users shouldn't have to specify what kind of chart they want, or other charting details, unless they want that level of control. One of the personas was a Water Utility Asset Manager using our application for work order scheduling -- fiddling with charts wasn't a top priority, usually.

Surely, the system could infer the user's intent from the data selection dialog, then display the "best" (or a reasonably useful) visualization of the data that the user selected. It had to be programmable at a reasonable cost to our product development team.

Design approach

But what's the "best" visualization in each case? My first move was to find two authoritative books on data visualization best practices, outline each one, and share the summary with my design colleagues. 

  • Information Dashboard Design: The Effective Visual Communication of Data (Stephen Few)
  • The Wall Street Journal Guide to Information Graphics: The Dos and Don'ts of Presenting Data, Facts, and Figures (Donna Wong)

I wanted to give users a "choose for me" option that would pick the best chart to visualize the data they selected. But how? My engineering degree kicked in to help me to solve it.

I figured out the decisions for making a chart, such as the chart type, chart title, chart labels, the y-axis variable, and the most useful x-axis time units (if applicable). 

For each decision (chart variable), I figured out a novel way to infer the user's intent heuristically from the data selection settings -- for example, in seeing close that a user wants to compare some variables to one another.

I wrote pseudo-code and a truth table to convince the engineers that is was feasible to map the user's data selection settings to a "best" chart to display. Engineers implemented my "chart magic" logic in Javascript with a database lookup table. We ended up submitting a couple of invention disclosures.

Chart_magic_mapping

Summary of logic behind "Chart magic"

Human and business outcome

Intelligent Water Version 1.0 shipped with "choose for me," offering quick, easy charting grounded in best practices. It still bothers me that the legend is in reverse order, especially for the stacked bar chart. This was a business intelligence (BI) tool limitation that I brought to light.

Intelligent_Water_chart_magic

Examples of charts the system might choose to display from smart inferences

Subsequent adventures

I quickly graduated to some pretty interesting data visualization problems in IBM Analytics, many about visualizing analytic results on geospatial maps.

For example, I figured out how to visualize a car's route, including the order and duration of the stops. This was more difficult than it sounds, given "screen real estate" on the map at various zoom levels.