Bridge the Gap Between Design and Development

A presentation at CloudTalk - Front-End Talks in February 2022 in Prague, Czechia by Ondřej Konečný

Slide 1

Slide 1

Bridge the Gap Between Design and Development

Slide 2

Slide 2

About me Ondřej Konečný Designer and Developer

Slide 3

Slide 3

What is current situation?

Slide 4

Slide 4

What we want?

Slide 5

Slide 5

What we (probably) get?

Slide 6

Slide 6

What if there is a design update?

Slide 7

Slide 7

Dark mode example.

Slide 8

Slide 8

How we can improve it?

Slide 9

Slide 9

Storybook for the win. LIVE VERSION

Slide 10

Slide 10

What is Storybook good for? ✅ UI development ✅ Documentation ✅ Single source of truth ✅ Testing ✅ Live and actual state of the components ✅ Can be used by developers, designers, managers, testers

Slide 11

Slide 11

Recap

Slide 12

Slide 12

Recap

Slide 13

Slide 13

So, what should we do? ➔ Create scalable and maintainable Front-End Architecture ➔ Create a shared component library ➔ Unify frameworks, methodologies, naming conventions etc.

Slide 14

Slide 14

Why?

Slide 15

Slide 15

Because of high CSS specificity

Slide 16

Slide 16

We do not want this.

Slide 17

Slide 17

Because there is ⅔ unnecessary code.

Slide 18

Slide 18

And because we don’t like troubles.

Slide 19

Slide 19

Agan. What is the solution?

Slide 20

Slide 20

Figma inside - Foundations

Slide 21

Slide 21

Figma inside - Components

Slide 22

Slide 22

Figma inside - Tooltip

Slide 23

Slide 23

Fundamentals of the design

Slide 24

Slide 24

Naming of the variables

Slide 25

Slide 25

Component specific definitions

Slide 26

Slide 26

Multi-platform FE system architecture

Slide 27

Slide 27

So what are design tokens?

Slide 28

Slide 28

Global tokens Global tokens are the primitive values in our design language, represented by context-agnostic names. Our color palette, animation, typography, and dimension values are all recorded as global tokens. These can be directly used, and are inherited by all other token types.

Slide 29

Slide 29

Alias tokens Alias tokens relate to a specific context or abstraction. Aliases help communicate the intended purpose of a token, and are effective when a value with a single intent will appear in multiple places.

Slide 30

Slide 30

Component-specific tokens Component-specific tokens are an exhaustive representation of every value associated with a component. They often inherit from alias tokens, but are named in a way that allows engineering teams to be as specific as possible in applying tokens in component development.

Slide 31

Slide 31

Design tokens are just spicy variables.

Slide 32

Slide 32

Design tokens are just spicy variables.

Slide 33

Slide 33

How to convert JSON to CSS or another languages?

Slide 34

Slide 34

What should we do (IMHO) now?

Slide 35

Slide 35

Steps? ➔ ➔ ➔ ➔ Find the way how we construct the Front-End structure ◆ Monorepo? Multi-repo? Monolit? Npm packages? Select good CSS approach Move all components into one place Create Storybook - if you agree that it is useful

Slide 36

Slide 36

Great design and user experience lives in the details.

Slide 37

Slide 37

Thanks! Some topics for next meeting? And why is good consider not using this framework :)