What are the components of a Design System

Discover the importance of a Design System in eliminating confusion from inconsistent designs. Learn about its components and how they contribute to effective problem-solving.

Riccardo Marconato

Aug 5, 2024

Design System

One of the key reasons for creating a Design System is to prevent confusion caused by having different designs that solve the same problem.

Imagine elements like buttons; they provide users with interactive actions, and their design is recognizable as an element ready to be clicked, triggering an action when clicked. Since these buttons are often used in a UI, you likely have the same button on multiple pages.

Things can quickly get out of hand while working on the product as a designer, especially when you need to update more than 1000 buttons at once. How can you update an element that appears everywhere? Should you manually edit all the buttons? Of course not.

Also, you could easily fall into the trap of designing that button differently each time you add it to the interface, leading to an inconsistent design. The problem with an inconsistent design in an interface is that users struggle to recognize the visual elements on the screen, which are constantly changing, creating confusion and discomfort.

This is where the components of a Design System come in handy. Let's explore what they are and why they're so important!

What is a component in a Design System?

Components are reusable design elements that form the interface of a product. They can be anything from simple components like buttons, icons, and form fields to more complex components like navigation menus and card layouts. These components maintain consistent styles, behaviors, and functionalities across all the pages they appear on.

Having predefined components in a Design System allows designers to easily create and update user interfaces without having to start from scratch each time. This not only saves time and effort but also ensures consistency throughout the product.

Every design or development tool related to Design System have components (sometimes called "master component", "base component", "source" etc) and instances of that component.

The idea is that whatever you do in a master component shows up in all its instances. So, if you resize the master component, all the instances will also get resized. Likewise, if you change the color of the master component, every instance will also get the new color.

Sometimes you'll need to make modifications in an instance and that will create an override. For example, if you have a button labeled "button," it should be updated to reflect its actual purpose, like "Sign Up" or "Log In."

What is really important for a component is that you have control over your design and consistency, ensuring that the UI elements are repeated across all pages and are easily recognizable.

Components variants and properties

To add flexibility to your Design System, you can create component variants. These are variations of the same base component that cater to different use cases. For example, a button component may have variants for primary, secondary, and tertiary buttons with different colors, sizes, and styles.

Having component variants allows designers to easily customize components to fit specific needs without creating new components from scratch. This not only promotes consistency but also saves time and effort in the design process.

We mentioned that it's important for users to avoid confusion by seeing a different design for each element. However, it's also crucial for UI elements to have design variants since not all elements serve the same purpose. Take buttons, for instance—they can come in various styles and have different properties, each with a specific use case defined by a Design System. For example, a primary button is meant for key actions, while secondary buttons (or outline buttons) are typically used for secondary actions.

Main components in a design system

There are few essential components in system design that you are likely to use, and I have listed them here along with guidelines on their use cases and functionality.

Buttons

You can't finish a design without buttons. They're one of the key features you just can't skip, no matter what. Buttons help guide users through a series of pages or screens and act as calls to action.

Every design should include a primary button, and if needed, secondary and tertiary buttons as well. Buttons are a great way to lead users to where you want them to go because, let’s face it, we all love clicking on them!

Tabs

Tabs are a great way to organize similar information on a single page. They help break up content, making it more readable and easier to navigate. However, it's important to use tabs effectively—avoid cramming too many categories into one bar for just small pieces of information. Keep tab titles concise to enhance their appearance on the page.Tags

Tags are used to label UI information for quick recognition and the navigation of similar items. A great example is Pinterest, where you can use tags under an image to find more similar ones.

Custom colored tags have also proven to organize large amounts of user-friendly and less noisy content. A simple tag can link to tens of different variations of the same product.

Radio buttons

Radio buttons are essential for limiting user responses since they allow users to select just one option at a time. This helps minimize errors caused by information overload or misinterpretation, so make sure to use them when needed.

Breadcrumbs

Breadcrumbs are a great way to help users navigate your design without feeling lost. They visually track progress through different levels or links in a hierarchy. This feature also enhances user-friendliness, as no one wants to click the back button multiple times just to return to the main page.

Form Inputs

Forms are used when we need a user to respond in order to complete an action. They’re a great way to gather user data and often include components like checkboxes, radio buttons, or text fields to make the process easy and intuitive.

Dropdown menu

They simplify our UI, save space, and enhance our designs. Drop-down menus have become a standard in design systems, so be sure to include them in yours. They can also help reduce clutter and organize information by grouping similar items together.

Icons

Icons are great for conveying complex ideas in a simple and visually appealing way. They can replace long sentences or labels, making your UI more compact and user-friendly. However, be sure to use easily recognizable icons to avoid confusion.

Progress bars

Progress bars provide valuable feedback to users while they wait for an action to complete. They enhance the overall experience by reducing uncertainty and helping users understand how far along they are in a process.

Tooltips

Tooltips are those handy little boxes that pop up when you hover over an item. They give you extra information or clarification without cluttering up the main interface.

Progress Indicators

Progress indicators and progress bars are fantastic additions to your design. They let users know how far they’ve come in a process, whether they’re reading an article or signing up for a new platform.

Toggle

Toggle bars started out in mobile UI but have become a great feature for any design software. When you're creating your design, remember to include a toggle for light/dark mode—it’s a lifesaver for us night owls!

Navigation

Good navigation is essential for any design. Whether you're designing a website or an app, it's crucial to have clear and intuitive navigation so users can easily find what they're looking for. This also includes having a search bar for quicker access to specific content. Don't make your users go on a scavenger hunt to find what they need.

Consistency is under control with components

Consistency is key in design. As we said, it helps users feel comfortable and familiar with your interface, making it easier for them to navigate and understand.

Components are a great way to maintain consistency throughout your design. By using the same components or templates for similar elements, you ensure that there is a cohesive look and feel across all parts of your design.

With one component you can save time and avoid confusion, as users will recognize the familiar design elements and know how to interact with them. Plus, it makes updating and making changes a breeze because you only have to update one component instead of multiple instances throughout your design.

In my career, I adopted a master component/instance approach even before I started working with Design Systems. I found it really helpful for reducing workload while allowing for quick edits and better product ownership.

ABOUT THE AUTHOR

Riccardo Marconato

Creative Designer specializing in Product Design and Design Systems. Over 10 years of experience, multiple awards, and international project contributions.

ABOUT THE AUTHOR

Riccardo Marconato

Creative Designer specializing in Product Design and Design Systems. Over 10 years of experience, multiple awards, and international project contributions.

ABOUT THE AUTHOR

Riccardo Marconato

Creative Designer specializing in Product Design and Design Systems. Over 10 years of experience, multiple awards, and international project contributions.

Read more about

Design System