SlideShare a Scribd company logo
1 of 28
Download to read offline
StyleguideDriven
Development
SEATTLE INTERACTIVE CONFERENCE / 2014
What?
Why?
How?
3
MATT FORDHAM
PARTNER & TECHNICAL DIRECTOR
WWW.WINTR.US / @MATTFORDHAM
5
6
Thetraditionalstyleguide
7
“Mock-ups”,“Comps”, etc
8
Theoldway
✴ Duplication of code
✴ Inconsistent code style
✴ Poorly named classes
✴ Visual bugs, regressions
✴ Inconsistent visual system
✴ Generally unmaintainable and expensive
9
A styleguide, in this context, is a developed, “living”
UI library containing all recurring styles used across a
project.
Styleguide Driven Development is the practice of
using the styleguide as the focal point for all front-end
UI development tasks.
What?
10
Why?
Separate content from styling
Meter Block (MailChimp) Section Block (Starbucks)
11
Why?
Intent and usage are documented
and clear for all to see
Salesforce Twitter Bootstrap
12
Why?
Unification and documentation
of design variables
Salesforce
Colors, padding, margins, font styles, etc
13
Why?
✴ Quicker page build-out
✴ Quicker manual testing
Yelp
14
Why?
✴ Agile-friendly
✴ Easier collaboration
for teams
15
Why?
It’s technically better!
Less redundant CSS = Smaller file size
16
How?
Take an inventory of design (so far)
✴ Colors?
✴ Header levels?
✴ Grid system?
✴ What modules should be created?
✴ How should things be named?
17
How?
Define a structure and
choose tools
✴ User a CSS preprocessor (Sass, Stylus, etc)
✴ Use partials, if available
18
How?
Use documented code style
✴ Routinely maintained and
version-controlled
✴ Include comments and todos
19
How?
Style all base HTML elements
Yelp
html-ipsum.com
✴ h1, p, ul, ol, li, etc
20
How?
Build custom modules
✴ Modules are the heart of the styleguide
✴ Use a system (BEM, SMACSS, OOCSS)
✴ Make modules small
✴ Make modules versatile
21
How?
Module example: The Media Object
http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/
22
23
How?
Document module usage (use a Styleguide generator)
Trulia’s Hologram
24
How?
Finally, build some pages and add
“glue”, if necessary
25
Before
✴ What markup and CSS do I need?
After
✴ What modules is this page made of?
✴ Do I need to create any new ones?
✴ Future modules and pages start in styleguide
Theprocess
26
Examples
✴ Yelp - http://www.yelp.com/styleguide
✴ MailChimp - http://ux.mailchimp.com/patterns/
✴ Salesforce - http://sfdc-styleguide.herokuapp.com/
✴ Github - https://github.com/styleguide/css/1.0
✴ Bootstrap - http://getbootstrap.com/components/
27
Resources
✴ http://alistapart.com/article/creating-style-guides
✴ http://vinspee.me/style-guide-guide/
✴ http://webuild.envato.com/blog/styleguide-driven-development/
✴ http://vimeo.com/86928424
Thankyou!
@MATTFORDHAM / WWW.WINTR.US

More Related Content

Similar to Styleguide Driven Development

Web design-ninja
Web design-ninjaWeb design-ninja
Web design-ninjaSpy Seat
 
Living Syleguides
Living SyleguidesLiving Syleguides
Living SyleguidesShawn Rider
 
MDA Vs Web Ratio for Non It
MDA Vs Web Ratio for Non ItMDA Vs Web Ratio for Non It
MDA Vs Web Ratio for Non Itanicolay
 
[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...
[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...
[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...DataScienceConferenc1
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!helenalozano6
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealJim Duffy
 
Forms usability design best practices experience dynamics web seminar
Forms usability design best practices  experience dynamics web seminarForms usability design best practices  experience dynamics web seminar
Forms usability design best practices experience dynamics web seminarExperience Dynamics
 
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedJoão Pedro Martins
 
Standards Based Approach to User Interface Development
Standards Based Approach to User Interface DevelopmentStandards Based Approach to User Interface Development
Standards Based Approach to User Interface DevelopmentSameer Chavan
 
Togaf 9.1 introduction strategica enterprise
Togaf 9.1 introduction   strategica enterpriseTogaf 9.1 introduction   strategica enterprise
Togaf 9.1 introduction strategica enterprisemdahdour
 
Agile Eng Practices Agilesparks
Agile Eng Practices AgilesparksAgile Eng Practices Agilesparks
Agile Eng Practices AgilesparksYuval Yeret
 
User Interface Design Style Guides are Not Dead, they Just Smell Funny
User Interface Design Style Guides are Not Dead, they Just Smell FunnyUser Interface Design Style Guides are Not Dead, they Just Smell Funny
User Interface Design Style Guides are Not Dead, they Just Smell FunnyUXPA International
 
User Interface Design Style Guides are not dead, the just smell funny
User Interface Design Style Guides are not dead, the just smell funnyUser Interface Design Style Guides are not dead, the just smell funny
User Interface Design Style Guides are not dead, the just smell funnyUSECON
 
Engineers do it better. What can designers learn from them?
Engineers do it better. What can designers learn from them?Engineers do it better. What can designers learn from them?
Engineers do it better. What can designers learn from them?Yvonne So
 
Learning from a Culture of Collaboration: Engineers do it better. What can de...
Learning from a Culture of Collaboration: Engineers do it better. What can de...Learning from a Culture of Collaboration: Engineers do it better. What can de...
Learning from a Culture of Collaboration: Engineers do it better. What can de...Intuit Inc.
 
DDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor SessionDDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor SessionMohamed Meligy
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PMHow Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PMProduct School
 
Swati_Gupta_.NET_5.7Years
Swati_Gupta_.NET_5.7YearsSwati_Gupta_.NET_5.7Years
Swati_Gupta_.NET_5.7Yearsswati gupta
 

Similar to Styleguide Driven Development (20)

Web design-ninja
Web design-ninjaWeb design-ninja
Web design-ninja
 
Living Syleguides
Living SyleguidesLiving Syleguides
Living Syleguides
 
MDA Vs Web Ratio for Non It
MDA Vs Web Ratio for Non ItMDA Vs Web Ratio for Non It
MDA Vs Web Ratio for Non It
 
[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...
[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...
[DSC DACH 23] Go with the flow – Track your machine learning lifecycle using ...
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
 
CI/CD in the serverless era
CI/CD in the serverless eraCI/CD in the serverless era
CI/CD in the serverless era
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big Deal
 
Forms usability design best practices experience dynamics web seminar
Forms usability design best practices  experience dynamics web seminarForms usability design best practices  experience dynamics web seminar
Forms usability design best practices experience dynamics web seminar
 
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
 
Standards Based Approach to User Interface Development
Standards Based Approach to User Interface DevelopmentStandards Based Approach to User Interface Development
Standards Based Approach to User Interface Development
 
Togaf 9.1 introduction strategica enterprise
Togaf 9.1 introduction   strategica enterpriseTogaf 9.1 introduction   strategica enterprise
Togaf 9.1 introduction strategica enterprise
 
Agile Eng Practices Agilesparks
Agile Eng Practices AgilesparksAgile Eng Practices Agilesparks
Agile Eng Practices Agilesparks
 
User Interface Design Style Guides are Not Dead, they Just Smell Funny
User Interface Design Style Guides are Not Dead, they Just Smell FunnyUser Interface Design Style Guides are Not Dead, they Just Smell Funny
User Interface Design Style Guides are Not Dead, they Just Smell Funny
 
User Interface Design Style Guides are not dead, the just smell funny
User Interface Design Style Guides are not dead, the just smell funnyUser Interface Design Style Guides are not dead, the just smell funny
User Interface Design Style Guides are not dead, the just smell funny
 
Engineers do it better. What can designers learn from them?
Engineers do it better. What can designers learn from them?Engineers do it better. What can designers learn from them?
Engineers do it better. What can designers learn from them?
 
Learning from a Culture of Collaboration: Engineers do it better. What can de...
Learning from a Culture of Collaboration: Engineers do it better. What can de...Learning from a Culture of Collaboration: Engineers do it better. What can de...
Learning from a Culture of Collaboration: Engineers do it better. What can de...
 
DDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor SessionDDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor Session
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PMHow Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
 
Swati_Gupta_.NET_5.7Years
Swati_Gupta_.NET_5.7YearsSwati_Gupta_.NET_5.7Years
Swati_Gupta_.NET_5.7Years
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Styleguide Driven Development