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

TL;DR

Overview

Forge UI is the official Design System for Honeywell Connected Enterprises, and is used in the context of Asset Management Software.


As our team prepared to launch Forge UI 2.0, the newest version of UI components in Figma and their coded counterparts, I ran into limitations from our current Figma file structure as well as received feedback from consumers on improving communication with Design System updates. This Design System strategy was created to enhance the sustainability of Forge UI's components and its usage with our UX consumers.

Goals

  • 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

Role

UX UI Designer Lead

Tools

  • Figma

  • Storybook

  • Microsoft Forms

Tools

  • Figma

  • Storybook

  • Microsoft Forms

Duration

Summer 2023

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. Audited and deleted all hidden layers in UI components

  3. Created a 'Nested Elements' Figma file

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

  5. Combined near duplicate UI components using 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 2.0 Design System structure follows Brad Frost's Atomic Design approach; starting with smaller atoms that build into complex organisms, then lead to documentation in third-party apps.

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 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 (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. Collaborated with UI engineers to create 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.