Aperture Design System (Bazaarvoice)

The problem

Bazaarvoice was using an outdated design system that wasn't being consistently updated with the modernised reusable components, UX patterns, and style guides available for Portal and its applications.

All components were built in Sketch, so all the entire Aperture Design Kit needed to be re-built in Figma with appropriate modernisations.

All components are built in Storybook using React.

The vision is to enable a consistent experience for our users. I am committed to improving accessibility, as well as making our components more flexible, and re-designing complex components whilst considering their behaviour, interaction and usability.

Bazaarvoice was using an old design system, and I have been responsible for the new design system that supports numerous products across 8 different teams.

The 5 points of focus are:

  • Accessibility
  • Modernising
  • Tokenising
  • Documenting
  • Improving the existing Aperture Contribution Model
My role

I collated dispersed data and identified gaps in the available data. Due to copywriting resources needed elsewhere, I created all content, for example, the usage of components and design guidelines (these have since been covered by Product Knowledge where needed).

I also built out the Aperture Design Kit in Figma in line with developing use cases across all Portal products. Introducing variants, auto layout, properties and design tokens within an Atomic Design layout has drastically improved the everyday of all of the other designers across the company.

Process

User interviews

In order to further understand what teams needed in the design system in order to help them work more effectively, I decided to carry out User Interviews with people from the Product Trio; Engineering, Design, and Product.

“I can never find real case examples. It slows me down massively as I can only see screenshots.”

Designer

“When I use a component, I find it hard to find out its limitations. There's little guidance for the engineers.”

Engineer

“I often repeat myself a lot when people ask me copy-related questions- I would like there to be a copywriting section.”

Copywriter

It was paramount to understand the needs of all those using the Aperture Design System.

In preparation to scale our products to new markets, I carried out an audit of the existing UI to understand what components can be replaced or removed.

Participants expressed frustration that the design system and Storybook (our developer documentation platform) don't match. None of the participants used the design system as a first point of reference: they always use Storybook because it was up to date. However, as there is no best practice documentation in Storybook, participants explained they were still guessing how components should be used. Due to this, there have been inconsistent experiences created across products i.e. misaligned components, and wrong components used (Radio Buttons instead of Checkboxes) etc.

This has caused significant tech debt that is slowing teams down.

Inspiration

I carried out a significant amount of desktop research in order to assess how other companies have created their design systems. Gauging structure and layout was important. Design systems such as Salesforce Lightning Design System, Material Design and IBM's Carbon Design System stood out.

Information architecture

Information architecture for the design system

Data analysis

The importance of building a new design system has been somewhat misunderstood or underestimated within Bazaarvoice, With the help of others within the Aperture team, I was able to put together the following figures.

Current statistics
If the Aperture team didn't exist, and components had to be made by each independent product team, it would take:
Statistics if the Aperture team didn't exist
The time it has taken for the Aperture team to complete work:
Total time it has taken for the team to complete the work
All in all, the total hours saved for all of the product teams thanks to the existence of the Aperture team is:
Hours saved for the other teams thanks to the Aperture team
Outcome
As mentioned, the Aperture Design System is an ever-growing ecosystem. By following the updated design system and re-using UI components, teams will not only create experiences that are more consistent and intuitive for clients, but free up engineering teams to focus on solving more complex business problems instead of reinventing the wheel for each UI component.

There will also be less bugs for clients, and proven code with a central location for ensuring quality with a suite of tests.

We will deliver client features faster: UI patterns can be easily expanded upon & shared across app teams.

View the updated Aperture Design System here

Accessibility

Improving accessibility for impaired users is of utmost importance. Due to accessibility not being taken into consideration in previous years, I have been working with, and consulting, Engineering on how we can improve our components.  Incorporating tab key order, building out patterns, and creating new states have helped to improve our overall product experience.

I have been using tools such as Stark and ColorBox in order to check accessibility:

Modernising

A number of the existing components are outdated. I have updated components to not only provide an updated feel from a UI perspective, but also to encourage consistency right across all supported products. Due to an existing Engineering backlog, whilst future design changes are available in the assets on Figma, not all component updates are available in production.

One example of this is the Export Menu: existing versus future re-design:

Tokenising

Most of the inconsistency across our products has been caused by a lack of agreed documentation and hard coding errors. In a bid to prevent this from happening in the future, we are optimising components to implement design tokens via the Figma Tokens plugin. I worked with one other engineer to set up the tokens from scratch. The usage of the tokens means there is no need for designers outside of the Aperture team to worry about hex codes or pixels.

Documentation

I have increased and improved the documentation across our design system. This is an ongoing task, and I am now supported by a dedicated copywriter. We are encouraging the whole organisation to use Zeroheight as the one source of truth. An example of 'Best practices' for using our filters can be found here

Improving the contribution model

As Aperture supports a number of products, it is difficult for the Aperture team to know every enhancement or new component needed according to various user needs within every team. For this reason, we encourage all teams that build new components to contribute back to the design system if it is widely needed. We have a current model in place, but this has proven cumbersome in some instances.

Process

It was paramount to understand the needs of all those using the Aperture Design System.

In preparation to scale our products to new markets, I carried out an audit of the existing UI to understand what components can be replaced or removed.

User interviews

In order to further understand what teams needed in the design system in order to help them work more effectively, I decided to carry out User Interviews with people from the Product Trio; Engineering, Design, and Product.

“I can never find real case examples. It slows me down massively as I can only see screenshots.”

Designer

“When I use a component, I find it hard to find out its limitations. There's little guidance for the engineers.”

Engineer

“I often repeat myself a lot when people ask me copy-related questions- I would like there to be a copywriting section.”

Copywriter

Participants expressed frustration that the design system and Storybook (our developer documentation platform) don't match. None of the participants used the design system as a first point of reference: they always use Storybook because it was up to date. However, as there is no best practice documentation in Storybook, participants explained they were still guessing how components should be used. Due to this, there have been inconsistent experiences created across products i.e. misaligned components, and wrong components used (Radio Buttons instead of Checkboxes) etc.

This has caused significant tech debt that is slowing teams down.

Inspiration

I carried out a significant amount of desktop research in order to assess how other companies have created their design systems. Gauging structure and layout was important. Design systems such as Salesforce Lightning Design System and IBM's Carbon Design System stood out.

Information Architecture

Information architecture for the design system
I played around with various categories based on what already existed in the original design system, and what we didn't have. Due to the infantile nature of the design system, I realised that we had a lot of fundamentals to focus on before creating Design and Development resources, or promoting a Contributor Community.

Data Analysis

The importance of building a new design system has been somewhat misunderstood or underestimated within Bazaarvoice, With the help of others within the Aperture team, I was able to put together the following figures.

Here are the current statistics:
Current statistics
If the Aperture team didn't exist, and components had to be made by each independent product team, it would take:
Statistics if the Aperture team didn't exist
The time it has taken for the Aperture team to complete work:
Total time it has taken for the team to complete the work
All in all, the total hours saved for all of the product teams thanks to the existence of the Aperture team is:
Hours saved for the other teams thanks to the Aperture team
As mentioned, the Aperture Design System is an ever-growing ecosystem.

By following the updated design system and re-using UI components, teams will not only create experiences that are more consistent and intuitive for clients, but free up engineering teams to focus on solving more complex business problems instead of reinventing the wheel for each UI component.

There will also be less bugs for clients, and proven code with a central location for ensuring quality with a suite of tests.

We will deliver client features faster: UI patterns can be easily expanded upon & shared across app teams.

View the updated Aperture Design System here

Outcome

As mentioned, the Aperture Design System is an ever-growing ecosystem.

By following the updated design system and re-using UI components, teams will not only create experiences that are more consistent and intuitive for clients, but free up engineering teams to focus on solving more complex business problems instead of reinventing the wheel for each UI component.

There will also be less bugs for clients, and proven code with a central location for ensuring quality with a suite of tests.

We will deliver client features faster: UI patterns can be easily expanded upon & shared across app teams.

View the updated Aperture Design System here

Accessibility

Improving accessibility for impaired users is of utmost importance. Due to accessibility not being taken into consideration in previous years, I have been working with, and consulting, Engineering on how we can improve our components.  Incorporating tab key order, building out patterns, and creating new states have helped to improve our overall product experience.

I have been using tools such as Stark and ColorBox in order to check accessibility:

Modernising

A number of the existing components are outdated. I have updated components to not only provide an updated feel from a UI perspective, but also to encourage consistency right across all supported products. Due to an existing Engineering backlog, whilst future design changes are available in the assets on Figma, not all component updates are available in production.

One example of this is the Export Menu: existing versus future re-design:

Tokenising

Most of the inconsistency across our products has been caused by a lack of agreed documentation and hard coding errors. In a bid to prevent this from happening in the future, we are optimising components to implement design tokens via the Figma Tokens plugin. I worked with one other engineer to set up the tokens from scratch. The usage of the tokens means there is no need for designers outside of the Aperture team to worry about hex codes or pixels.

Documentation

I have increased and improved the documentation across our design system. This is an ongoing task, and I am now supported by a dedicated copywriter. We are encouraging the whole organisation to use Zeroheight as the one source of truth. An example of 'Best practices' for using our filters can be found here

Improving the contribution model

As Aperture supports a number of products, it is difficult for the Aperture team to know every enhancement or new component needed according to various user needs within every team. For this reason, we encourage all teams that build new components to contribute back to the design system if it is widely needed. We have a current model in place, but this has proven cumbersome in some instances.

Email or LinkedIn

Copyright © Emma Millar. All Rights Reserved.