Let's get something out of the way: the idea of reusable UI elements is not new. Style guides, UI kits and pattern libraries exist for well over a decade. And at least since Brad Frost's Atomic Design methodology, designers and developers agree on the concept of components to encapsulate visual and functional properties of discrete user interface pieces.
However, a design system is not only a collection of the assets and components you use to build your product. According to Emmet Connolly, director of product design at Intercom, a design system is not just “a big box of UI Lego pieces that can be assembled in near-infinite ways. All the pieces may be consistent, but that doesn't mean the assembled results will be. Your product is more than just a pile of reusable UI elements. It has structure and meaning. It's not a generic web page, it's the embodiment of a system of concepts.”
"[A design system is ] a set of multidisciplinary shared, integrated principles and patterns that define the overall design of the product" – Karri Saarinen ex-Design Systems Lead @ Airbnb
And because markets and customer demands constantly change, a design system is not just an artifact of a design process. It is a living, funded product with a roadmap and backlog, serving an ecosystem.
So what sets a design system apart from something like a pattern library is that it is build with clear rules, constraints and principles, implemented in design and code. Ideally, it will convey your business identity and philosophy as well as strengthen the relationship of users with your brand.
That said, one of the primary benefits of a design system is the ability to quickly replicate designs, while removing the burden of developers to adhere to design specifications. Your marketers, designers and developers can collaborate quickly to produce the experience your customers wants, while maintaining the consistency your brand needs.
We work strongly together with the Reservix UX/UI Team. If the component is in more than in one product the designers will research its use cases, after that we all will discussing the behaviour, the look and feel. Also we will looking up the technical possibilities - if it all fits the component will be implemented. The same applies to the improvement of a component.
The goal of Marigold is to build an easy and compelling to use platform, regardless if you are a developer, designer or sales person.
The purpose of this Design System is to create a set of guidelines and components that are scalable and reusable, so that designers and developers can efficiently and comfortably develop Reservix products.
If you work at Reservix and have a design related or technical question, you can head over to our dedicated slack channel. We try to respond to everyone as quickly as we can and we're always happy to help.
If you have a bug report or feature request you can visit our github and write an issue. We have templates for feature requests, bugs and component updates.