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
In Search of the Single Source of Truth
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
jina
May 29, 2014
Technology
440
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.7k
Living Design Systems
jina
42
2.5M
Lightning Design System
jina
6
700
Sass & Style Guides
jina
11
520
Designing for Enterprise
jina
4
250
Refactoring Web Interfaces
jina
20
1k
Sass Basics #1
jina
4
420
Other Decks in Technology
See All in Technology
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
1
1.1k
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
120
自宅LLMの話
jacopen
1
720
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
24
7.6k
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
3
840
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
170
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
190
GitHub Copilot app最速の発信の裏側
tomokusaba
1
260
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
180
コミットの「なぜ」を読む
ota1022
0
120
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
3.9k
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
150
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
A better future with KSS
kneath
240
18k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
ラッコキーワード サービス紹介資料
rakko
1
3.7M
WENDY [Excerpt]
tessaabrams
11
38k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
HDC tutorial
michielstock
2
720
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Everyday Curiosity
cassininazir
0
240
How to Talk to Developers About Accessibility
jct
2
250
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