SlideShare a Scribd company logo
1 of 71
Download to read offline
Design Systems
ngAarhus October meetup
Mikkel Rom Engholm
Senior Frontend Developer, Creuna
2 things you’re probably wondering
© Creuna
”Can I get the slides?”
”Can I ask a question?”
© Creuna
HTML + CSS only
Who am I?
Agenda
© Creuna
1. 4 problems
2. What is a design system?
3. How it solves the 4 problems
4. How to get started?
How do we
effectively build upon
an existing website?
Example
Nothing but
best guesses
4 problems
Problem #1: Missing overview
© Creuna
• No idea about what’s available
• Tough onboarding/coming back to a project
• Hidden UI (e.g. log in to view page)
Problem #2:
Reusability
Photo by Ashim D’Silva on Unsplash
Problem #2: Reusability
© Creuna
Making components too specific and not reusable
Naming is hard So we end up doing this
Sketch – design tool
Or this
Userstory: ”As a stakeholder I would like to have a promotion banner for the front page”
Problem #3:
Inconsistency
Image courtesy: http://lootok.com
© Creuna
Problem #3: Inconsistency
Inconsistencies across
modules, pages and platforms
will affect the overall
User Experience
© Creuna
Problem #4: Communication
Organization
! "
#
$ Dev Team
Business
Editors
! Slider
" Carousel
# Swiper
$ Product rotator
What do we call ”the thing”?
1. Missing overview
2. Reusability
3. Inconsistency
4. Communication
Summary of the 4 problems
What is a
Design System?
System documentation
© Creuna
Palladio’s The Four Books of Architecture – 1570, Venice
Source: http://designsystemsbook.com/
The NASA Graphics Standards Manual - 1975
Source: https://standardsmanual.com/products/nasa-graphics-standards-manual
© Creuna
Component library
Pattern library UI library
UI kit
Style guide
Brand guidelines
Tone of voice
Documentation in Software Development
What are Design Systems?
Source: https://product-unicorn.com/design-systems-style-guides-all-those-libraries-what-the-hell-is-the-difference-4c2741193fdc
© Creuna Source: http://carbondesignsystem.com
© Creuna Source: http://carbondesignsystem.com
Colors Typography
Styles
© Creuna Source: http://carbondesignsystem.com/components/button/code
Components
© Creuna
Developers UX Design
© Creuna
”Tiny Bootstraps,
for Every Client”
Dave Rupert
© Creuna Source: https://daverupert.com/2013/04/responsive-deliverables/
Documentation of:
1. Styles
2. Components
3. Design and UX decisions
4. Brand and content rules
Now we all know what a Design System is!
How it solves
the 4 problems
• Overview of all components and styles
• Easier onboarding
• No more hidden UI
How it solves the 4 problems
© Creuna
1 Missing overview
2 Reusability
3 Inconsistency
4 Communication
Creating UI components in isolation,
makes it reusable by default
How it solves the 4 problems
© Creuna
1 Missing overview
2 Reusability
3 Inconsistency
4 Communication !
• A Single Source of Truth
• Living documentation
• Create a component once and reuse it
How it solves the 4 problems
© Creuna
1 Missing overview
2 Reusability
3 Inconsistency
4 Communication
• A Single Source of Truth
• Everyone can use it for reference, everyone will
speak the same language
• Now everyone knows what a ”swiper” is, because
it’s in the system
How it solves the 4 problems
© Creuna
1 Missing overview
2 Reusability
3 Inconsistency
4 Communication
Should I use a
Design System?
Should I use a Design System?
© Creuna
“Every project that you do should
be a design systems project.”
Dan Mall
© Creuna Source: https://blog.prototypr.io/why-every-project-should-be-a-design-systems-project-9adeae141088
Still need to convince your
client/boss/organization?
© Creuna Source: http://bradfrost.com/blog/post/interface-inventory/
Exercise: Interface Inventory – The steps
© Creuna Source: http://bradfrost.com/blog/post/interface-inventory/
1. Go through your website and find
similar elements
2. Screenshot it
3. Categorize it
4. Present it
Exercise: Interface Inventory
© Creuna Source: http://bradfrost.com/blog/post/interface-inventory/
”A Design System isn’t a Project.
It’s a Product, Serving Products”
Nathan Curtis
© Creuna Source: https://medium.com/eightshapes-llc/a-design-system-isn-t-a-project-it-s-a-product-serving-products-74dcfffef935
How to get started?
How to get started?
© Creuna
How to get started?
© Creuna
https://fractal.build/
npm install --save @frctl/fractal
Why Fractal?
© Creuna
• Framework agnostic
• Choose your own template-engine (hbs, nunjucks, mustache, custom)
• Context data (static data or Promises)
• Variants
• Component status
• Documentation (markdown)
• Customizable theme
• Export to static HTML.
Fractal examples
© Creuna
https://github.com/mikkelrom/fractal-examples
The United States government
© Creuna
EuroStar
© Creuna
What about my
JS components?
Fractal supports everything!
© Creuna
But if Fractal is not for you…
Storybook
© Creuna https://storybook.js.org/
4.0.alpha
Storybook
© Creuna
Needs to be setup via JavaScript
VueDS.com
© Creuna
https://vueds.com/
Example: VMWare Clarity Design System
© Creuna
https://vmware.github.io/clarity/
What about
the process?
This <thing> is not in the system, is that on purpose?
New conversations with the designer
© Creuna
• Heading
• Spacing
• Color
• Button variant
Outputs:
1. Use the System as it is
2. Adapt System to your needs, and
then use it
3. Go outside the System
The Design System Decision Tree (mainly for designers)
© Creuna Source: https://medium.com/s/story/the-design-system-decision-tree-edba9abdb83b
Recommendations
Make sure the Design System is visible to anyone in the organization via
a public URL (behind login if needed).
Recommendations
© Creuna
Start small. Begin with colors, typography and buttons and extend from
there.
Workflow is important. Start in fractal (or whatever tool), and then copy
the HTML to the real project.
If you don’t, you will go out of sync in no time (Murphy's law!)
Talk about it. Use it.
Convince your stakeholders about the need for a design system
Bonus
Quality testing on component level
© Creuna
BackstopJS
Visual Regression Testing
https://github.com/garris/BackstopJS
Cypress.io
Test runner
End-To-End Testing, Unit Testing (+ more)
https://www.cypress.io/
These work really well with a design system
Want more Design Systems?
© Creuna
Resources for the design systems community
https://design.systems/
Design Systems Handbook
https://www.designbetter.co/design-systems-handbook
Digital Design: Creating Design Systems for Easier, Better &
Faster Design – Dan Mall
https://www.skillshare.com/classes/Digital-Design-Creating-
Design-Systems-for-Easier-Better-Faster-Design/1463075607
Design System articles by Nathan Curtis
https://medium.com/@nathanacurtis
Real life examples
http://styleguides.io/
http://designsystemsbook.com/
Questions?
thank you!
Mikkel Rom Engholm, Senior Frontend Developer
Twitter: @mikkelrom
aarhus oslo gothenburg stockholm helsinki oulu
creuna.dk @creuna_dk #creuna

More Related Content

Similar to Design Systems at ngAarhus October meetup 2018

Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG)
Mediacurrent
 
Cerebro for vfx eng
Cerebro for vfx engCerebro for vfx eng
Cerebro for vfx eng
CineSoft
 

Similar to Design Systems at ngAarhus October meetup 2018 (20)

Innovating with Mozilla Labs
Innovating with Mozilla LabsInnovating with Mozilla Labs
Innovating with Mozilla Labs
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
Web Components
Web ComponentsWeb Components
Web Components
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
Models, Sketches and Everything In Between
Models, Sketches and Everything In BetweenModels, Sketches and Everything In Between
Models, Sketches and Everything In Between
 
SACon 2019 - Surviving in a Microservices Environment
SACon 2019 - Surviving in a Microservices EnvironmentSACon 2019 - Surviving in a Microservices Environment
SACon 2019 - Surviving in a Microservices Environment
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
 
Migrating liverpool.gov.uk to Umbraco
Migrating liverpool.gov.uk to UmbracoMigrating liverpool.gov.uk to Umbraco
Migrating liverpool.gov.uk to Umbraco
 
SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013
 
May 2014-webinar
May 2014-webinarMay 2014-webinar
May 2014-webinar
 
It's Not Infernal: Dante's Nine Circles of XPages Heaven
It's Not Infernal: Dante's Nine Circles of XPages HeavenIt's Not Infernal: Dante's Nine Circles of XPages Heaven
It's Not Infernal: Dante's Nine Circles of XPages Heaven
 
Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development Concepts
 
Stencil JS for Framework Free Web Components | Steven Zelek
Stencil JS for Framework Free Web Components | Steven ZelekStencil JS for Framework Free Web Components | Steven Zelek
Stencil JS for Framework Free Web Components | Steven Zelek
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG)
 
Cerebro for vfx eng
Cerebro for vfx engCerebro for vfx eng
Cerebro for vfx eng
 
Drupal Introduction
Drupal IntroductionDrupal Introduction
Drupal Introduction
 
Architecture in action 01
Architecture in action 01Architecture in action 01
Architecture in action 01
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

Design Systems at ngAarhus October meetup 2018

  • 1. Design Systems ngAarhus October meetup Mikkel Rom Engholm Senior Frontend Developer, Creuna
  • 2. 2 things you’re probably wondering © Creuna ”Can I get the slides?” ”Can I ask a question?”
  • 3. © Creuna HTML + CSS only
  • 5. Agenda © Creuna 1. 4 problems 2. What is a design system? 3. How it solves the 4 problems 4. How to get started?
  • 6. How do we effectively build upon an existing website?
  • 8.
  • 9.
  • 10.
  • 11.
  • 14. Problem #1: Missing overview © Creuna • No idea about what’s available • Tough onboarding/coming back to a project • Hidden UI (e.g. log in to view page)
  • 15. Problem #2: Reusability Photo by Ashim D’Silva on Unsplash
  • 16. Problem #2: Reusability © Creuna Making components too specific and not reusable Naming is hard So we end up doing this Sketch – design tool Or this Userstory: ”As a stakeholder I would like to have a promotion banner for the front page”
  • 18. © Creuna Problem #3: Inconsistency Inconsistencies across modules, pages and platforms will affect the overall User Experience
  • 19.
  • 20.
  • 21. © Creuna Problem #4: Communication Organization ! " # $ Dev Team Business Editors
  • 22. ! Slider " Carousel # Swiper $ Product rotator What do we call ”the thing”?
  • 23. 1. Missing overview 2. Reusability 3. Inconsistency 4. Communication Summary of the 4 problems
  • 24. What is a Design System?
  • 26. Palladio’s The Four Books of Architecture – 1570, Venice Source: http://designsystemsbook.com/
  • 27. The NASA Graphics Standards Manual - 1975 Source: https://standardsmanual.com/products/nasa-graphics-standards-manual
  • 28. © Creuna Component library Pattern library UI library UI kit Style guide Brand guidelines Tone of voice Documentation in Software Development
  • 29. What are Design Systems? Source: https://product-unicorn.com/design-systems-style-guides-all-those-libraries-what-the-hell-is-the-difference-4c2741193fdc
  • 30. © Creuna Source: http://carbondesignsystem.com
  • 31. © Creuna Source: http://carbondesignsystem.com Colors Typography Styles
  • 32. © Creuna Source: http://carbondesignsystem.com/components/button/code Components
  • 35. ”Tiny Bootstraps, for Every Client” Dave Rupert © Creuna Source: https://daverupert.com/2013/04/responsive-deliverables/
  • 36. Documentation of: 1. Styles 2. Components 3. Design and UX decisions 4. Brand and content rules Now we all know what a Design System is!
  • 37. How it solves the 4 problems
  • 38. • Overview of all components and styles • Easier onboarding • No more hidden UI How it solves the 4 problems © Creuna 1 Missing overview 2 Reusability 3 Inconsistency 4 Communication
  • 39. Creating UI components in isolation, makes it reusable by default How it solves the 4 problems © Creuna 1 Missing overview 2 Reusability 3 Inconsistency 4 Communication !
  • 40. • A Single Source of Truth • Living documentation • Create a component once and reuse it How it solves the 4 problems © Creuna 1 Missing overview 2 Reusability 3 Inconsistency 4 Communication
  • 41. • A Single Source of Truth • Everyone can use it for reference, everyone will speak the same language • Now everyone knows what a ”swiper” is, because it’s in the system How it solves the 4 problems © Creuna 1 Missing overview 2 Reusability 3 Inconsistency 4 Communication
  • 42. Should I use a Design System?
  • 43. Should I use a Design System? © Creuna
  • 44. “Every project that you do should be a design systems project.” Dan Mall © Creuna Source: https://blog.prototypr.io/why-every-project-should-be-a-design-systems-project-9adeae141088
  • 45. Still need to convince your client/boss/organization? © Creuna Source: http://bradfrost.com/blog/post/interface-inventory/
  • 46. Exercise: Interface Inventory – The steps © Creuna Source: http://bradfrost.com/blog/post/interface-inventory/ 1. Go through your website and find similar elements 2. Screenshot it 3. Categorize it 4. Present it
  • 47. Exercise: Interface Inventory © Creuna Source: http://bradfrost.com/blog/post/interface-inventory/
  • 48. ”A Design System isn’t a Project. It’s a Product, Serving Products” Nathan Curtis © Creuna Source: https://medium.com/eightshapes-llc/a-design-system-isn-t-a-project-it-s-a-product-serving-products-74dcfffef935
  • 49. How to get started?
  • 50. How to get started? © Creuna
  • 51. How to get started? © Creuna https://fractal.build/ npm install --save @frctl/fractal
  • 52. Why Fractal? © Creuna • Framework agnostic • Choose your own template-engine (hbs, nunjucks, mustache, custom) • Context data (static data or Promises) • Variants • Component status • Documentation (markdown) • Customizable theme • Export to static HTML.
  • 54. The United States government © Creuna
  • 56. What about my JS components?
  • 57. Fractal supports everything! © Creuna But if Fractal is not for you…
  • 59. Storybook © Creuna Needs to be setup via JavaScript
  • 61. Example: VMWare Clarity Design System © Creuna https://vmware.github.io/clarity/
  • 63. This <thing> is not in the system, is that on purpose? New conversations with the designer © Creuna • Heading • Spacing • Color • Button variant
  • 64. Outputs: 1. Use the System as it is 2. Adapt System to your needs, and then use it 3. Go outside the System The Design System Decision Tree (mainly for designers) © Creuna Source: https://medium.com/s/story/the-design-system-decision-tree-edba9abdb83b
  • 66. Make sure the Design System is visible to anyone in the organization via a public URL (behind login if needed). Recommendations © Creuna Start small. Begin with colors, typography and buttons and extend from there. Workflow is important. Start in fractal (or whatever tool), and then copy the HTML to the real project. If you don’t, you will go out of sync in no time (Murphy's law!) Talk about it. Use it. Convince your stakeholders about the need for a design system
  • 67. Bonus
  • 68. Quality testing on component level © Creuna BackstopJS Visual Regression Testing https://github.com/garris/BackstopJS Cypress.io Test runner End-To-End Testing, Unit Testing (+ more) https://www.cypress.io/ These work really well with a design system
  • 69. Want more Design Systems? © Creuna Resources for the design systems community https://design.systems/ Design Systems Handbook https://www.designbetter.co/design-systems-handbook Digital Design: Creating Design Systems for Easier, Better & Faster Design – Dan Mall https://www.skillshare.com/classes/Digital-Design-Creating- Design-Systems-for-Easier-Better-Faster-Design/1463075607 Design System articles by Nathan Curtis https://medium.com/@nathanacurtis Real life examples http://styleguides.io/ http://designsystemsbook.com/
  • 71. thank you! Mikkel Rom Engholm, Senior Frontend Developer Twitter: @mikkelrom aarhus oslo gothenburg stockholm helsinki oulu creuna.dk @creuna_dk #creuna