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
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cosmos
Andres Galante
November 13, 2018
More Decks by Andres Galante
See All by Andres Galante
Make Something Great! Become an Open Source Contributor
andresgalante
0
220
Make Something Great: Become an Open Source Contributor
andresgalante
0
310
How to use CSS to make your App look amazing and be accessible on any device
andresgalante
0
84
Open source - JUG BA
andresgalante
0
82
Open source - QCon19
andresgalante
0
120
CSS - Media queries o tamanho não importa
andresgalante
0
100
PatternFly 4 variable system
andresgalante
0
110
Open source
andresgalante
3
99
Media Queries - CSS Conf Argentina
andresgalante
3
450
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Amusing Abliteration
ianozsvald
1
240
Optimizing for Happiness
mojombo
378
71k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Visualization
eitanlees
152
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Technical Leadership for Architectural Decision Making
baasie
3
450
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
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!