Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
In Search of the Single Source of Truth
Search
jina
May 29, 2014
Technology
450
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
In Search of the Single Source of Truth
Talk given at DevConFu.
jina
May 29, 2014
More Decks by jina
See All by jina
Design Systems are for People
jina
1
1k
Design Tokens in Design Systems
jina
9
29k
Designing a Design System
jina
34
7.8k
Living Design Systems
jina
42
2.5M
Lightning Design System
jina
6
710
Sass & Style Guides
jina
11
530
Designing for Enterprise
jina
4
260
Refactoring Web Interfaces
jina
20
1k
Sass Basics #1
jina
4
430
Other Decks in Technology
See All in Technology
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
520
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
340
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
860
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
110
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
750
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
210
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
190
AI de Idea
kawaguti
PRO
2
130
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
31
28k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
430
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Curse of the Amulet
leimatthew05
3
15k
The Curious Case for Waylosing
cassininazir
1
510
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
Automating Front-end Workflow
addyosmani
1369
210k
Making the Leap to Tech Lead
cromwellryan
135
10k
Navigating Team Friction
lara
192
16k
Transcript
In Search of the Single Source of Truth @JINA //
DEVCONFU // JŪRMALA // 2014
@jina
Senior Product Designer
— NATE FORTIN “A fractured process makes for a fractured
user experience.”
Style Guides are all the rage …AND THEY HAVE COME
A LONG WAY.
2004 // PDF Style Guide
PDFs are a pain to maintain. HEY, THAT RHYMES.
2007–2008 // Wordpress Style Guide
alistapart.com/article/writingainterfacestyleguide
Design & Brand Standards Front-end Development Standards Keeping Style Guides
Current & Useful
Wordpress was only slightly easier. …AND NOBODY EXCEPT ME WOULD
UPDATE IT.
2010–2011 // Living Style Guide with Sass
None
Engine Yard App Cloud Style Guide, Early 2011
ZOMG!
Engine Yard App Cloud Style Guide, Early 2011
Sass & Style Guides are awesome together!
blog.engineyard.com/2011/front-end-maintainability-with-sass-and-style-guides
Make Documentation a regular part of your work ow. 01
//
Don’t try to document everything at once. YOU’LL LIKELY GIVE
UP.
Document going forward.
Making something new? Document it.
Revising something? Refactor it. Then document it.
During design & code reviews, make sure decisions are documented.
2012–2013 // Living Style Guide with Sass for Web App
& Site Github Wiki for iOS & Android
Do CSS Style Guide, Late 2013
Do Responsive Layout Guide, Early 2013
For mobile, changes to colors & sizes were a nightmare
to update. PHOTOSHOP ⟶"DROPBOX ⟶"WIKI ⟶"☹
Document your ideal CSS Architecture. 02 //
vendor/ dependencies/ base/ components/ regions/ helpers/ responsive/ tools/ } my
ideal css architecture
Make a UI Library. 03 //
oocss.org
ux.mailchimp.com/patterns
Create pages
Create systems
bradfrostweb.com/blog/post/atomic-web-design
01 // Base HTML elements 02 // Modular components 03
// Page regions 04 // Layout system
Show the object with all of its associated states.
developer.android.com/design
developer.android.com/design/building-blocks/seek-bars
Show the code you want people to use, not the
nal output.
Add development tools for rapid development and testing. 04 //
starbucks.com/static/reference/styleguide
starbucks.com/static/reference/styleguide/layout_promo_e.aspx
starbucks.com/static/reference/styleguide/layout_promo_e.aspx
starbucks.com/static/reference/styleguide/layout_promo_e.aspx
starbucks.com/static/reference/styleguide/layout_promo_e.aspx
starbucks.com/static/reference/styleguide/layout_promo_e.aspx
starbucks.com/static/reference/styleguide/layout_promo_e.aspx
Try a responsive sandbox during development.
Do Responsive Layout Guide, Early 2013
Keep documentation current & useful. 05 //
jacobrask.github.io/styledocco
2013 // Living Style Guide with Sass + ERB &
YAML
sass-lang.com
sass-lang.com/styleguide
github.com/mattkersley/Responsive-Design-Testing
sass-lang.com/styleguide/responsive-test
We open sourced the website. Anyone can contribute to design.
What if a new color gets added? THE STYLE GUIDE
NEEDS TO BE UPDATED, TOO.
Can the CSS & Style Guide both share the same
attributes in one single con guration?
Single Source of Truth
Don’t Repeat Yourself
colors: - name: hopbush hex: "c69" - name: bouquet hex:
"b37399" - name: venus hex: "998099" - name: patina hex: "699" - name: nebula hex: "d2e1dd" - name: white hex: "fff" <% data.color.colors.each do |swatch| %> $<%= swatch.name %>: #<%= swatch.hex %>; <% end %> data/color.yml _color.scss.erb
colors: - name: hopbush hex: "c69" - name: bouquet hex:
"b37399" - name: venus hex: "998099" - name: patina hex: "699" - name: nebula hex: "d2e1dd" - name: white hex: "fff" %ul.swatches - for swatch in data.color.colors %li{class: "swatch-" + swatch.name} %pre %code = "$" + swatch.name %br/ = "#" + swatch.hex data/color.yml _color.haml
Sass Color Style Guide
2014 // Living Style Guide & Prototype with Sass &
Angular as Spec + Living Variables System for All Devices & Platforms
sfdc-styleguide.herokuapp.com
Prototypes Aura (our web framework) Native iOS Native Android Native
Windows
How do we keep our colors, spacing, & sizes consistent?
Theo BY SALESFORCE UX // OPEN SOURCING // COMING VERY
SOON!
Theo: theme tokenizer with JSON input Sass Stylus LESS Aura
plist XML {
sfdc-styleguide.herokuapp.com
@SalesforceUX
dribbble.com/salesforce
sass-lang.com
@TeamSassDesign
dribbble.com/TeamSassDesign
themixinsf.com
susy.oddbird.net
artinmycoffee.com
— GUSTAVE FLAUBERT “Be regular and orderly in your life
so that you may be violent and original in your work.”
T W I T T E R , D R
I B B B L E , I N STAG RA M , & G I T H U B @jina