JasperReports Server Visualization Selector Tool

Summary

Redesign the visualization selector to be scalable and to look more modern.

Problem

The look and feel of the visualization selector was outdated and had poor scalability as more chart types were added. The visualization type icons also looked dated and weren’t optimized for high-resolution displays.

Solution

Rebuild the visualization selector from the ground up using components from our new component library and create a new set of visualization type icons.

Constraints

Many of our customers embed parts of JRS into their own applications. We needed to ensure that a host application’s CSS didn’t affect the presentation of our visualization selector.

Define Structural and Behavioral Requirements

The old visualization selector had a very rigid design that made it incredibly fragile. New visualization types are frequently added to the selector, and it wasn't originally built to flexibly handle this. We needed to have a flexible structure that could handle an unknown number of visualization types. Because the number of visualization types was constantly growing, we also needed to make sure users could easily find a specific chart type in a large list of chart types.

Incorporate Existing Components

We had already built our own component library containing components that lent themselves well to a more modern-looking visualization selector. We planned to stick to a similar structure as the old visualization selector, so it was just a matter of putting the pieces together. We did play with the placement of various elements during this phase, but nothing new had to be conceptualized for the framework of the selector.

Create New Graphics

The icons in the old visualization selector were aesthetically outdated and looked poor on high-resolution displays, so we redesign every icon. All three designers on the project designed and created these new icons in Sketch. We used the SVG format so the icons looked great on both standard- and high-resolution displays.

Prototype

Interactive prototypes were constructed in InVision because we needed to show the desired functionality to stakeholders before the design was handed off to developers. These prototypes also served as a reference for the developers and QA as the selector was being built and tested.

Build the Design

We had a central branch that was the source of truth for all the components. Within this branch it was standard practice for me to construct complex components as a resource for developers. Following this practice, I put together the pieces of the visualization selector and handed it off to developers.

Final Design

Other Team Members

  • 1 Product Manager
  • 1 Project Owner
  • 2 Developers
  • 2 UI/UX Designers
  • 1 QA Engineer

My Contributions

  • Designed building block components
  • Created icons
  • Built clickable prototypes
  • Constructed the design in HTML/CSS
    or handoff to developers

Tools and Methods

  • Photoshop
  • Sketch
  • InVision
  • HTML/CSS