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
92
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
190
Make Something Great: Become an Open Source Contributor
andresgalante
0
280
How to use CSS to make your App look amazing and be accessible on any device
andresgalante
0
52
Open source - JUG BA
andresgalante
0
57
Open source - QCon19
andresgalante
0
89
CSS - Media queries o tamanho não importa
andresgalante
0
68
PatternFly 4 variable system
andresgalante
0
94
Open source
andresgalante
3
80
Media Queries - CSS Conf Argentina
andresgalante
3
430
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
920
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Done Done
chrislema
184
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Language of Interfaces
destraynor
158
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Designing Experiences People Love
moore
142
24k
How to Ace a Technical Interview
jacobian
276
23k
A Tale of Four Properties
chriscoyier
159
23k
BBQ
matthewcrist
89
9.7k
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!