Maps: Lessons Learned
Recently we’ve been adding new user-friendly features to our platform and I’d like to talk about our map view. In particular, I want to discuss the lessons we learned from the map in the first version of the PAF (PatternBuilders Analytics Framework) versus the one in our new Silverlight client.
You may have already seen some screenshots of the map in our AJAX web client – when we released the first versions of PAF, we integrated with Google Maps to help users see their data on a map for quick comparisons and analysis. It’s always been a helpful tool, but suffered from a learning curve for new users and could potentially confuse people due to the way it displayed data.
Showing time series data on a map is a tricky proposition – the map is already two dimensional, and the addition of the two dimensions of time series analytics takes it into the 4th dimension. As exciting as it would be to see a four dimensional map view (we’d definitely be the only company doing it!), I don’t think most human beings would be able to understand it.
Our first version approach was to aggregate all the time series data for a given location into one value, and then display that with an icon for the location. When the user clicked on the icon, it would show a list of data points for the source time series. While it was easy to take in the map view at a glance like this, there were several drawbacks:
- The aggregated values did not have a good link to the grid. A user would have a hard time understanding where the number in the map came from, because looking at the grid wouldn’t necessarily help – especially for complex aggregations (moving averages, % growth, etc…).
- Comparing time series on the map was almost impossible. Even after clicking on a couple of icons, all the user gets are two lists of data points. It’s not very intuitive to analyze data that way.
- Showing many locations on the map at the same time (20 or more) would result in a big mess that forced the user to re-query. The overlapping icons and numbers would make number comparisons impossible, and users wouldn’t know which icon to click on because there was nothing to indicate which grid row each icon referred to.
Therefore, with all of these things in mind, the new version of the map view is a bit different.
The first thing we did was turn the icons into the familiar hierarchy/business object displays from the grid. It made the icons very wide, but we found that even when showing many of them overlapping, it was much easier to pick the ones of interest. Our first iteration also threw away the number listed with each icon – since users didn’t understand where it was coming from, it was ultimately useless. Eventually we settled on a better approach: we would show numbers by the map icons, but they would be all for one date – allowing users to see a slice of data at a given time for all their geographical locations, with a slider to control which date to select. It paralleled nicely with the chart, and allowed quick comparisons between locations without having to move your eyes between the grid and the map. Also, controlling the value using the slider added an intuitive way to peek into the 3rd dimension without complicating the map visually.
Clicking on the locations now did two things: it brought up a chart showing the data series for that location, and it selected the appropriate row in the grid. This presents the best of both worlds – on the one hand, taking in two charts at a glance is very intuitive, and on the other, the selected grid rows make it possible to do in depth analysis should you want to. You can see this behavior in the first screenshot above for the Illinois location.
The new map view also fully supports streaming data, just like everything else in our UI, displaying results as soon as they come in from the servers.
We take user feedback very seriously. If we can cut down on learning curves or confusing interfaces by implementing the results of those discussions, we can move closer to our goal of an analytics tool for absolutely everyone – not sacrificing power for simplicity or vice versa. I’m sure showing analytics data on a map isn’t necessarily a new idea, but when your goal is easy, flexible, robust, intuitive exploratory data analysis, you have to listen to your users to do it right!
Entry filed under: big data, General Analytics, PatternBuilders Technology, Technology. Tags: analytics, big data, Google Maps, PatternBuilders Analytic Framework, Silverlight, streaming analytics, Technology, time series data.