Tuesday, January 27, 2009

Chernoff Faces and Data Visualization

While we might have a good feel for what makes a good UI, few of us give much thought to the niche are of data visualization.  Too often we’re content to present users with drab boring datagrids and lists.  While on one side there is the issue of familiarity (everyone has seen tables), the usability of grids for slicing and dicing data is limited at best.  Filtered columns, sorted columns can only get you so far, and certainly don’t provide you with a “feel” for the data.

Having just finished reading Blindsight by Peter Watts (freely available online – not too bad, with an interesting central idea looking at the potential for self-awareness to be unnecessary for intelligence), one of the characters makes use of Chernoff faces to visualise data.

Chernoff faces are an attempt to make use of the special brain circuitry that we have for recognizing faces in the context of data visualization.  The idea is to present the user with a field of stylized faces, associate a specific data dimension to a facial feature, and let the brain do the rest.  The below example maps data onto a real geographical space, but that is not strictly speaking necessary, the map could have been a set of two dimensional data of more abstract nature.  Using the following key to map facial features:


You can for example sweep your eye across the map looking for all the “big eared” faces to give an idea of crime rate.  Or you could look for “frowning faces with big ears” (which would map to high unemployment and high crime rate).


(image from http://gis.esri.com/library/userconf/educ04/papers/pap5000.pdf)

(for another interesting example, go to http://kspark.kaist.ac.kr/Human%20Engineering.files/Chernoff/Chernoff%20Faces.htm)

While not bad on paper, it appears the applications are quite limited, and the data still doesn’t “jump out” at you, as well as the difficult issue of non-intuitiveness when dealing with abstract data sets (what facial feature should be “average sales”?).  Your mileage may vary – it still seems quite good at performing visual searches for specific patterns (for example consider the lot of faces with brown skin and short hair – higher percentage of collage graduates, but with lower incomes – what gives?) .

Regardless, this is but one attempt at visualizing data in a non-tabular way.  There are other stabs at doing this, some which even add motion to the visualization to suggest another data dimension.  Consider “Anymails” where email is visualized as various critters moving around in the visual space – older email moves more slowly, and various characteristics of the email are encoded into the shape/color of the insects:


(from http://carohorn.de/anymails/, there’s also a video of the application in action there, I believe)

Why am I bringing this up? Well it’s all to do with with the trend we’re seeing in UI technologies.  Silverlight and WPF are both platforms in which animation and custom drawing are readily available, giving the freedom to easily create “compelling” user interfaces that may give us the ability present data in a more intuitive way, as well as interaction options that would have been too “expensive” to create in the past.  This will require more focus on what the users are trying to achieve as opposed to regurgitating the same dropdowns and text-boxes.  It will take years for this trend to develop, as the area appears to be largely unexplored in mainstream software design, and would be classified as risky. 

Regardless, creative thought in software engineering is back, and we should use the flexibility of SL and WPF to bring users the UIs that will give them truly better productivity, not just proxies of paper-based processes – Minority Report UI here we come!

No comments: