top of page
icon linkedin
icon instagram
icon dribbble
icon medium

Auto Compara Design System 

Service

Client

Design System, Ui

Santander

Year

2020

From the  beginning of the project we understood the need for a design system. I believe that, however minimal  it is, every project needs a component library. Component libraries make developers' lives much easier, and for us (products, ui, ux or any other acronym...)  gives us a good macro view of the project and with a certain systemic bias , we leave aesthetics aside and focus on the pure function of a component.

It was not easy.

Our first clash was the project itself.  If you search for design system on Google, you will find the following sentence: "The design system is a product that serves other products." but what to do when the product to be served is not understood? And when we don't have time? And when our priority is o discovery, ux and screen delivery? 

  At first I used Material Design as the basis for our design system, this is the smartest approach to take when we don't have time or resources in our favor.

I started with ready-made components from a small library we had and of course I didn't get very far. Making something from scratch is not easy, making decisions about functions that will work in different contexts, preparing a legacy for future teams is not just building a project, it is building a concept. Before talking about components I need to solidify a base, like in a house I need a foundation. 

 

First, I stipulated the principles of the design system, I find it interesting to give it an identity so that any professional who enters the project is already in the its essence.

And those are: Metaphor, Intuition and Personal Design.

"Fun.da.ment: Set of works necessary to solidly lay a construction: start the foundations of a building."

O fundamento é tudo aquilo que serve de base para a cosntrução de um componente .

See the examples below:  

exemplo 1: campo default de nome com label text, icone,  texto preenchido e check de validação
Exemplo 2 com o mesmo campo mas no formato de erro emulando uma situação onde o usuário não os dados corretos no campo. O campo está vermelho e o ícone check de verificação agora é um x vermelho.

We have two states of the same component, how am I going to speculate that state if it doesn't assign any function to the colors? Colors are not components, but in a project they have a systemic and semiotic function.

 

Mapear elementos e não são componentes mas fazem parte essencial deles é como dar um passo pra traz  para enquadrar uma photo, Atomic design explains this in a very clear way: inside a structure there are molecules and atoms, here I called these molecules fundamentals.

About processes

According to Nathan Curtis, “A Design System  is not a design. It is a product that serves a other products" and this is how it should be treated. At the beginning of the project, we tried to fit the construction of components into our delivery routine and the results were just a compilation  with a little more than half a dozen components without any technical specification. When we looked at the design system as a separate project, I was able to devote time to further research and thus build a much more solid document. 

Dado beginning a construction of the design system the expectations were of a linear process, something similar to a classic production mat: ideation homologation and development but it is not.  

Imagem de uma linha reta se tornando um emaranhado e depois uma linha reta novamente, esse é uma representação de como funciona a solução de um problema onde existe um emaranhado de ideias que são organizadas nos levando a solução

How we imagine the process of creating a component: a tangle of discussions and tests. after. delivery for development. 

But in fact it is like this: the creative process of a component depends on other components, as well as depends  on the fundamentals and, at the same time, it must be functional  and consistent.   This generates a round trip natural. It is necessary to test because there are situations where the component works in one context and not in another.

A mesma imagem com o emaranhado mas ao invés de uma linha reta continua aqui a linha sempre volta para o emaranhado representando que a criação de um design system é comum voltar a faze de ideação e solução de problemas. É um processo de vai e volta.

Establishing a creative process that is not a linear treadmill does not mean a messy process, I established a simple kanban for my personal control,  with some very useful topics so I managed to keep the creation process focused on agile and I didn't get lost in these day-to-day comings and goings.

Component mapping: in this first step we mepe all the screens looking for the components to be made, here our intention is to raise not only how much this component is used but how it suffers "breaks", that is, how many times it is (or can be ) modified.

For example: How many titles do we have? What's the difference between them? What is the function of each one? 

Research: Here we do a deep research on this component, what it is, what is its use, nomenclatures and derivations, this helps a lot when it comes to achieving a universal language for System design, we work with many terms in English on a daily basis and some elements may contain nomenclatures  or regional terms it is always important to research. 

 

Component discussion: With this information and with the components mapped, I can  open a discussion with other designers or not, this depends on the complexity of the component and how much it is used in the project, in general we discuss its usability , possible failures and developments. 

Refinement: Here some fine adjustments are made to the components, we adjust it to the library and create variations (component state).

Homologation with Devs: A   technical validation aimed at development. 

Structure of a component 

A behavior has the structure: 

Cor 

Type 

icon/image

Spacing

Margin

Form 

Occupation

Captura_de_Tela_2020-10-31_às_22.25.26.

All these details must be chosen very carefully, as they must work in any context. 

When a component is structurally done, I write a text explaining what it is, why it was made that way and how to use it. I also explain rules and spacing and margins, exceptions and derivations. So I keep the System design independent, anyone can create a new component or even modify an existing one.

top-view-photo-of-cars-on-road-2413526.j

Doing a System design is not easy, it requires dealing with the very notion of rhythm and productivity, looking at the macro and the micro simultaneously, being flexible and maintaining focus. It's something really crazy, it's almost philosophical, whenever people ask me what I've learned, I think my answer doesn't meet the expectations of the curious, my answer is always the following - "I learned to let go, nothing is perfect. Sometimes The best thing you can do is stop being a perfectionist. Focus on delivery. These minutiae that we are so attached to are always put to proof once the Design System.  " - And it's true, I have a pretty long list of technical details about UI and UX that I've learned, but this is the biggest lesson.

bottom of page