Case Study | 2017 – 2021

Case Study | 2017 – 2021

Case Study | 2017 – 2021

Denali Design System

Denali Design System

Denali Design System

Denali is an award-winning, themeable open source design system created by the Central Technology Design team at Yahoo as a scalable method for product teams. Denali streamlines our design process by assisting with the design and development of consistent and functional internal tools and products.

Denali is an award-winning, themeable open source design system created by the Central Technology Design team at Yahoo as a scalable method for product teams. Denali streamlines our design process by assisting with the design and development of consistent and functional internal tools and products.

Employer

Yahoo — Central Tech

Role

Lead Product Designer

Sector

Technology

Discipline

Product design

Timeframe

2017 — 2021

Team

Jay, Design Manager

Jazmin, Product Designer

Marco, Product Designer

Overview

Context

When Denali was founded my team consisted of myself and two other designers led by our manager. We were the very first design team to join Yahoo’s Central Tech organization which meant we had the enormous responsibility of introducing design-centered practices, thinking, and processes to a suite of 15 or so developer platforms for the very first time.

Goal

With such a small team supporting so many products we needed to develop a solution to support them all. Our solution was to build a design system that would allow product teams to streamline their process.

Role

My main role was to lead the Denali team to success, but with such a small team I wore many hats during this time. Some include product designer, developer, scrum master, marketer, content designer, editor in chief, design advocate, the list goes on.

The Challenge

Inconsistent UI/UX

UI and UX patterns were inconsistent from product to product resulting in a poor user experience.

Engineering silos

Platform teams did not cross collaborate with each other. This meant custom frameworks were being built from scratch for every product.

Source of truth

Sense development was in silos this meant every team had their own source of truth.

The Vision

Identify

Identify the problem and gaps where our design team could provide insights and assist product and engineering teams.

Build

Create a design system comprising a component library, CSS framework, and rules for implementation. These features were key to meeting our needs and the needs of our engineers.

Publish

Everything we created needed to be available so that everyone at Yahoo could benefit from it. Again we were looking to establish a company wide impact, so we wanted our work to have that visibility and accessibility.

Process overview

Everyone has a grasp on the design process, so I don’t need to explain it. However I want to mention my personal beliefs about the design process and how I see it as a guide. I don’t believe every project requires you to go through each step, but instead tailor these steps to the project you are working on.

Understand

Define

Ideate

Design

Prototype

Implement

Test

Document

Understand

How might we

Introduce consistency across platforms?
Improve dev hand off?
Design more efficiently?

User interviews

Platform teams did not cross collaborate with each other. This meant custom frameworks were being built from scratch for every product.

Usability audits

Existing developer platforms
Existing frameworks

Define

Design libraries

If we built a Design library it would make our design process faster, and improve the end user experience by bring consistency to the developer platform suite.

Developer frameworks

By building CSS and React frameworks, this would streamline developer hand off as components would map one to one.

Rules for implementation

We’d need to establish one source of truth that designers and engineers could draw from.

Design

Primitives

We started with the design basics and established a type and color system. We knew these would be the foundation to all our designs and components moving forward to so we built them to be expandable.

Later on we established “helpers” these were design tokens that assigned values to our naming convention. These effectively made it easier for sizing, spacing, color, border radius, virtually any properties.

Expandable color system

Typography system

Design tokens = Developer variables

Components

After auditing the central tech internal product and reviewing our competitors we create a list of 25 components, which would give us a component coverage of 80%. This was an ideal number as it gave our users a great toolbox to build products.

While creating our design libraries we wanted to make sure that our variants or component props were easy to use and understand. This would be crucial later down the line when we would start to develop these.

Figma component props

Alert components - Notification, Banner, Block level

Segment controller

Icons

In order to maintain visual consistency between icons we developed our icon grid. The icon grid is 48 by 48 pixels wide and consists of a 46 by 46 pixel live area surrounded by a 2 pixel border of padding on each side. Contained within the grid are various key line shapes. Designing within the bounds of these shapes ensures visual consistency and balance between icons.

Icon grid examples

Adobe XD plugin

Implementation

Components

All our components needed to exist in design libraries and code. As we started to build the components we wanted to create the same user experience we did with our design libraries. Our first step was creating a CSS framework that was a one to one mapping of the design props to the CSS classes. This made it easy for developers to inspect a design and know which classes to add.

Later we added React and Ember frameworks that utilized the same taxonomy as they were built on top of the CSS framework.

Alerts notification component with the corresponding code in HTML and CSS.

Alerts notification component with the corresponding code in React.

Icons

With our icon library growing rapidly to well over 1000 icons, we needed to effectively provide updates to developers across all the different platforms we supported. We ended up building a package that included SVG files, SVG sprite, font, and JS library.

Bug icon with the corresponding code.

Document

Develop

Since developers were our primary users we wanted the develop page to appear as the first tab. We included resources for the different frameworks we offered, CSS, React, and Ember. Additionally, we had demos and wrote guides on how to utilize Denali from a dev stand point and methods for collaborating with our design team.

Within these pages we utilized Storybook, a frontend workshop for building UI components in isolation. This allowed us to provide a GUI that allowed engineers to customize components and copy code directly to their app or site.

Components

Our components pages housed all information to a specific component. We included developer docs, foundations, component types, placement principals, and theming options. These pages became invaluable to our engineers and designers who later onboarded to our team.

Design

The design pages were built last, but looking back we should have built these first. Probably the most underrated pages, they allowed our team to 3x our support across the Central Tech org. These were primarily made to assist engineers in learning a little more about our design principles.

We had to grow Denali to support products with no design teams at all and I believe this was due to our extensive documentation and principles allowing users the ability to turn to Denali to answer questions related to the UI.

Success Metrics

80%

80%

80%

Satisfaction

80% Improvement in engineer and designer collaboration, resulting in fewer iterations during handovers

75%

75%

75%

Efficiency

75% Efficiency increase with a notable drop in bug reports, attributed to concise documentation that ensures consistency

2x

2x

2x

Source of truth

2x Decrease in time spent building and developing components by defining a structured process.

"It features a sleek, modern, and highly sans-serif sort of look that’s perfect for business sites. It’s also got some fairly detailed documentation to get you started." — Web Designer Depot

"It features a sleek, modern, and highly sans-serif sort of look that’s perfect for business sites. It’s also got some fairly detailed documentation to get you started." — Web Designer Depot

Reflection & key learnings

Given that we were a small team I had to wear many hats and gained countless news skills, like learning new front-end dev languages. My main takeaway was learning how to make a design team run efficiently all while meeting business goals. Lastly, I learned how to influence leadership to push initiatives. Getting buy-in for Denali was not easy.

Would love to chat! 👋

Would love to chat! 👋

Would love to chat! 👋