What is a Design System
What is a Design System all about? What's the point of having one, and why are they so important? How do you go about creating and developing one? I'm here to break it all down for you.
Riccardo Marconato
Dec 18, 2023
Design System
Definition of Design Systems
There's no one-size-fits-all definition of a Design System, and you don't necessarily need to have one. But here's a pretty good definition:
A Design System acts as a source of truth for organizations, making sure their visual and interactive communication stays consistent. It offers a scalable, reusable set of assets and clear, widely accepted guidelines.
Here are a few other definitions:
Chad Bergman, Figma Designer Advocate, says in the Figma blog that "At its core, a design system is a set of building blocks and standards that help keep the look and feel of products and experiences consistent." [source]
Will Fanguy from Invision says that "A design system is a collection of reusable components, guided by clear standards, that can be assembled together to build any number of applications." [source]
Chris Messina, tech evangelist and former developer experience lead at Uber, says that “Design systems provide a convenient, centralized, and evolving map of a brand’s known product territories with directional pointers to help you explore new regions.” [source]
You can see that while the definition changes, the underlying idea stays the same.
Benefits of a Design System
Having a Design System in place comes with lots of perks, like:
Consistency: It keeps everything looking the same across products and experiences, which is great for maintaining a strong brand image.
Efficiency: With a set of reusable assets and guidelines, designers and developers can get things done more quickly without duplicating work.
Scalability: It makes scaling up projects easier since there's a solid base to build on.
Collaboration: With everyone on the same page, teams can work together smoothly and save time by not having to reinvent components or design elements.
Real Scenarios Where a Design System Is Invaluable
Consistent Branding Across Platforms:
Use Case: A company wants to keep its branding consistent across its website, mobile app, and marketing materials.
How it Helps: The design system acts as a central hub for brand assets like colors, fonts, logos, and design elements. Designers can easily refer to these assets to maintain a cohesive visual identity across different platforms. Developers can tap into pre-set styles and components to nail the design accurately.
Efficient Collaboration Between Designers and Developers:
Use Case: A design team is working on a new feature for a web app and needs to closely collaborate with developers for smooth implementation.
How it Helps: The design system acts as a common language for designers and developers. Designers can mock up UIs using predefined components and styles, making it easier for developers to grasp and implement the designs. Developers can also provide input on the design system, enhancing its usability and effectiveness over time.
Faster Prototyping and Iteration:
Use Case: A startup is rapidly tweaking its product design to find the most user-friendly solution.
How it Helps: With a design system in place, designers can quickly prototype new ideas using existing components and styles. This speeds up the design process, allowing for quick iterations based on user feedback. Developers find it easy to implement changes thanks to the predefined components and styles, cutting down on development time and effort.
Scalability Across Projects:
Use Case: A large company has multiple products and platforms that need a consistent design language.
How it Helps: A design system offers a scalable way to manage design assets and components across projects. Designers can develop new products or features using existing components, ensuring consistency across the whole company. Developers can reuse code and design patterns from the design system, saving time and effort on development.
Accessibility and Usability Compliance:
Use Case: A government agency needs its digital services accessible to all citizens, including those with disabilities.
How it Helps: The design system includes accessibility guidelines and best practices for designers and developers to follow. This ensures digital assets meet accessibility standards, like proper color contrast, keyboard navigation, and screen reader compatibility. By building accessibility into the design system, the agency can create inclusive digital experiences for everyone.
Successful Examples of Design Systems
Google Material Design:
Description: Material Design is Google's design language introduced in 2014. It emphasizes a unified experience across platforms and devices, with a focus on clean, minimalistic design, bold colors, and meaningful motion. Material Design provides guidelines, components, and tools for designers and developers to create cohesive and intuitive user interfaces.
Key Features: Material Design offers a comprehensive set of components such as buttons, cards, and navigation drawers, along with guidelines for layout, typography, color schemes, and motion. It also includes tools like Material Design Lite (MDL) and Material-UI for implementing Material Design in web and mobile applications.
Apple Human Interface Guidelines (HIG):
Description: Apple's Human Interface Guidelines provide design principles and guidelines for creating apps across Apple's platforms, including iOS, macOS, watchOS, and tvOS. The HIG emphasizes clarity, simplicity, and consistency in design, aiming to provide users with intuitive and delightful experiences.
Key Features: The HIG covers various aspects of app design, including interface elements, navigation patterns, iconography, typography, and animation. It also provides guidance on accessibility, usability, and app performance. Developers can access UI components and design resources through Apple's developer documentation.
IBM Design Language:
Description: IBM Design Language is a comprehensive design system developed by IBM to unify the design of its products and services. It focuses on user-centered design, accessibility, and inclusivity, aiming to create experiences that are intuitive, efficient, and accessible to all users.
Key Features: The IBM Design Language includes guidelines, patterns, and resources for designing digital products and services. It covers various aspects of design, including typography, color, iconography, layout, and interaction. IBM also provides tools like Carbon Design System, which offers UI components and design assets for building IBM-branded applications.
Ant Design:
Description: Ant Design is a design system developed by Ant Group, a subsidiary of Alibaba Group. It is widely used for building web applications with a focus on design consistency, usability, and developer experience. Ant Design follows the principles of simplicity, efficiency, and accessibility.
Key Features: Ant Design provides a comprehensive library of UI components such as buttons, navigation menus, and form controls, along with guidelines for layout, color schemes, and typography. It also offers tools like Ant Design Pro, a development framework for building enterprise-level applications. Ant Design is known for its extensive documentation, community support, and active development.
ùThese design systems have gained widespread adoption and recognition for their contributions to design consistency, usability, and developer productivity across various platforms and industries.
Design System for a Smaller Team or Solo Designer
Design Systems aren't just for big companies like Google and Apple; they're also a huge help for solo designers and smaller teams. While we often look up to these giants for their Design Systems, they're just as valuable for small projects, even if it's just one designer on board.
The key difference is in the size and complexity: a Design System grows as more consumers and products use it. For a solo designer, it resembles more of a UI kit that speeds up the process and allows for easy tweaks. With ready-made design elements at hand, designers can spend more time on coming up with ideas and prototyping.
A designer shouldn't be bogged down by a complex design system that risks slowing down productivity, making the system the focus instead of the actual projects. In other words, it just takes too much time to get started. A design system should streamline work, not become a roadblock that drags the workflow.