Tanium

Reporting & DashboardS

One of the most advanced data visualization tools in Cyber Security

Preface

For those who aren't aware, Tanium is one of the world's leading Cyber Security & Endpoint Management platforms. Tanium protects over 50% of the Fortune 500s, every major branch of the US Military, and a considerable portion of the world's more critical infrastructure, including banks, hospitals, and utilities.

Tanium is unique in that it gives enterprises command and control over their entire digital estate. Unlike its competitors, which require a massive amount of compute and storage to detect and process vulnerabilities, Tanium can detect and remediate threats, on practically every device, in near real-time on the edge.

Overview

Considering the nature of our business, it was important for the company to build an in-house data visualization tool that would give complete control of the code vs. using a 3rd Party tool. Taking this path gave us complete control of the security of that code and also allowed us to massively expand our data viz capabilities in the same effort.

While Tanium has always had the ability to pull a massive amount of telemetry data, until this point, Tanium was limited in data visualization capabilities. We need to expand the system's flexibility and give the users better tools to extract useful information that could be used to protect their environment.

Objective

To build a world-class, in-house, completely flexible, embeddable data visualization platform.

Team & Role

UX Team / Sr. Product Designer

Responsibilities

Product Design, Interaction Design, Visual Design, Design Specs, Customer Feedback Sessions, Dev & QA Support, and Requirements Ideation.

CONTRIBUTION

My contribution to the project was to maintain our limited data viz product while producing net new designs for a completely new data visualization system. I produced product designs, participated in customer feedback sessions, established interaction models, produced specs, worked with developers during the development and iteration phases, assisted QA with testing, and worked with product management to define and refine the product roadmap.

This project was part of a coordinated effort of three separate projects being built in parallel. Aside from building the Dashboarding capabilities, I  worked with the Reporting team to determine the best way to pipe in the data. I also worked with the charting team to create a responsive charting component library that could be embedded anywhere.

Challenges

Some of the most significant challenges with this effort were around making this system fully dynamic and extensible throughout the Tanium experience. We needed a way to build dashboards on their respective dashboard detail page while also being able to be dynamically injected into a given module or page. We also required each panel and its contents to expand and contract gracefully while getting resized.

Charts EVERYwhere

We needed to build a system that could add charts from the Charting Library to a dashboard or any location in the platform, so we added the ability to invoke an "Add Panel Modal" from anywhere in the platform vs. sending the user to a standalone page. Below is an example of the Panel Add Modal and its various options.

Standalone & Embeddable

Not only did we want to allow the charts to be embeddable anywhere, but we also wanted to provide the same ability for dashboards. We componentized the dashboard object in such a way it could be easily dropped into the homepage, in a module, or in its standalone dashboard page.

Design Specifications

Considering the breadth of the project and how many developers were working on the project, I made sure to provide a clear set of specifications and requirements to help add context to the design. I provided descriptions, interaction notes, CSS styling, navigation, and requirement details that complimented the Requirements Doc the PM authored.

COMPONENTIZED PROTOTYPE

Considering how massive this project was and the various teams working on the project simultaneously, I produced my designs in a componentized way that allowed me to make huge changes across all of the use cases by updating the respective component and republishing the project.

While this saved time from updating components one by one, it also added a ton of compute overhead to the design program. Overall it was definitely worth the tradeoffs but worth finding a more efficient solution next time. This centralized route also helped add context for the Devs & PMs when needed.