L-I-V-I-N

A presentation at re:develop conference 2016 in October 2016 in Bournemouth, UK by Stuart Robson

Slide 1

Slide 1

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 2

Slide 2

L-I-V-I-N Pattern Libraries, Styleguides and a Design Language @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 3

Slide 3

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 4

Slide 4

Stuart Robson @sturobson www.alwaystwisted.com @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 5

Slide 5

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 6

Slide 6

designsystems.curated.co @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 7

Slide 7

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 8

Slide 8

why am i here? @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 9

Slide 9

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 10

Slide 10

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 11

Slide 11

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 12

Slide 12

L-I-V-I-N @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 13

Slide 13

pattern Libraries Styleguides Design Language @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 14

Slide 14

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 15

Slide 15

pattern libraries @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 16

Slide 16

the what @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 17

Slide 17

styleguides @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 18

Slide 18

the how @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 19

Slide 19

the where @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 20

Slide 20

the design language @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 21

Slide 21

the why @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 22

Slide 22

pattern Libraries @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 23

Slide 23

pattern Libraries Styleguides @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 24

Slide 24

pattern Libraries Styleguides Design Language @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 25

Slide 25

a design system @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 26

Slide 26

There is so much more to it @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 27

Slide 27

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 28

Slide 28

Why do we need them? @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 29

Slide 29

“We’re not designing pages, we’re designing systems of components. Stephen Hay @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 30

Slide 30

“Tiny Bootstraps Dave Rupert @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 31

Slide 31

consistency @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 32

Slide 32

quality @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 33

Slide 33

standardisation @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 34

Slide 34

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 35

Slide 35

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 36

Slide 36

maintainability @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 37

Slide 37

sustainability @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 38

Slide 38

empowerment @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 39

Slide 39

Choosing a solution @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 40

Slide 40

who is it for? @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 41

Slide 41

who is it for? » developers » designers » project managers » contractors » freelancers @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 42

Slide 42

who is it for? anyone involved in the project @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 43

Slide 43

clients? @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 44

Slide 44

What is it for? @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 45

Slide 45

what is it for? » a single website » html email » a marketing page » prototyping » all of the above and more @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 46

Slide 46

where will it go? @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 47

Slide 47

where will it go? » a ‘static’ website » a CMS » a 3rd party service » Outlook 2010 » an internal project @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 48

Slide 48

Deciding on a solution @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 49

Slide 49

deciding on a solution » the who » the what » the where @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 50

Slide 50

Deciding on a solution » the team » the project » the timeframe » the constraints » the requirements @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 51

Slide 51

What’s needed in a solution @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 52

Slide 52

What I think is needed and what (I think) works @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 53

Slide 53

technologies @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 54

Slide 54

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 55

Slide 55

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 56

Slide 56

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 57

Slide 57

maintainability @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 58

Slide 58

documentation @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 59

Slide 59

documentation » make it part of the process » make it part of the pattern library » make it part of the style guide @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 60

Slide 60

consistency @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 61

Slide 61

quality @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 62

Slide 62

standardisation @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 63

Slide 63

documentation » how to use the patterns or code » where to use the patterns or code » where not to the patterns or code @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 64

Slide 64

guidelines @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 65

Slide 65

guidelines » a subset of documentation » specific to the code being written » needs to be within the documentation @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 66

Slide 66

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 67

Slide 67

github.com/sturobson/docs @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 68

Slide 68

guidelines » BEM » OOCSS, ITCSS, SMACSS » Tabs or Spaces @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 69

Slide 69

Styleguide @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 70

Slide 70

“…a set of standards for the writing and design of documents” @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 71

Slide 71

Colour @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 72

Slide 72

typeface @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 73

Slide 73

Iconography @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 74

Slide 74

Grid systems @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 75

Slide 75

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 76

Slide 76

fast @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 77

Slide 77

clear @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 78

Slide 78

teachable @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 79

Slide 79

low barrier to entry @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 80

Slide 80

communication @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 81

Slide 81

communication » be open » don’t dictate » listen » move within existing workflows @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 82

Slide 82

be where the authors are @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 83

Slide 83

Buy in @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 84

Slide 84

buy in » your team » other teams » management @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 85

Slide 85

What is needed and what works » a build tool » an html templating language » a preprocessor » documentation » guidelines » teachable » buy in @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 86

Slide 86

L-I-V-I-N @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 87

Slide 87

L-I-V-I-N » part of the development process » easily updatable » single source of truth @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 88

Slide 88

automated @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 89

Slide 89

What is available @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 90

Slide 90

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 91

Slide 91

// // // // // // // A button suitable for giving a star to someone. :hover .star-given .star-given:hover .disabled

Subtle hover highlight. A highlight indicating you’ve already given a star. Subtle hover highlight on top of star-given styling. Dims the button to indicate it cannot be used. a.button.star{ … &.star-given{ … } &.disabled{ … } } @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 92

Slide 92

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 93

Slide 93

/* Provides extra visual weight and identifies the primary action in a set of buttons. <button class=”btn primary”>Primary</button> */ .btn.primary { background: steelblue; color: snow; border: 2px outset steelblue; } @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 94

Slide 94

styleguides.io @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 95

Slide 95

so much choice @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 96

Slide 96

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 97

Slide 97

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 98

Slide 98

What does not work @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 99

Slide 99

HTML in css @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 100

Slide 100

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 101

Slide 101

code will decay @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 102

Slide 102

TOO MUCH CSS preprocessing @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 103

Slide 103

easy to read, easy to adapt, easy to author @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 104

Slide 104

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 105

Slide 105

L-I-V-I-N Pattern Libraries, Styleguides and Design Systems @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 106

Slide 106

fractal.build @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 107

Slide 107

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 108

Slide 108

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 109

Slide 109

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 110

Slide 110

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 111

Slide 111

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 112

Slide 112

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 113

Slide 113

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 114

Slide 114

@sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 115

Slide 115

github.com/sturobson/SCL @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 116

Slide 116

L-I-V-I-N @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 117

Slide 117

L-I-V-I-N medium.com/webdevs @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 118

Slide 118

Pattern library - what styleguides - where, how design language - why Design System @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 119

Slide 119

work out what you need @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 120

Slide 120

investigate what’s available @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 121

Slide 121

borrow what you can @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 122

Slide 122

document it @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 123

Slide 123

strong message here @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 124

Slide 124

thank you @sturobson | www.alwaystwisted.com @sturobson | l-i-v-i-n | @redevelopconf October 2016

Slide 125

Slide 125

@sturobson | l-i-v-i-n | @redevelopconf October 2016