DESIGN SYSTEM
for
Designer & Developer
introduction
Long time ago
Horrible Things HAPPEN in The Past
- No Standardisation
- No Design Patterns
- No Strong Foundations
- Less Brand Identity
- Not efficiency
After Years

- Bad Design Experience
- Bad User Experience
- Products / Website
looks like Unprofessional
CSS Framework
960 Grid System

Twitter Bootstrap (Responsive)


UI KIT
Flat UI by Design Modo


UI Kit Marketplace
CSS preprocessor
Technical Approach


Stylus, etc...
$prefix: "mobil";
.#{$prefix} {
color: red;
&.ford {
color: black;
}
&.toyota {
color: white;
width: 120px;
.innova {
width: 100px;
height: 100px;
}
}
}With
.mobil {
color: red;
}
.mobil.ford {
color: black;
}
.mobil.toyota {
color: white;
width: 100px;
}
.mobile.toyota--innova {
width: 100px;
height: 100px;
}Without
<<<< Auto Compile >>>>
Primary Button
Secondary Button
Error Button
$white: #ffffff;
$blue: #22c0f2;
$grey: #e6e6e6;
$black: #000000;
$red: #d74848;
.button {
color: $white;
&--primary {
background: ligthen($blue, 100);
}
&--secondary {
color: $grey-text;
background-color: ligthen($black, 10);
}
&--error {
background-color: $red;
}
}<a class="button button--primary">Primary Button</a>
<a class="button button--secondary">Secondary Button</a>
<a class="button button--error">Error Button</a>BEM (Block Element Modifier) METHODOLOGY

Block
Elements
Modifiers
<div class="block">
<div class="block__element">
<a class="block__element__link block__element__link--active"></a>
</div>
</div>.block {
&__element {
/* Styles here */
&__link {
/* Styles here */
&--hover {}
&--active {}
}
}
}Example: Form with input
Type Your Email & Join with 80,000 Subscribers
<div class="optin-form">
<input class="optin-form__input" />
<button class="optin-form__button" />
</div>.optin-form {
/* Styles here */
&__input {
/* Styles here */
}
&__button {
/* Styles here */
&:hover {
/* Hover styles here */
}
}
}
Imagine Tree Structure
block
|__ first-element
|__ another-element<div class="block">
<div class="block__first-element"></div>
<div class="block__another-element"></div>
</div>.block {
&__first-element {}
&__another-element {}
}
Folder Structures

Main.scss
File Utama, import file partials dari folder
Abstracts
Kumpulan Variable, Function dan Mixins. e.g colors
Base
Kumpulan Base Style. e.g Typography, Font
Components
Kumpulan Components. e.g buttons, input, etc
Pages
Kumpulan Pages. e.g home, about-us, contact-us
themes
Kumpulan Themes. e.g app, admin, customer-support
LAYOUT
Kumpulan Layouts. e.g header, footer, sidebar
VENDOR
Kumpulan SASS dari vendor. e.g masonry, swiper, owl-carousel, etc
styleguides
Design Approach
Untuk Mempersulit Designer
Design Bukan Matematika
Standarisasi, Brand Identity, BERPRINSIP, Mempercepat Workflow

Simple StyleGuides
Detailed styleguides
MORE DETAILED STYLEGUIDES
Click Next

Hey man you see that guy over there
He is lazy to explain more about styleguides on the current slide
Design system
Design Language or Design Patterns
ATOMIC DESIGN
We’re not designing pages, we’re designing systems of components.—Stephen Hay


ATOMS
Atoms adalah komponen dasar dan terkecil dari sebuah block.
molecules
Molecules adalah kumpulan dari beberapa Atom. Sifatnya kompleks karena harus ada ikatan yang kuat antar atom yang digabungkan. Mengkombinasikan atom butuh sense design.

Organism
Molecules adalah block dasar yang kuat dalam atomic design. Organisme adalah kumpulan molecules. Sama seperti molecules, organism mempunyai sifat yang kompleks.


Templates
Template adalah kumpulan organism yang jadi satu. Bentuk template lebih fungsional dan lebih bisa di mengerti. Template sama seperti layout.

pages
Pages adalah bentuk yang paling sempurna. Dimana content bisa di terapkan dalam context masing-masing.

Google Material Design
Microsoft Fluent
references
awesome design system
atomic Design
styleguides list
block-element-modifier methodology
css framework list
learn basic sass
50%
Developer
50%
Designer
Some people don't like change, but you need to embrace change if the alternative is disaster.
Elon Musk
Big Thank You
Design System for Designer & Developer
By Ribhararnus Pracutian
Design System for Designer & Developer
- 335