Everybody appreciates the value of a good picture. Each one says a thousand words, after all, or so the saying goes. If we really dig in to this metaphor, we’d probably admit that some pictures say substantially more than that – while others probably come in well under a dozen (just look at a random Facebook wall for some examples).
Ours has become a very visual culture, and one occupying a place in time defined by an overwhelming abundance of information all around us. Considering these two facts, it is not at all surprising that we see such an increased interest in data visualization – that is to say the process of placing a particular, specific set of data points in a highly visual context that allows it to be quickly consumed and analyzed.
It’s not a new concept; data has been visualized in pictures for centuries. A map is a type of data visualization, for instance, as are the many charts and graphs that have been used since the end of the 18th Century. What is new is the massive quantity of data available to nearly everyone, and the wide array of tools that can be used to create compelling visualizations. Think about the cool infographic you saw the other day. Was it created painstakingly over several days of carefully reviewing ethnographic data compiled by a dogged scientist over the course of his career? Maybe, but probably not. It was more likely created by some marketing department somewhere (not that there’s anything wrong with that) using somebody else’s data and somebody else’s visualization tools.
The purpose of this post, though, is not to discuss the merits of data visualization in general, but rather the specific subset of data visualization that deals with real-time data. This is a completely separate species of data visualization and should be treated as such.
Real-time data visualization refers to visualization of data that is continuously updated as new data is generated by connected devices or people. This is the type of data that is used to make real-time decisions and, when done correctly, can truly transform business processes.
There are a number of important factors to consider when attempting to visualize data in real time, but we will focus on three simple and obvious keys: clarity, consistency, and feedback.
Real-Time graphics should emphasize pertinent information and use design principles that promote ease-of-use and accessibility above aesthetics. Things like size, color and brightness can be used to distinguish primary details from secondary and tertiary details. Special graphics can be created to emphasize different information under different conditions (i.e. a special set of graphics to be used when a certain alarm is triggered).
Clear visualizations provide actionable information at a glance, and clearly show the current process state and conditions. Alarms and indicators of abnormal conditions are prominent and impossible to ignore.
Clarity encompasses both content and context.
Consistent visualizations are standardized and consistently formatted. Interaction requires a minimum of keystrokes or pointer manipulations.
Shapes, colors, and layouts should be used consistently through all screens. If the color red is used in one place to designate an abnormally high value on one screen, that same color red should be used to indicate all abnormally high values of the same type on all screens. If navigation buttons are on the left side of one screen, they should be on the left side of all screens. A consistent visualization system is arranged in a logical, hierarchical manner, allowing operators to visualize both a general overview of the system as well as more detailed information on different components as needed. Navigation and interaction of any type should be as easy and intuitive as possible.
Consistency is closely related to clarity.
An operator should be fully confident that the choices they make are having the desired effect. Screens should be designed in a way that provides information, putting relevant data in the proper context. Also, important actions that carry significant consequences should have confirmation mechanisms to ensure that they are not activated inadvertently.
Controls will function consistently in all situations. If something is not working as it should, that fact should be immediately obvious and undeniable. In a well-designed system, design principles are employed to reduce user fatigue.