Design tokens with superpowers!

A presentation at #zapatillasFromMars πŸ‘ŸπŸš€ in April 2020 in by Juan Carlos Ruiz

Slide 1

Slide 1

Design tokens with superpowers! #zapatillasFromMars πŸ‘ŸπŸš€ 1

Slide 2

Slide 2

πŸ–– Hi from Mars! 2

Slide 3

Slide 3

Juan Carlos Ruiz Frontend developer at Adevinta Co-organizer of Murcia Frontend @klaufel πŸ‹ 3

Slide 4

Slide 4

We are a family of digital brands 4

Slide 5

Slide 5

vars != DESIGN TOKENS 5

Slide 6

Slide 6

Design tokens are a methodology 6

Slide 7

Slide 7

Design tokens are a methodology Variables are just part of that story 6

Slide 8

Slide 8

Your design tokens, same communication language 7

Slide 9

Slide 9

Design system distilled process 8

Slide 10

Slide 10

Design system distilled process 🎟 Design tokens Colors, typography, layout, spacing, … 8

Slide 11

Slide 11

Design system distilled process 🎟 Design tokens Colors, typography, layout, spacing, … 🎨 Design components 8

Slide 12

Slide 12

Design system distilled process 🎟 Design tokens Colors, typography, layout, spacing, … 🎨 Design components Methodology βš› Atomic design Atom / Molecule / Organism / Template / Page 8

Slide 13

Slide 13

Design system distilled process 🎟 Design tokens Colors, typography, layout, spacing, … 🎨 Design components πŸ›  Develop components Methodology βš› Atomic design Atom / Molecule / Organism / Template / Page 8

Slide 14

Slide 14

Design system distilled process 🎟 Design tokens Colors, typography, layout, spacing, … 🎨 πŸ›  Design components Develop components Methodology Pattern library βš› πŸ“¦ Atomic design Atom / Molecule / Organism / Template / Page Catalog of components 8

Slide 15

Slide 15

Design system distilled process THEME 🎟 Design tokens Colors, typography, layout, spacing, … 🎨 πŸ›  Design components Develop components Methodology Pattern library βš› πŸ“¦ Atomic design Atom / Molecule / Organism / Template / Page Catalog of components 8

Slide 16

Slide 16

Let’s ”paint”! 🎨 9

Slide 17

Slide 17

UI design tools πŸ‘‡ Figma Sketch inVision Xd Photoshop 10

Slide 18

Slide 18

UI design tools πŸ‘‡ Figma Sketch inVision Xd Photoshop 10

Slide 19

Slide 19

UI design tools πŸ‘‡ Figma 😿 Sketch inVision Xd Photoshop 10

Slide 20

Slide 20

UI design tools πŸ‘‰ πŸ‘‡ Figma 😿 Sketch inVision Xd Photoshop 10

Slide 21

Slide 21

UI design tools πŸ‘‰ πŸ‘‡πŸ‘‰ Figma 😿 Sketch inVision Xd Photoshop 10

Slide 22

Slide 22

UI design tools πŸ‘‰ πŸ‘‡πŸ‘‰ Figma 😿 Sketch inVision Xd Photoshop πŸ‘‰ 10

Slide 23

Slide 23

UI design tools πŸ‘‰πŸ‘‰ πŸ‘‡πŸ‘‰ Figma 😿 Sketch inVision Xd Photoshop πŸ‘‰ 10

Slide 24

Slide 24

UI design tools πŸ‘‰πŸ‘‰ πŸ‘‡πŸ‘‰ Sketch inVision Xd Photoshop πŸ‘‰ πŸ‘‰ Figma 😿 10

Slide 25

Slide 25

UI design tools πŸ‘‰πŸ‘‰ πŸ‘‡πŸ‘‰ Sketch πŸ‘‰ πŸ‘‰ πŸ‘‰ Figma 😿 inVision Xd Photoshop 10

Slide 26

Slide 26

Design tokens definition 11

Slide 27

Slide 27

Color tokens Primary colors light - #56a4c9 main - #2587b8 dark - #1d698f 40 - #999999 20 - #cccccc error - #e5363a warning - #ffa90d Neutral colors 80 - #333333 05 - #f2f2f2 00 - #ffffff Alert colors success - #109c42 12

Slide 28

Slide 28

Typography tokens Headings Default Family: Open Sans (700) Normal Family: Open Sans (700) Small Family: Open Sans (700) Size: 28px Line height: 40px Minions ipsum chasy baboiii bappleees Size: 20px Line height: 28px Minions ipsum chasy baboiii bappleees Size: 18px Line height: 24px Minions ipsum chasy baboiii bappleees Size: 14px Line height: 20px Minions ipsum chasy baboiii bappleees Body Normal Family: Open Sans (400) 13

Slide 29

Slide 29

Spacing tokens 8-Point grid system xxs xs sm md lg xl xxl 4px* / 8px / 16px / 24px / 32px / 40px / 48px / 56px 14

Slide 30

Slide 30

More tokens! Breakpoints Radius Shadows 15

Slide 31

Slide 31

More tokens! Breakpoints Radius Shadows do you need anything else? 15

Slide 32

Slide 32

Think LEGO bricks 16

Slide 33

Slide 33

Component Spacing token sm Color token Primary Default button main Radius token Corner sm Spacing token md Color & typography token Neutral / Body 00 normal 17

Slide 34

Slide 34

Design tokens to vars @ $ {} β€” </> 18

Slide 35

Slide 35

Design tokens are agnostic Design Layout, aestethics, usability Frontend Funcionality, perf, construction 19

Slide 36

Slide 36

Design tokens are agnostic Design Frontend Layout, aestethics, usability Funcionality, perf, construction DESIGN TOKENS as vars to any plattform 19

Slide 37

Slide 37

Web plattform Preprocessor CSS-in-JS CSS 20

Slide 38

Slide 38

Native plattform Android iOS 21

Slide 39

Slide 39

The flow to generate tokens 22

Slide 40

Slide 40

The flow to generate tokens 23

Slide 41

Slide 41

The flow to generate tokens Design file 23

Slide 42

Slide 42

The flow to generate tokens Design file Manual or plugin export 23

Slide 43

Slide 43

The flow to generate tokens Design file Manual or plugin export Preprocessor 23

Slide 44

Slide 44

The flow to generate tokens Design file Manual or plugin export Preprocessor CSS 23

Slide 45

Slide 45

The flow to generate tokens Design file Manual or plugin export Preprocessor CSS-in-JS CSS 23

Slide 46

Slide 46

The flow to generate tokens Design file Manual or plugin export Android Preprocessor CSS-in-JS CSS 23

Slide 47

Slide 47

The flow to generate tokens Design file Manual or plugin export Android Preprocessor CSS-in-JS iOS CSS 23

Slide 48

Slide 48

The β€œgood” flow to generate tokens 24

Slide 49

Slide 49

The β€œgood” flow to generate tokens Design file 24

Slide 50

Slide 50

The β€œgood” flow to generate tokens Design file Manual or plugin export 24

Slide 51

Slide 51

The β€œgood” flow to generate tokens πŸ‘‡ {} Design file Manual or plugin export Tokens data colors, typography, spacing, … as a single JSON file 24

Slide 52

Slide 52

The β€œgood” flow to generate tokens πŸ‘‡ {} Design file Manual or plugin export Tokens data Style Dictionary colors, typography, spacing, … as a single JSON file 24

Slide 53

Slide 53

Style dictionary 25

Slide 54

Slide 54

Style dictionary CSS Preprocessor CSS-in-JS Android iOS 25

Slide 55

Slide 55

Style dictionary

$ {} </> [] CSS Preprocessor CSS-in-JS Android iOS 25

Slide 56

Slide 56

The AWESOME flow to generate tokens 26

Slide 57

Slide 57

Say hello to ! 27

Slide 58

Slide 58

The AWESOME flow to generate tokens 28

Slide 59

Slide 59

The AWESOME flow to generate tokens Figma file 28

Slide 60

Slide 60

The AWESOME flow to generate tokens Figma file Figma API 28

Slide 61

Slide 61

The AWESOME flow to generate tokens {} Figma file Figma API Tokens data colors, typography, spacing, … as a single JSON file 28

Slide 62

Slide 62

The AWESOME flow to generate tokens {} Figma file Figma API Tokens data colors, typography, spacing, … as a single JSON file 28

Slide 63

Slide 63

The AWESOME flow to generate tokens Design tokens as variables {} Figma file Figma API CSS CSS-in-JS Android iOS Preprocessor Tokens data colors, typography, spacing, … as a single JSON file 28

Slide 64

Slide 64

Show me the tokens… πŸ€‘ 29

Slide 65

Slide 65

30

Slide 66

Slide 66

With great power comes great responsibility πŸ•· 31

Slide 67

Slide 67

Let’s start! πŸ– figma.com/file/IGr2xoqcZX91CU7CDr4ZsI πŸ“¦ github.com/klaufel/pattern-library-skeleton PR are welcome! 32

Slide 68

Slide 68

#zapatillasFromMars πŸ‘ŸπŸš€ πŸ‘‹πŸ’‘ 33

Slide 69

Slide 69

#zapatillasFromMars πŸ‘ŸπŸš€ πŸ‘‹πŸ’‘ 33

Slide 70

Slide 70

😘 Thanks! slides.com/klaufel/design-tokens-with-superpowers @klaufel 34