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
720
Sass & Style Guides
jina
11
540
Designing for Enterprise
jina
4
270
Refactoring Web Interfaces
jina
20
1.1k
Sass Basics #1
jina
4
440
Other Decks in Technology
See All in Technology
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
140
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
580
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
330
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
250
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
670
なぜAI時代に技術記事を書くのか?どう書くのか? 〜bunの場合〜
kworkdev
PRO
0
1.1k
AIエージェントに 権限と鍵をどこまで渡すか
nrinetcom
PRO
2
160
今から始めるAWS環境の暗号移行 - ポスト量子時代に備える
sato4mi
0
130
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
360
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
100
AI AgentによるEmbedded SREの取り組み
tgidgd
1
270
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
590
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Everyday Curiosity
cassininazir
0
380
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Why Our Code Smells
bkeepers
PRO
340
58k
First, design no harm
axbom
PRO
2
1.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
550
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
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