What do you guys think of the Carbon Design System[1]?
It's an open source design system created and maintained by IBM, with official implementations in React, vanilla JS and web components and community implementations for Angular, Vue and Svelte.
Are there people using it in production, or for serious side projects?
This is the first I'm hearing of it, but my initial impression is pretty poor given that there is no loading indicator when you click any link on the website, so if a page takes a while to load, there is absolutely no indication that anything is happening. I know it's petty, but that doesn't set a good tone for the rest of the design system.
I used it in Svelte for a desktop app I wrote. It was okay. Like a lot of design frameworks I found it to be pretty rigid. However, take what I say with a grain of salt. I really like CSS frameworks like Tailwind that I can combine with something like Svelte.
Carbon is absolutely amazing. They are using a very flat style in pursuit of a modern corporate brand, just like a lot of other tech companies today, but the design also incorporates a lot of traditional and familiar elements. It’s a rare instance of flat UI that does not feel mobile oriented and half assed on desktop.
Carbon components are also the most accessible component set I have seen, and they go through great lengths doing automated and manual accessibility testing.
The library though, is a bit lackluster. It’s tailored for IBM’s internal need, and is still a bit far from a complete framework. So you need to be prepared to write some CSS as well as designing your own components when you need one.
Just a little nitpick: I got curious why they choose a brush to represent the project. The icon is very related to art and illustration, but very poor in representing the scope of the project. Maybe something more… designed?
> why they choose a brush to represent the project.
A brush can be a tool for design; graphic design was analog before it was digital. The brush is at a particular orientation, reminiscent of a person looking forward. The human aspect is part of their focus, so the logo fits the dual meaning.
I am active on opensource design since several years. Back when we created the logo we had many discussions what would represent design well. Problem is that design often means something rather abstract and it easily leads to boxes and/or arrows to signify "process" or "concepts" etc.
If I remember correctly I would have preferred a pencil but, admittingly, it has a less recognizable shape in the flat-shapes-design of today’s icons.
Design can mean many things. I am a backend developer and we also design, but our designs are for abstract structures with certain qualities required for humans, machines, and ilities. I thought that this might be related to backend design. I looked into the website looking for a definition of what hey mean by "design". I did not spend a lot of time but I could not find it. I guess they are talking about UX design. Then suddenly I am not so interested. Not because I feel that UX design is not interesting; it is extremely important. But I think we also need to talk about backend design so much more.
It's about UI and UX design. When people mix both, they usually mean "UI only, but we have to talk about UX", but this one seems honestly aimed at both.
My experience with trying to help open-source projects with design has been quite bad. Projects that most need design help are usually not sponsored by a company, a true contributor project. Design is opinionated, and for many projects it can be hard to find consensus. Much easier to find consensus around adding features.
Two very different examples: Blender and Audacity (pre-acquisition). Blender was able to pull off something spectacular with 2.8, a full rethink of UI, controls, even app structure. But Blender is basically a company, with full-time employees, it's just that their output is open-source. Audacity, as far as I know, didn't have full-time employees. And as it grew in features, it never had any significant UI cleanup. Menus just grew, icons were tacked on. It might change now that they have been acquired.
I sometimes wonder if UI/UX passes on open-source tools would be better with very explicit "experimental forks" that keep with upstream when they can. Over time, the successful fork starts to get more traffic from regular users and re-merges. It might save time compared to long debates without much agenda.
I'm fairly firmly of this opinion (though I only have a little experience working on large open-source projects). Sure, there can be productivity loss in developing in parallel vs developing a consensus, but nothing highlights the strengths and weaknesses of a design like actually implementing and using it.
The challenge for end-user focussed design is that it is very resource intensive to develop parallel UIs (and for many devs they are the least fun thing to implement), whereas it is not that much of a problem to add an additional parameter to a command line program.
> I sometimes wonder if UI/UX passes on open-source tools would be better with very explicit "experimental forks" that keep with upstream when they can. Over time, the successful fork starts to get more traffic from regular users and re-merges.
Probably the best example of this approach is the Firefox (originally Phoenix, then Firebird) origin story:
Blender also used to be closed source. Blender foundation had to crowdfund the source code to make it open. I was already using Blender in 1998 when it went freemium and it was already quite evolved, I didn't feel like the UI was bad compared to 3DS Max or Lightwave.
Also check out https://openby.design. Where complete designs are crafted and made open source. Can be used for both open source software projects as well as closed/commercial applications.
The license for that doesn't appear to allow modifications and has a restriction on competition with openby.design, so I don't think it meets the Open Source Definition.
23 comments
[ 3.1 ms ] story [ 55.1 ms ] threadIt's an open source design system created and maintained by IBM, with official implementations in React, vanilla JS and web components and community implementations for Angular, Vue and Svelte.
Are there people using it in production, or for serious side projects?
[1] https://carbondesignsystem.com/
https://carbondesignsystem.com/components/loading/usage/
https://carbondesignsystem.com/components/inline-loading/usa...
Carbon components are also the most accessible component set I have seen, and they go through great lengths doing automated and manual accessibility testing.
The library though, is a bit lackluster. It’s tailored for IBM’s internal need, and is still a bit far from a complete framework. So you need to be prepared to write some CSS as well as designing your own components when you need one.
A brush can be a tool for design; graphic design was analog before it was digital. The brush is at a particular orientation, reminiscent of a person looking forward. The human aspect is part of their focus, so the logo fits the dual meaning.
I'm an architect and to me design definitely means a very different thing than just how the UI looks, think system design.
But in this case they are "a group of designers" specifically talking about UI design.
Two very different examples: Blender and Audacity (pre-acquisition). Blender was able to pull off something spectacular with 2.8, a full rethink of UI, controls, even app structure. But Blender is basically a company, with full-time employees, it's just that their output is open-source. Audacity, as far as I know, didn't have full-time employees. And as it grew in features, it never had any significant UI cleanup. Menus just grew, icons were tacked on. It might change now that they have been acquired.
Probably the best example of this approach is the Firefox (originally Phoenix, then Firebird) origin story:
https://www.wired.com/2005/02/firefox/
https://openby.design/license.html https://opensource.org/osd