@sturobson | l-i-v-i-n | @redevelopconf October 2016
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
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 4
Stuart Robson @sturobson www.alwaystwisted.com
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 5
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 6
designsystems.curated.co
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 7
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 8
why am i here? @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 9
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 10
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 11
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 12
L-I-V-I-N
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 13
pattern Libraries
Styleguides Design Language @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 14
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 15
pattern libraries @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 16
the what @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 17
styleguides @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 18
the how @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 19
the where @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 20
the design language @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 21
the why @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 22
pattern Libraries @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 23
pattern Libraries
Styleguides @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 24
pattern Libraries
Styleguides Design Language @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 25
a design system @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 26
There is so much more to it
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 27
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 28
Why do we need them? @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
“Tiny Bootstraps Dave Rupert
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 31
consistency @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 32
quality @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 33
standardisation @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 34
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 35
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 36
maintainability @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 37
sustainability @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 38
empowerment @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 39
Choosing a solution @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 40
who is it for? @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 41
who is it for? » developers » designers » project managers » contractors » freelancers
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 42
who is it for? anyone involved in the project
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 43
clients? @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 44
What is it for? @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
where will it go? @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
Deciding on a solution @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 49
deciding on a solution » the who » the what » the where
@sturobson | l-i-v-i-n | @redevelopconf October 2016
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
What’s needed in a solution
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 52
What I think is needed and what (I think) works @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 53
technologies @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 54
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 55
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 56
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 57
maintainability @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 58
documentation @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
consistency @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 61
quality @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 62
standardisation @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
guidelines @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 67
github.com/sturobson/docs
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 68
guidelines » BEM » OOCSS, ITCSS, SMACSS » Tabs or Spaces
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 69
Styleguide @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 70
“…a set of standards for the writing and design of documents” @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 71
Colour
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 72
typeface
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 73
Iconography
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 74
Grid systems
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 75
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 76
fast @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 77
clear @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 78
teachable @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 79
low barrier to entry @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 80
communication @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 81
communication » be open » don’t dictate » listen » move within existing workflows
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 82
be where the authors are
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 83
Buy in @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 84
buy in » your team » other teams » management
@sturobson | l-i-v-i-n | @redevelopconf October 2016
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
L-I-V-I-N @sturobson | l-i-v-i-n | @redevelopconf October 2016
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
automated @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 89
What is available @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 90
@sturobson | l-i-v-i-n | @redevelopconf October 2016
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
@sturobson | l-i-v-i-n | @redevelopconf October 2016
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
styleguides.io
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 95
so much choice @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 96
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 97
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 98
What does not work @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 99
HTML in css @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 100
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 101
code will decay @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 102
TOO MUCH CSS preprocessing
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 103
easy to read, easy to adapt,
easy to author @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 104
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 105
L-I-V-I-N Pattern Libraries, Styleguides and Design Systems
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 106
fractal.build
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 107
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 108
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 109
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 110
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 111
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 112
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 113
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 114
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 115
github.com/sturobson/SCL
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 116
L-I-V-I-N @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 117
L-I-V-I-N medium.com/webdevs @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 118
Pattern library - what styleguides - where, how
design language - why Design System @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 119
work out what you need
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 120
investigate what’s available
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 121
borrow what you can @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 122
document it @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 123
strong message here
@sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 124
thank you @sturobson | www.alwaystwisted.com @sturobson | l-i-v-i-n | @redevelopconf October 2016
Slide 125
@sturobson | l-i-v-i-n | @redevelopconf October 2016