Establishing a spacing system for seamless design-dev handoff

Establishing a spacing system for seamless design-dev handoff

Establishing a spacing system for seamless design-dev handoff

Establishing a spacing system for seamless design-dev handoff

My Role

UI/UX Designer

Timeline

January 2022 – February 2022

Collaborators

Reginald Sacdalan — Senior Manager
Ivan Song — UI/UX Designer

Spacing—whether it's the padding around buttons, the margins between text, or the distance between icons—plays a crucial role in shaping overall user experience.

Prior to refining the Spacing System, inconsistencies in its application made it challenging to maintain cohesion across the 20+ websites under UBC’s Faculty of Applied Science (APSC) portfolio.

As a designer on the Digital & Web Communications Team, I led the redesign of the Spacing System using the Atomic Design framework. This strategic overhaul not only streamlined design consistency across APSC’s UI and branding but also set the stage for successful implementation in several future projects.

Spacing—whether it's the padding around buttons, the margins between text, or the distance between icons—plays a crucial role in shaping overall user experience.

Prior to refining the Spacing System, inconsistencies in its application made it challenging to maintain cohesion across the 20+ websites under UBC’s Faculty of Applied Science (APSC) portfolio.

As a designer on the Digital & Web Communications Team, I led the redesign of the Spacing System using the Atomic Design framework. This strategic overhaul not only streamlined design consistency across APSC’s UI and branding but also set the stage for successful implementation in several future projects.

Prior to refining the Spacing System, inconsistencies in its application made it challenging to maintain cohesion across the 20+ websites under UBC’s Faculty of Applied Science (APSC) portfolio.

As a designer on the Digital & Web Communications Team, I led the redesign of the Spacing System using the Atomic Design framework. This strategic overhaul not only streamlined design consistency across APSC’s UI and branding but also set the stage for successful implementation in several future projects.

—Context

UBC APSC is a multidisciplinary faculty offering hands-on education in engineering and applied science, with programs spanning several disciplines including: Architecture and Landscape Architecture, Community and Regional Planning, Engineering, and Nursing.

Atom is APSC’s current design system.

Despite the structured framework provided by Atom, however, there was a noticeable gap in the lack of a defined Spacing System, making it challenging to maintain consistent and harmonious layouts across the site.

Atom, UBC Applied Science’s existing design system

—Project Brief

Refining Atom’s existing Spacing System

We aimed to create a new spacing system that could be applied across all APSC websites, fostering a more cohesive visual design language while simplifying development for our team.

No spacing rules defined

With new spacing system applied

The problem:

T-shirt sizing

We were relying on the 't-shirt' spacing system, which proved difficult to scale due to its rigid set of fixed values. As a result, developers struggled to stick to consistent guidelines for when to apply each spacing value.

Spacing based on assumptions

Without clear guidelines for spacing, developers had to make assumptions about line heights and add extra margin and padding to match design specs, resulting in inconsistent spacing across websites.

Broken components

Components and content looked noticeably different across different institutions, resulting in an inconsistent brand identity and frustrating reading experience due to misaligned components and fragmented text blocks.

—Research & Requirements

T-shirt sizing is the way that Grommet leverages familiar clothing sizes of "small", "medium", "large" to drive the sizing and spacing of components.

via HPE Design System (ref.)

Previously, we used a ‘t-shirt’ spacing system. However, this approach was difficult to scale, especially when new values were needed between existing sizes.

As a result, components were often developed with arbitrary spacing, limiting their effectiveness and flexibility.

To address these challenges, we recognized the need for a new system that would allow for greater scalability and a wider range of spacing tokens to be added, ensuring consistency and flexibility across all components.

Let’s dive deeper...

—A Deep Dive

We used IBM’s Carbon Design System as a reference for our own spacing system.

In the Carbon Design System, tokens are categorized into spacing and layout components to address different design needs. Each token uses multiples of two, four, and eight, providing both small and large increments for creating precise spatial relationships in detailed designs.

Spacing tokens

Layout tokens

Spacing tokens are used for fine-tuning the gaps and padding between elements within components, ensuring consistent and precise alignment across the interface. These tokens support detailed design adjustments, maintaining visual harmony and balance.

Layout tokens focus on controlling the overall structure and organization of the design, managing larger-scale spacing between components or sections.

This separation allows for flexibility and efficiency in applying appropriate spacing based on context—whether it's for detailed design work or broader layout management.

—Atomic Design

The Atomic Design methodology created by Brad Frost is a design methodology for crafting robust design systems with an explicit order and hierarchy.

It’s based on the idea that designs are built like atoms, with smaller elements combining to form larger, more complex structures.

We decided to adopt this framework for our own spacing system.

The 8pt grid system

This is a design framework based on the concept of creating a visual structure using a consistent grid where each spacing, margin, or element is sized in increments of 8 pixels (or points).

—Creating Guidelines

With the above in mind, we began documenting our spacing tokens.

We categorized tokens into atomic spacers, molecular spacers, and organism spacers.

Atom spacers

Atom spacers can be used to apply space between simple UI components and basic HTML elements, such as paragraphs or text within buttons.

Molecular spacers

Molecule spacers can be used to apply space around individual components, such as tables, buttons, content cards or breadcrumbs.

Organism spacers

Organism spacers can be used to modify the page layout and apply space between entire sections of content.

Once we had established our tokens, we began breaking and testing.

We started with type styles, then moved onto components, then page layout.

We documented the spacing scale, and its usage guidelines in our Design System, Atom.

—Implementation

So, how does it hold up in practice?

We gathered feedback from both users and team members, including designers and developers, to ensure the spacing felt natural, was easy to implement, and enhanced overall usability. During the process, we also identified and addressed edge cases, resolving any spacing issues or inconsistencies that emerged when applied to different types of content or across various devices. We tackled these challenges by carefully testing and adjusting the design to maintain consistency and optimize the user experience in all contexts.

Documentation can be found here.

—Reflections

Working on design systems taught me the value of being meticulous in building a scalable and effective spacing system. This project enabled us to:

Establish a consistent spacing system

By using the atomic design framework and an 8px grid system, we established a consistent spacing system that could be applied across our components and pages.

Streamline the design workflow

The spacing system allowed us to create quick and simple components that accelerate the design process, saving valuable time by eliminating the need for constant adjustments.

Streamline the handoff process

With appropriate documentation, developers are able to appropriately use spacing components, while also improving QA efficiency by reducing the need for redlining and eliminating time spent inspecting mocks in tools like Zeplin.

—Post-Launch

During my time at UBC APSC, I worked on several websites within the faculty's portfolio. The implementation of our new spacing system sped up workflows and improved handoffs, while maintaining consistent spacing across sites and visual cohesiveness.

Equity, Diversity, Inclusion + Indigeneity (ref.)

Equity, Diversity, Inclusion + Indigeneity (ref.)

Equity, Diversity, Inclusion + Indigeneity (ref.)

Equity, Diversity, Inclusion + Indigeneity (ref.)

Equity, Diversity, Inclusion + Indigeneity (ref.)

Corrosion Research Group (ref.)

Corrosion Research Group (ref.)

Corrosion Research Group (ref.)

Corrosion Research Group (ref.)

Corrosion Research Group (ref.)

Critical Research in Health and Healthcare Inequalities (ref.)

© 2024 Designed & Developed by Sarah Dang