How to design, build and manage delightful enterprise-grade experiences at speed and scale? …
What is a design system?
A design system is an accelerator to create better experiences while saving time and money through a set of guidelines that help make your work easier and faster. It is made of several components such as colors, text, buttons, icons, ect.
A design system is meant to serve as a foundation that supports both designers, developers, as well as everyone involved in a particular project.
A design system should be purposely simple, scalable and adaptable to design needs.
Software teams save 2,000 hours in dev and design time per pattern and component.
A Design System includes…
A defined brand expression and design principles
Reusable design resources and usage guidance
Reusable components and resources
Global patterns and flows
A governance model for current and future growth
A Design System is a critical central source of truth, and all the resources necessary to deliver consistently and efficiently.
A Design System is an accelerator to create better experiences while saving time & money.
Advantages of a Design System?
80% efficiency improvement in individual component implementation
-IBM Cloud Platform case study, IBM, 2020
47% efficiency savings for front-end development
-ROI Impact of Design Systems, Sparkbox, 2021
74% of “leaders” have a dedicated team for their design systems.
-Unlocking Design’s Full Business Potential, Forrester, 2020
Design Systems increase speed to market by 28%
-Business Case for Design Systems, Fathom Analytics, 2018
Theme File
Before getting into the design system, one level below is the Theme file. All of the components used in the design system are pulling in information that help create, mold, and better inform how the design system UI elements are set up such as spacing, colors, typography, ect.
The theme file utilizes:
Shapes
Color Spectrum
Color
Typography
Effects
Spacer
Screens
Utilities
A couple examples:
Atomic Design Methodology
The Atomic Design approach to our Design System. Atomic design is a methodology composed of distinct stages working together to create interface design systems in a more deliberate and hierarchical manner. The stages of atomic design are:
Atoms
Molecules
Templates
Pages
Atomic design is not a linear process, but rather a mental model to help us think of our user interfaces as both a cohesive whole and a collection of parts at the same time. Each of the stages plays a key role in the hierarchy of the interface design system.
Atoms
Atoms represent the most basic interface elements, they are the basic building blocks. They’re the foundation and supporting structure of an interface. Some examples include: Buttons, Checkbox, Tooltip, Pagination etc. Consider them like lego pieces, there’s no way to break atoms down any further.
The atoms file utilizes:
Accordian
Badge
Breadcrumb
Button
Checkbox
Code snippet
Content switcher
Data table
Date picker
Dropdown
File uploader
Form
Link
List
Loading
Modal
Notification
A couple examples include:
Number input
Overflow menu
Pagination
Password input
Progress indicator
Radio button
Search
Select
Slider
Structured list
Tabs
Tag
Text input
Text area
Tile
Toggle
Tooltip
Molecules
Molecules are groups of atoms bonded together that have their own unique features. They take simple design features and pair them together as a more complete and cohesive UI element. They are concrete and reusable components. Through Molecules, you are starting to build out the page and create more purpose.
Breaking things down at the Molecules level makes testing easier, encourages reusability, and promotes consistency throughout the interface.
The molecules file utilizes:
App
Drop target
Buttons
Content cards
Content block
Countdown display
Filtering
Footer
Header
Links
Carousel
Image
Lists
A couple examples include:
Modals
Nav drawer
PDP
Payment block
Progress indicators
Product cards
Search
Segmented control
Tabs
Lazy load
Tables
Upsell
Templates
Templates are page-level objects that place components into a layout and articulate the design’s underlying content structure.
A template displays all the necessary page components functioning together, which provides context for these relatively abstract molecules and atoms. When crafting an effective design system, it’s critical to demonstrate how components look and function together in the context of a layout to prove the parts add up to a well-functioning whole.
Another important characteristic of templates is that they focus on the page’s underlying content structure rather than the page’s final content. Design systems must account for the dynamic nature of content, so it’s very helpful to articulate important properties of components like image sizes and character lengths for headings and text passages.
The Slot components technique is a simple but powerful method that adds extra flexibility to your design system. If designed well, no one will have a need to detach components.
Slot Modeling helps deliver solutions more quickly: This technique allows solutions to be delivered in a short amount of time and designers can create custom components to swap with the slots.
Pages
Here is when we take those wireframes and build on them. It’s time to add all the final details. Templates are gradually removed to make way for actual pages that people may interact with.
This is what users will see and interact with when they visit the screen. This is what your stakeholders sign off on. And this is where you see all those components coming together to form a user interface. In addition to demonstrating the final interface as your users will see it, pages are essential for testing the effectiveness of the underlying design system.
It is at the page stage that we’re able to take a look at how all those patterns hold up when real content is applied to the design system.
Does everything look great and function as it should? If the answer is no, then we can loop back and modify our molecules, organisms, and templates to better address our content’s needs.
The page templates file utilizes:
Landing pages
Product listing page
Product details page
Review changes
Plans
Extras
Checkout
Confirmation
My account
Payments
One time payment
Activation
DSP
App
Content blocks
A couple examples include:
Final Thoughts
It’s one thing to utilize and follow the rules of a design system, but it was an amazing experience to be a part of designing the system it’s self from the ground up and to be part of the team that vouched for the importance of the system at the grass roots level.