I am back from Tech Field Day 20, a very rich event both in terms of content presented and in human interactions. During Tech Field Day events, each presenting company shows their product, which includes the interface(s) with whom users will interact. Another aspect of those presentations is how data insights are exposed to users.
In this non-technical writing piece, I will be covering some of my thoughts on the matter not only of data visualization, but also some more about user interfaces.
Bear in mind that these are my thoughts, I am not an expert on those matters.
Setting The Stage
We tend to use this term to refer either to the ability of interpreting data, or to the ability of the application to properly show data.
To me, data visualization refers to the ability to visually represent -and interpret- various data sources. This implies the ability to gather data, to collate metrics together, and present them in away that makes sense. Over the years, it seems that “data visualization” has evolved more into “data contextualization, interpretation and visualization in the form of a graphical / schematical representation” (we’ll come to this later).
User interfaces, on the other hand, determine how the user interacts with an application. The interface can be graphical (GUI, for Graphical User Interface) or text-based (CLI, for Command Line Interface). Other interfaces can exist.
Does showing data qualifies for data visualization?
That’s where it gets tricky. Almost every user interface shows some data. A CLI command or API call will return some data. A GUI will show you an interface and maybe even some data.
Does showing data qualifies for data visualization? The image above (from the Unix / Linux “top” utility program) provides data. So yes, we are visualizing data. But we are not yet interpreting it. Also, while we can “see” the data, this isn’t much of a visualization in the sense of a graphical representation.
In the view above, we are now looking at basic data visualization – in the sense of a graphical representation of data. On the left side, we can see visual usage indicators combined with actual data and percentages. This is providing the user with an understand of resources usage.
At this point, we know that something is using almost two thirds of the system memory, and that slightly above one quarter of the system CPU resources are being utilized.
Before we get to the point of interpreting data, I would like to make a detour in the world of user interfaces. UIs are extremely important, because they are the gateway to a program functionalities.
Readability, Accessibility and Usability
These are in my view the three key elements of user interfaces. User interfaces should be readable (more on this in the next section), accessible, and usable.
By accessible, the developers need to make sure that they can address the physical needs of their user base. There is certainly a ton of materials available out there. If you think about just a few, a lot of people using computers have visual impairments of some sort (wearing glasses due to visual acuity; vision loss, color blindness, etc.).
Most infrastructure management / monitoring programs are based on the Green / Amber / Red visualization system. Green = OK, Amber = Warning, Red = Alert. Color blind individuals should have the ability to customize their user experience.
The UX Design Collective has an article dedicated on tackling color blindness in UIs.
Magnification is another accessibility point. With age, visual acuity decreases, and users need the ability to scale the fonts on their system and tools. Other users are confronted with acuity issues since birth or their young age, so user base age isn’t an excuse. I am also not covering the topic of full blindness – and other impairments – properly, since I have no first-hand experience with it.
Rich UIs vs Simple UIs
It’s never an easy act to balance an interface with the need to provide actionable insights, and to provide deep-dive information.
Graphical user interfaces tend to want to show a lot of things, and end up not showing anything usable at all.
I am of the opinion that the home panel should show only key metrics and critical information (alerts, eventually warnings), with the ability for customers to customize their own views if needed.
One last point before we move to the original premise of this article – Data Visualization – is the consistency of user interfaces. This can be heaven, but it’s mostly hell.
Consistency is expected across the entire experience, this relates to typefaces (fonts), font sizes, color-coding in the interface, as well as color themes.
One item that gained popularity over the last years is the (in)famous “dark theme”. Some users can’t live without it, others don’t care. Nevertheless, the most staunch adopters claim that dark themes relieve their visual fatigue.
Vendors that adopt dark themes should be consistent in their experience. Providing a bright white portion of their interface in the middle of a dark theme is like flipping the bird in the face of users.
Lastly, system messages, dialog boxes, wizards and other parts of the experience should be consistent, especially when the software / management piece used is part of a larger suite of tools.
It took a long time to come to this part of the article, but finally we are here. as I wrote in the first part of this article, data visualization has moved away from just showing data in a graphical fashion.
Technology has moved forward enough for data visualization to become context-based and subject to interpretation by the software itself.
For example, looking at application latency is a single-dimensional metric. We may notice that our application lags. How do we drill down to it? Adding CPU usage may or may not indicate a correlation (or causation) between both metrics. Adding network latency may give more indications, and finally looking at memory and disk statistics may help us understand the root cause.
But will this view work? This requires putting together five metrics, each with a different measurement unit. It makes indeed more sense to find a synthetic way to visualize the components of the application to indicate what the culprit is. A layered, visual top-down view of the application may show which layer of the infrastructure is impacted.
If we were talking of a network-induced latency, another visualization, showing the different network routes / segments may work better, by visualizing the latency at each part of the network, whether internally or on the cloud.
Data Visualization can be varied
Data visualization isn’t just about monitoring tools or system management interfaces. Data visualization is essential in providing context and understanding.
They key takeaway here is that there is not right or wrong in Data Visualization, except that the data provided needs to make sense to the user. A great example of showing data is understanding the data flow within an application.
Visualizing a network topology is also a great use case for data visualization.
The truncated visualization above shows metadata about documents and isn’t at all related to IT, but it would perfectly suited to an infrastructure topology. The dots could be network switches, physical locations, DNS servers or any other element that constitutes an entity talking to another one.
Showing things on the screen isn’t the same as data visualization. Or rather, it technically is data visualization, but a pretty lame way to show data. The value of data lies in the ability to interpret it and present it in a meaningful way.
For this reason, it’s important to distinguish between user interfaces / graphical representation of metrics on one side, and data visualization on the other side.
Data visualization should be a rich experience that goes beyond “here’s what the CPU usage is at”. Data visualization should tell me “here’s where your system is loaded, and where this issue is happening”, in a clear, direct fashion, without having to drill down a dozen of pages to find out.
Those who are able to present the data in the way that users get the proper context, as well as actionable insights, are those best placed to win the hearts -and the business- of their customers.