The client, a section of a large local tech company, monitors customer satisfaction and oversees the help queries from customers who have purchased their products. In order to improve customer satisfaction, the client uses a large fleet of reports that can display anything from aggregated customer rating data to support engineer capacity.
My job for this project was to make a design system for this large set of reports. Something sophisticated yet replicable, and easy to identify as part of the brand. But more than that, the reports must stay as reports: they must increase comprehension speed while decreasing mistakes while reading.
Each report was unbranded and unmoored, and switching to a different report meant figuring out how it worked all over again.
The client's reporting system was a complex collection of different datasets and unique reports. Our company MAQ Software was hired to clean and maintain their data—but better data alone is not enough to make a better set of reports.
In the beginning, this massive collection of reports followed an inconsistent style. Typically individual report owners created their reports without consulting others in their teams, so each one looked different. This meant that each report was unbranded and unmoored, and switching to a different report forced users to figure out how things worked all over again. Aside from the data cleaning and maintenance our company was tasked with doing, we also had to create a design system, nearly from scratch.
The overarching theme for these reports, both design- and data-wise, was "faster, cleaner, compliant." Initially this only applied to the data side of things.
Based on talks with the clients and the overarching theme, I outlined three goals for the report designs:
Create a set of templates and supporting documents
These should ensure consistency, encourage the use of reporting best practices, and could be easily updated based on changing requirements.
Put a higher emphasis on usability and accessibility
The reports made from the templates should be easy to use and must be accessible, particularly for the team members with visual impairments.
Merge the parent company's branding with the client's individual team branding
These reports should have a clean design that aligns with the client's branding.
With this, I was able to iterate over possible systems. I worked closely with both the clients and the engineering teams to make sure that it suited both their needs.
Power BI is limited when it comes to customizability
It's a great tool for data visualization, but extra design elements on top of data can slow page load times. Additionally, UI elements are not as customizable as traditional HTML/CSS.
Privacy and accessibility began to clash
Because of the limitations of Power BI's accessibility features, some users with vision impairments need to find workarounds to read their data. For these reports, hover, those workarounds would violate GDPR.
Through a series of client interviews, heuristic walkthroughs, and research, I came up with solutions that ranged from the generic to the unique.
A good visualization does two things: it reduces user bias and increases comprehension. Basically, visuals should allow users to see trends quickly and accurately. Based on these goals for our visuals combined with our understanding of human perception, I was able to hammer out rules for choosing visuals and creating reports.
Straight lines and simple visuals are typically better, allowing users to focus on and easily compare data points. After all, humans will always be better at estimating the difference in length between two straight lines than guessing at the difference in area between two pie slices. (Or at least, we will be until we install computers into our brains or evolve.) Readability for visualizations is key in deciding what stays on the page and what gets removed—for example, including data labels provides accurate information quickly, but including them when they start to overlap and bunch together slows down the user's ability to parse the data.
Data colors also add a new layer of complexity to reports, especially when considering colorblind and low-vision users.
For data colors to be accessible, they need to follow the contrast ratio rule for large shapes, at least 3:1. However, since there may be many data colors interacting with each other on the page, it would be impossible to always get that 3:1 ratio with both the white background and the other data colors. In cases where there are multiple colors in a visualization, the 3:1 rule between adjacent colors should be prioritized, as opposed to contrast with the background, and should be checked with colorblind filters. For these reasons, many data color palettes, including the default palettes for Power BI, tend to follow a light-dark-light-dark pattern.
Furthermore, red and green are popular indicator colors for data but may not accessible for colorblind users. Red-green colorblindness (protanopia) specifically is the most common form of colorblindness, meaning that users with this type of colorblindness wouldn't be able to distinguish between positive and negative indicators. The solution to this has two parts. First, I recommended having the indicator displayed in two ways rather than just via color where possible. This can be done by pairing the color with a shape or text. Second, I adjusted the hues of the red and green so that when viewed under a filter, they were distinguishable.
As one might guess, these rules limit how colors can be added to the palette. So what should I do?
In this case, the best tactic to get an ideal palette was to provide several color options for the client to choose from but also to educate about how they needed to select from a limited number of colors, which would ensure these reports were accessible to users with visual impairments.
In the end, I created a color palette for the data that includes 8 core colors (as allowed by Power BI) plus 22 extended colors for larger datasets. On top of this, after interviewing and researching the team's report usage patterns, I assigned special colors to select metrics that appeared to be the most important and most frequently used.
As one might have guessed from the previous section, there was a large focus on accessibility for these reports (hooray!) especially since The client company has stricter accessibility policies than most and has team members with visual impairments that we were able to speak to. Of particular concern was keyboard accessibility for Power BI, which is a great tool for creating and displaying reports but is not quite as keyboard-friendly as one would like. To the best of my ability I gathered information and resources and provided instruction on how to make Power BI reports as accessible as possible. Certain oddities keep Power BI from being fully keyboard accessible, such as a lack of hierarchy (imagine a web page with no H tags) and tables that can't be traversed the way HTML tables are.
In fact, the non-HTML tables caused a pretty big headache for a user who was blind and couldn't traverse their data properly. As a pretty good workaround, blind users will usually download tables from Power BI as Excel sheets, which are far more accessible. However, much of the client's reports contained Personally Identifiable Information (PII).
Why is this a problem? Well, not only was the client conscious of report accessibility, they also cared about data privacy and international compliance to data privacy laws. This means that under laws like the General Data Protection Regulation (GDPR), users cannot download and keep data that contains PII.
To the best of my ability, I created the design system while trying to balance opposing forces like these. But one of our greatest tools was also our greatest constraint. Power BI, as a tool, provides an easy way to create reports and visualize data, but like many web applications and websites, could still use some improvement when it comes to addressing accessibility concerns. While we were able to provide that user with a workaround, it would have been better if they were able to complete their job as smoothly as their other coworkers out of the gate. As far as I know, Power BI continues to grow and is actively trying to resolve some of these issues, but we're still a ways away.
In the end, the design system for The client became one of the most comprehensive our company has put out. Furthermore, this system elevated the standards for design across our company, and has continued to have a positive impact on our team.
The final design system contains a live link and written document, as well as a JSON file that controls report theming in Power BI.
The project, however, wasn't quite done after that. After the design system's completion, I led our UX team in using that system to create mockups for dozens of reports. We also trained the client teams on how to use these reports and associated technologies and created PowerPoint decks. After development, I also led the teams in reviewing the reports.
Increased report usage
The reports saw an increased usage numbers on individual report levels, meaning that users who had previously resorted to downloading data to manipulate in Excel were now engaging with the reports we created. A few specific reports from this project rose in the usage ranks amongst reports across the client company to be in the top 10.
Streamlined design processes across our organization
The success of this project caused our company to invest more time into crafting the right design systems that are easily understood by engineers, using my documentation and setup as a template for future systems.
Better adherence to accessibility guidelines
The awareness and support for web accessibility in our company grew far beyond this project, and our teams began leveraging the accessibility guides I wrote in our other projects.
One of my favorite things about completing this project was the impact on other projects our company worked on moving forward. Our company worked on a lot of projects, but didn't keep centralized guides and systems in accessible places for the design and engineering teams, which slowed down our workstreams. This made the work process slow and inconsistent. The client's new design system was a good introduction to design systems for our company, and allowed me to convince our company of their importance.
Overall the client was pleased with the designs and reports we gave them, and the new reports were adopted very quickly. These reports were able to increase efficiency for those using them, and made it easier for users to find their data. More than that, completing the design system made the developer's jobs much more efficient since all the design resources were collected in one place, compared to the more ad-hoc approach our company used to take when undertaking a new project.
Later, the UX team at my company starting using this design system as a template to create more design systems for new projects. This allowed us to not only make reports better and in a more timely manner for these new projects, but also to incorporate the usability and accessibility standards that were so important for this client's design system.