Forge UI 2.0 Launch

Building Forge UI version 2.0, Honeywell software's official design system.

Design System foundational styles with typography and colors
Design System foundational styles with typography and colors
Design System foundational styles with typography and colors

Product

Honeywell, Forge UI Design System

Project type

Design system

Project type

Design system

Platform

Web app

TL;DR

Overview

Forge UI is the official design system for Honeywell Connected Enterprises, and is used in the context of enterprise software (I.E., Asset Management) for distribution centers, buildings, and manufacturing plants.

Role

UX designer

Tools

Figma, Storybook, Microsoft Forms, Jira

Tools

Figma, Storybook, Microsoft Forms, Jira

Completion

October 2023

Problem statement

The Forge UI Design System team is experiencing file size issues in Figma, disparities between Figma and Storybook UI components, and designers not applying design system updates.

Before the new version of Forge UI is launched, the design system's Figma file structure, Storybook UI components, and communications channels need to be updated to enhance the sustainability of Forge UI's components and usage with our UX adopters.

Goals

  • Identify areas for improvement from designers who adopt Forge UI

  • Create a scalable design system file strategy in Figma

  • Enhance parity between Figma design and Storybook code

  • Create a version control strategy for Figma updates

Research

The Forge UI Design System supports Honeywell Forge's software between multiple business units (I.E., Connected Buildings and Industrials). I needed to better understand how our UX adopters use Forge UI and identify any pain-points they're experiencing while using the current version of Forge UI.

Approach

  • Methodology: Survey (open and closed questions)

  • Participants: 23 total

  • Stimuli: Microsoft Forms sent directly to each individual designer

Microsoft Form in desktop format with the title, "Forge UI Design System, PI.2 Survey"
Microsoft Form in desktop format with the title, "Forge UI Design System, PI.2 Survey"
Microsoft Form in desktop format with the title, "Forge UI Design System, PI.2 Survey"

Research insights

  1. Design system Figma updates are overwhelming for designers to review—causing hesitancy to adopt changes.

  2. The Net Promotor Score (NPS) for the design system's documentation was negative (-5 out of 100)—indicating an area to improve how designers can review specs of UI components.

  3. The most detached UI components were the "Card" and "Data table"—indicating Forge UI needs to refresh the components to reduce detachments.

Research report showing tallies for how many designers didn't accept design system updates
Research report showing tallies for how many designers didn't accept design system updates
Research report showing tallies for how many designers didn't accept design system updates

Opportunities

  1. Figma Files: Memory issues with 1.0 Forge UI Design System structure

  2. Code Parity: Lack of parity between Figma and Storybook components

  3. Versioning: No version control with 1.0 Forge UI Design System

Forge UI 1.0 Design System cover in Figma
Forge UI 1.0 Design System cover in Figma
Forge UI 1.0 Design System cover in Figma

Figma files

❌ What was contributing to the Figma file memory?

  1. Too many UI components in one file

  2. Hidden layers in the master UI components

  3. "Nested components" included in the main library

  4. Omni-complex UI components

  5. Near duplicate UI components

Dropdown UI component in the 1.0 Forge UI design system
Dropdown UI component in the 1.0 Forge UI design system
Dropdown UI component in the 1.0 Forge UI design system

✅ Fixing each Figma issue

  1. Split the design system into related chunks (I.E. Data visualizations)

  2. Audit and delete all hidden layers in UI components

  3. Create a "Nested Elements" Figma file

  4. Break up large, complex UI components into multiple components

  5. Combine near duplicate UI components using Figma properties

Figma project for the Forge UI 2.0 Design System
Figma project for the Forge UI 2.0 Design System
Figma project for the Forge UI 2.0 Design System

2.0 Figma file structure

The new design system structure follows Brad Frost's Atomic Design approach; starting with small atoms to build into complex organisms. Design system documentation is then housed in third-party apps like Confluence.

File structure for the 2.0 Forge UI design system
File structure for the 2.0 Forge UI design system
File structure for the 2.0 Forge UI design system

Key takeaways - Figma files

  1. Light Theme Component file's memory decreased from 0.87GB to 0.35GB

Figma file memory for the 1.0 file is 0.87 GB
Figma file memory for the 1.0 file is 0.87 GB
Figma file memory for the 1.0 file is 0.87 GB

File memory before

Figma file memory for the 2.0 file is 0.35 GB
Figma file memory for the 2.0 file is 0.35 GB
Figma file memory for the 2.0 file is 0.35 GB

File memory after

  1. UI components perform faster in Figma and are easier to modify

Action menu UI component in the 1.0 Forge UI file
Action menu UI component in the 1.0 Forge UI file
Action menu UI component in the 1.0 Forge UI file

Action menu before

Action menu UI component in Figma
Action menu UI component in Figma
Action menu UI component in Figma

Action menu after

Code parity

❌ Design and code are not one-to-one

  1. Design tokens aren't consistent between Figma and Storybook

  2. Inconsistent property (or control) naming across design and code

  3. UI components supported in Figma do not have Storybook counterpart

Color tokens in Figma and Storybook
Color tokens in Figma and Storybook
Color tokens in Figma and Storybook

✅ Improve consistency between design and code

  1. Collaborate with UI engineers to create a design token nomenclature

  2. UI components in Figma given component APIs to match Storybook

  3. Status indicators added to Figma to show code-ready components

Modal UI component in Figma and Storybook
Modal UI component in Figma and Storybook
Modal UI component in Figma and Storybook

Key takeaway - Code parity

  1. Improved communication with UI engineers and design system adopters

Status indicators next to UI component names
Status indicators next to UI component names
Status indicators next to UI component names

Status indicators next to UI components

Status indicator meaning for UI components
Status indicator meaning for UI components
Status indicator meaning for UI components

Status indicator meanings

Versioning

❌ Design system has no release cadence

  1. Unscheduled design system releases create roadblocks to adopters

  2. No version control causes conflict between design and code

  3. No publication description with each Figma update

Figma file's version history for publications of UI components
Figma file's version history for publications of UI components
Figma file's version history for publications of UI components

✅ Establish a release cadence

  1. Align design system updates with product increment (P.I.) calendar

  2. Use semantic naming with version control

  3. Maintain a design system change-log for version history

Release cadence schedule for Forge UI 2.0
Release cadence schedule for Forge UI 2.0
Release cadence schedule for Forge UI 2.0

Key takeaway - Versioning

  1. Version control improves design system consistency in product designs

Change-log for Forge UI 2.0 in Figma
Change-log for Forge UI 2.0 in Figma
Change-log for Forge UI 2.0 in Figma

Change-log in Figma

Conclusion

Here's to the 2.0 Forge UI Design System

This project was tedious in finding resources to help form the right strategy for the new version of the design system. It was rewarding to see what causes the nuances of Figma file memory issues, as well as what works well for other design systems.