Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cosmos
Search
Andres Galante
November 13, 2018
0
100
Cosmos
Andres Galante
November 13, 2018
Tweet
Share
More Decks by Andres Galante
See All by Andres Galante
Make Something Great! Become an Open Source Contributor
andresgalante
0
200
Make Something Great: Become an Open Source Contributor
andresgalante
0
290
How to use CSS to make your App look amazing and be accessible on any device
andresgalante
0
61
Open source - JUG BA
andresgalante
0
65
Open source - QCon19
andresgalante
0
97
CSS - Media queries o tamanho não importa
andresgalante
0
78
PatternFly 4 variable system
andresgalante
0
100
Open source
andresgalante
3
82
Media Queries - CSS Conf Argentina
andresgalante
3
440
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Speed Design
sergeychernyshev
32
1.2k
Rails Girls Zürich Keynote
gr2m
95
14k
GitHub's CSS Performance
jonrohan
1032
470k
Become a Pro
speakerdeck
PRO
29
5.6k
Code Review Best Practice
trishagee
72
19k
How STYLIGHT went responsive
nonsquared
100
5.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Building Adaptive Systems
keathley
44
2.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Transcript
None
None
“Zala es la persona mas feliz del mundo” Anónimo (fué
Guille)
None
I DON’T KNOW WHO YOU ARE, BUT IF YOU SLOW
US DOWN, I WILL FIND YOU AND HURT YOU
None
None
WHY? 1
Rules make the system, they make it maintainable and scalable.
Without them there is no system, it’s a collection of random components. 1 WHY?
CSS is like a bear cub. Cute and inoffensive but
as he grows, he'll eat you alive. 1 WHY?
DESIGN COSMOS DEV 1 WHY?
Time Progress 1 WHY? Change Change Change
Time Progress 1 WHY?
1 WHY? Responsive & Accesible Requirements
-Eric Meyer “The Web is the most hostile environment to
developer assumptions imaginable.” Responsive
None
Accesible
2,87% Internet Explorer 15,6% People with disabilities (older than 15
years) Source: statcounter Source: WHO 1 WHY?
None
The web is accessible by default! If our app is
not accessible, it’s our fault. 1 WHY? outline: none;
None
None
None
HOW? 2
SYSTEM 2 HOW?
MAINTAINABILITY Isolation and Modularity 2 HOW?
Let each thing be a thing 2 HOW?
Components & Layouts Separation of concerns 2 HOW?
Layouts Layouts are the containers that allow for organizing and
grouping its immediate children on the page. GalleryLayout or StackLayout 2 HOW?
Components Components are modular and independent structures concerned with how
a thing looks. Box, Button, PageHeader 2 HOW?
B.E and prop Box.Header Box.Body Box.Footer 2 HOW?
UI Structures Components Layouts 2 HOW?
Components Layouts " 2 HOW?
Components Layouts # 2 HOW?
DEMO 2 HOW?
Theming Now lets talk about 2 HOW?
Tokens Global vs Component tokens https://css-tricks.com/theming-with-variables-globals-and-locals/ 2 HOW?
Global and component variables, when combined, can be super powerful,
make CSS more maintainable, and even collaborative. Geoff Graham 2 HOW?
BUMPERS! 2 HOW?
Global tokens global variables keep consistency across components Global.Concept.Modifier 2
HOW?
Global tokens Global.Concept.Modifier Global.Spacer.Small Global.FontSize.Medium Global.LineHeight.Large 2 HOW?
Typography Borders Breakpoints Colors Spaces Shadows 2 HOW? Global tokens
Component tokens component variables are scoped to theme-able component properties
Block.Element.Prop.CSS-Property 2 HOW?
Component tokens Box.Color Box.Header.PaddingTop Box.Primary.BorderColor Block.Element.Prop.CSS-Property 2 HOW?
Box.PaddingTop Button.PaddingTop Alert.PaddingTop Box.Primary.Color ButtonPrimary.Color Alert.Primary.Color Global.Spacer Global.Color.Primary Global Component
2 HOW?
Global.Color.Primary 2 HOW?
--pf-c-box--PaddingTop --pf-c-button--PaddingTop --pf-c-alert--PaddingTop --pf-global--spacer--md Global Component Box.Primary.Color ButtonPrimary.Color Alert.Primary.Color Global.Color.Primary
2 HOW?
Global.Color.Primary Alert.Primary.Color 2 HOW?
--pf-c-box--PaddingTop --pf-c-button--PaddingTop --pf-c-alert--PaddingTop --pf-global--spacer--md Global Component Box.Primary.Color ButtonPrimary.Color Alert.Primary.Color Global.Color.Primary
2 HOW?
DEMO 2 HOW?
LIQUID CAT Responsive Accessible Documented 2 HOW?
Quality Time Accessibility Responsive Documented 2 HOW?
Quality Time Accessibility Responsive Documented 2 HOW?
None
OUTCOME 3
SYSTEMS ARE BUILT TO CHANGE 1
Time Progress 3 OUTCOME
A good design system empowers designers to code, and developers
to design. Thanks Diana Mounter for this slide
DESIGN COSMOS DEV 3 OUTCOME
IMPROVES CONSISTENCY 2
https://www.nngroup.com/articles/top-10-mistakes-web-design/ “...when things always behave the same, users don't have
to worry about what will happen. Instead, they know what will happen based on earlier experiences” Jakob Nielsen 3 OUTCOME
IMPROVES DEVELOPMENTS EXPERIENCE 3
Easier to implement Don’t make me think 3 OUTCOME
IMPROVES MAINTAINABILITY 4
MAINTAINABILITY Isolation and Modularity 3 OUTCOME
None
SO… WHAT’S THE PLAN? 4
4 THE PLAN
4 THE PLAN Organize the system implementing rules, without been
a blocker. Goal
Add layouts Add opt-in margins 4 THE PLAN Step #1
4 THE PLAN Fix components Remove margins Step #2
4 THE PLAN Recurring meeting? IE11? BrowserStack? Next steps
Thanks!