Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New post: What makes a design system good #513

Merged
merged 4 commits into from
Jan 23, 2024

Conversation

harriplappalainen
Copy link
Contributor

A frontend developer's personal view on what are the most important parts of a design system that provides value.

Copy link
Contributor

@tatut tatut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some minor comments...

title could have wording like "how to make a good design system" as it discusses the process on how the DS is made, not just the qualities of the end product.


## Documentation

Documentation is the first place the users will flock to when they are interested in or about to use a design system. Best place for docs is a dedicated website in my opinion, made with easy-to-use frameworks such as Next.js or Gatsby. First off, the home page or the navigation bar should offer links to the most important parts of the design system. To figure out what are the important parts, we need to understand the different roles in the target audience. Developers implement the components, so they need information about the components and how to get started. Designers want to look at the designs, guidelines, and patterns on how to approach different use cases such as form validation. Product owners are interested in why they should use the design system and how it would improve their product’s development on a day-to-day basis. Documentation is a benefit for the team behind the design system as well as it helps newcomers to get familiar with it. When we have figured out the needs of the users, all we need to do is provide them with quick paths to satisfaction. A good example of a documentation site is <a href="https://hds.hel.fi/" target="_blank">hds.hel.fi</a> which received positive feedback for being clear and informative. People especially liked components docs because of live code editors which allow users to test the components in a quick and easy fashion.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why does the technology used to create the website for the DS affect if the DS is good?
do they have some unique advantage that you could elaborate on

Documentation is the first place the users will flock to when they are interested in or about to use a design system. Best place for docs is a dedicated website in my opinion, made with easy-to-use frameworks such as Next.js or Gatsby. First off, the home page or the navigation bar should offer links to the most important parts of the design system. To figure out what are the important parts, we need to understand the different roles in the target audience. Developers implement the components, so they need information about the components and how to get started. Designers want to look at the designs, guidelines, and patterns on how to approach different use cases such as form validation. Product owners are interested in why they should use the design system and how it would improve their product’s development on a day-to-day basis. Documentation is a benefit for the team behind the design system as well as it helps newcomers to get familiar with it. When we have figured out the needs of the users, all we need to do is provide them with quick paths to satisfaction. A good example of a documentation site is <a href="https://hds.hel.fi/" target="_blank">hds.hel.fi</a> which received positive feedback for being clear and informative. People especially liked components docs because of live code editors which allow users to test the components in a quick and easy fashion.


I find that components are the ‘meat’ of a design system, so their behavior and specifications should be explained in depth. <a href="https://storybook.js.org/" target="_blank">Storybook</a> is a great tool for displaying isolated components and demonstrating all their possible use cases. With Storybook the users can browse the component’s props, fiddle with them in a live demo and read the component docs if you wish to add those there as well. Stories work well with visual regression testing too, e.g. <a href="https://www.chromatic.com/" target="_blank">Chromatic</a> or <a href="https://loki.js.org/" target="_blank">Loki</a>. Speaking of testing…
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

props => properties?

@tatut tatut merged commit fef5868 into solita:master Jan 23, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants