SlideShare a Scribd company logo
What is a design system
and why do I want one?
• What is it
• Why
• How do I get started
“Shared (design) language”
“a series of components that can be
reused in different combinations”
“Styleguide”
“Library of reusable
components and patterns”
“a set of connected patterns and shared
practices, coherently organized to serve the
purposes of a digital product”
Bootstrap
Material
A design system is your
organizations design language
mixed with conventions. Its built
for your particular needs
Lightning Design System (Sales Force)
Polaris (Shopify)
DLS (AirBNB)
Carbon (IBM)
HCL Design System
So, Why are all these companies
investing in design systems?
Efciency
• Creates a unified language so anyone can talk about it.
• Developers and product owners becomes lego builders.
• Reduce bottlenecks.
• Maintainable and scalable.
So, Why are all these companies
investing in design systems?
Familiarity
• Human minds crave consistency. We are pattern machines.
• A user can use previous experience (aka what they learnt
elsewere)
How
Customizing a system
Is it a cost or investment?
Make sure you know what you are purchasing
Ergonomics Branding
Don’t fight the system
Some people have a very strong opinion of how they want
things to look and behave. In general it is a bad idea to try
to change the behavior and general layout of the system.
Review your existing systems.
Screenshot components and patterns
and lay them out on a board.
Categorize them and try to pick one
pattern and stick to it
save/cancel, dialogs, tabs, search…
Name patterns and components to get
a common naming scheme. Helps a lot
in communication and documentation.
Look at existing design systems for inspiration
Decide beforehand what you want to
customize. Skinning can be very
addictive
Start with low hanging fruits.
These will get you a long way
• Colors
• Typography
• Buttons
Continue with iconography.
Ideally, You want all icons to look and mean the same
between all your applications. (We struggle with this)
If possible, use a CSS preprocessor that
allows you to use variables. Or use CSS
Custom Properties (“CSS Variables”)
Dene variables for all colors and font
properties
:root {
--button-background-color: green;
--button-text-color: white;
--font-weight-bold: 700;
}
.my-button {
padding: 4px 8px;
background-color: var(--button-background-color);
color: var(--button-text-color);
font-weight: var(--font-weight-bold);
}
Style leakage
• When doing overrides, be aware of style leakage.
• Pay attention to all declarations you’re NOT setting
https://tiny.cloud

fredrik.danielsson@tiny.cloud

More Related Content

Similar to Engage 2019: Building a design system to modernize Connections

Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)
Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)
Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)
Future Insights
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavacon
Neil Perlin
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavacon
Neil Perlin
 
RDVO - Building UX Pattern Libraries
RDVO - Building UX Pattern LibrariesRDVO - Building UX Pattern Libraries
RDVO - Building UX Pattern Libraries
Ben Zipkin
 
Building Design Systems
Building Design SystemsBuilding Design Systems
Building Design Systems
Burton Smith
 
Fluid Design Pattern Library
Fluid Design Pattern LibraryFluid Design Pattern Library
Fluid Design Pattern Library
Allison Bloodworth
 
Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan Rosu
Razvan Rosu
 
Design Systems the 9 States
Design Systems the 9 StatesDesign Systems the 9 States
Design Systems the 9 States
Mark Hewitt
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
Melvin John
 
Structured design: Modular style for modern content
Structured design: Modular style for modern contentStructured design: Modular style for modern content
Structured design: Modular style for modern content
Christopher Hess
 
Design System & Atomic Design
Design System & Atomic DesignDesign System & Atomic Design
Design System & Atomic Design
Vani Jain
 
3 steps for building design eco-systems of future, today. - Samir Dash
3 steps for building  design eco-systems of future, today. - Samir Dash3 steps for building  design eco-systems of future, today. - Samir Dash
3 steps for building design eco-systems of future, today. - Samir Dash
DesignOps Global Conference
 
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
Samir Dash
 
To build an efficient Design System
To build an efficient Design SystemTo build an efficient Design System
To build an efficient Design System
Paya Do
 
Design System - Fail, Learn, Build, Test
Design System - Fail, Learn, Build, TestDesign System - Fail, Learn, Build, Test
Design System - Fail, Learn, Build, Test
Paya Do
 
Design systems
Design systemsDesign systems
Design systems
Burton Smith
 
Purpose Before Action: Why you need a Design Language System
Purpose Before Action: Why you need a Design Language SystemPurpose Before Action: Why you need a Design Language System
Purpose Before Action: Why you need a Design Language System
UXPA Boston
 
Uxpin Why Build a Design System
Uxpin Why Build a Design SystemUxpin Why Build a Design System
Uxpin Why Build a Design System
Lewis Lin 🦊
 
Zeeto Tech Exchange: Design for Scalability - UX
Zeeto Tech Exchange: Design for Scalability - UXZeeto Tech Exchange: Design for Scalability - UX
Zeeto Tech Exchange: Design for Scalability - UX
ZeetoSlides
 
Drupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeDrupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeMediacurrent
 

Similar to Engage 2019: Building a design system to modernize Connections (20)

Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)
Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)
Developing Design Systems: Patterns, Prototypes, and People (Dennis Kardys)
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavacon
 
Developing for the unknown lavacon
Developing for the unknown   lavaconDeveloping for the unknown   lavacon
Developing for the unknown lavacon
 
RDVO - Building UX Pattern Libraries
RDVO - Building UX Pattern LibrariesRDVO - Building UX Pattern Libraries
RDVO - Building UX Pattern Libraries
 
Building Design Systems
Building Design SystemsBuilding Design Systems
Building Design Systems
 
Fluid Design Pattern Library
Fluid Design Pattern LibraryFluid Design Pattern Library
Fluid Design Pattern Library
 
Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan Rosu
 
Design Systems the 9 States
Design Systems the 9 StatesDesign Systems the 9 States
Design Systems the 9 States
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
 
Structured design: Modular style for modern content
Structured design: Modular style for modern contentStructured design: Modular style for modern content
Structured design: Modular style for modern content
 
Design System & Atomic Design
Design System & Atomic DesignDesign System & Atomic Design
Design System & Atomic Design
 
3 steps for building design eco-systems of future, today. - Samir Dash
3 steps for building  design eco-systems of future, today. - Samir Dash3 steps for building  design eco-systems of future, today. - Samir Dash
3 steps for building design eco-systems of future, today. - Samir Dash
 
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
 
To build an efficient Design System
To build an efficient Design SystemTo build an efficient Design System
To build an efficient Design System
 
Design System - Fail, Learn, Build, Test
Design System - Fail, Learn, Build, TestDesign System - Fail, Learn, Build, Test
Design System - Fail, Learn, Build, Test
 
Design systems
Design systemsDesign systems
Design systems
 
Purpose Before Action: Why you need a Design Language System
Purpose Before Action: Why you need a Design Language SystemPurpose Before Action: Why you need a Design Language System
Purpose Before Action: Why you need a Design Language System
 
Uxpin Why Build a Design System
Uxpin Why Build a Design SystemUxpin Why Build a Design System
Uxpin Why Build a Design System
 
Zeeto Tech Exchange: Design for Scalability - UX
Zeeto Tech Exchange: Design for Scalability - UXZeeto Tech Exchange: Design for Scalability - UX
Zeeto Tech Exchange: Design for Scalability - UX
 
Drupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-ThemeDrupalcamp Atlanta 2010 Design-to-Theme
Drupalcamp Atlanta 2010 Design-to-Theme
 

More from Tiny

Is block-based editing the future of web content management systems?
Is block-based editing the future of web content management systems?Is block-based editing the future of web content management systems?
Is block-based editing the future of web content management systems?
Tiny
 
Engage 2019: Extending the editor in Connections
Engage 2019: Extending the editor in ConnectionsEngage 2019: Extending the editor in Connections
Engage 2019: Extending the editor in Connections
Tiny
 
Porting 100k Lines of Code to TypeScript
Porting 100k Lines of Code to TypeScriptPorting 100k Lines of Code to TypeScript
Porting 100k Lines of Code to TypeScript
Tiny
 
Introduction to TinyMCE Session #7 Integrating with frameworks
Introduction to TinyMCE Session #7 Integrating with frameworksIntroduction to TinyMCE Session #7 Integrating with frameworks
Introduction to TinyMCE Session #7 Integrating with frameworks
Tiny
 
Introduction to TinyMCE Session #6 Working With Images
Introduction to TinyMCE Session #6 Working With ImagesIntroduction to TinyMCE Session #6 Working With Images
Introduction to TinyMCE Session #6 Working With Images
Tiny
 
Introduction to TinyMCE Session #5 Popular Plugins
Introduction to TinyMCE Session #5 Popular PluginsIntroduction to TinyMCE Session #5 Popular Plugins
Introduction to TinyMCE Session #5 Popular Plugins
Tiny
 
Introduction to TinyMCE Session #4 Working With Content
Introduction to TinyMCE Session #4 Working With ContentIntroduction to TinyMCE Session #4 Working With Content
Introduction to TinyMCE Session #4 Working With Content
Tiny
 
Introduction to TinyMCE Session #3 Customizing Styles
Introduction to TinyMCE Session #3 Customizing StylesIntroduction to TinyMCE Session #3 Customizing Styles
Introduction to TinyMCE Session #3 Customizing Styles
Tiny
 
Introduction to TinyMCE Session #1 Unboxing TinyMCE
Introduction to TinyMCE Session #1 Unboxing TinyMCEIntroduction to TinyMCE Session #1 Unboxing TinyMCE
Introduction to TinyMCE Session #1 Unboxing TinyMCE
Tiny
 
Introduction to TinyMCE Session #2 Customizing TinyMCE
Introduction to TinyMCE Session #2 Customizing TinyMCEIntroduction to TinyMCE Session #2 Customizing TinyMCE
Introduction to TinyMCE Session #2 Customizing TinyMCE
Tiny
 
Project to Product to Profit - Lessons learned trying to commercialize a majo...
Project to Product to Profit - Lessons learned trying to commercialize a majo...Project to Product to Profit - Lessons learned trying to commercialize a majo...
Project to Product to Profit - Lessons learned trying to commercialize a majo...
Tiny
 
Going beyond the 'Bold' button by Jack Mason
Going beyond the 'Bold' button by Jack MasonGoing beyond the 'Bold' button by Jack Mason
Going beyond the 'Bold' button by Jack Mason
Tiny
 
WebRadar
WebRadarWebRadar
WebRadar
Tiny
 
Textbox.io for IBM Connections - IBM Connect 2016
Textbox.io for IBM Connections - IBM Connect 2016Textbox.io for IBM Connections - IBM Connect 2016
Textbox.io for IBM Connections - IBM Connect 2016
Tiny
 
Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...
Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...
Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...
Tiny
 
Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...
Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...
Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...
Tiny
 

More from Tiny (16)

Is block-based editing the future of web content management systems?
Is block-based editing the future of web content management systems?Is block-based editing the future of web content management systems?
Is block-based editing the future of web content management systems?
 
Engage 2019: Extending the editor in Connections
Engage 2019: Extending the editor in ConnectionsEngage 2019: Extending the editor in Connections
Engage 2019: Extending the editor in Connections
 
Porting 100k Lines of Code to TypeScript
Porting 100k Lines of Code to TypeScriptPorting 100k Lines of Code to TypeScript
Porting 100k Lines of Code to TypeScript
 
Introduction to TinyMCE Session #7 Integrating with frameworks
Introduction to TinyMCE Session #7 Integrating with frameworksIntroduction to TinyMCE Session #7 Integrating with frameworks
Introduction to TinyMCE Session #7 Integrating with frameworks
 
Introduction to TinyMCE Session #6 Working With Images
Introduction to TinyMCE Session #6 Working With ImagesIntroduction to TinyMCE Session #6 Working With Images
Introduction to TinyMCE Session #6 Working With Images
 
Introduction to TinyMCE Session #5 Popular Plugins
Introduction to TinyMCE Session #5 Popular PluginsIntroduction to TinyMCE Session #5 Popular Plugins
Introduction to TinyMCE Session #5 Popular Plugins
 
Introduction to TinyMCE Session #4 Working With Content
Introduction to TinyMCE Session #4 Working With ContentIntroduction to TinyMCE Session #4 Working With Content
Introduction to TinyMCE Session #4 Working With Content
 
Introduction to TinyMCE Session #3 Customizing Styles
Introduction to TinyMCE Session #3 Customizing StylesIntroduction to TinyMCE Session #3 Customizing Styles
Introduction to TinyMCE Session #3 Customizing Styles
 
Introduction to TinyMCE Session #1 Unboxing TinyMCE
Introduction to TinyMCE Session #1 Unboxing TinyMCEIntroduction to TinyMCE Session #1 Unboxing TinyMCE
Introduction to TinyMCE Session #1 Unboxing TinyMCE
 
Introduction to TinyMCE Session #2 Customizing TinyMCE
Introduction to TinyMCE Session #2 Customizing TinyMCEIntroduction to TinyMCE Session #2 Customizing TinyMCE
Introduction to TinyMCE Session #2 Customizing TinyMCE
 
Project to Product to Profit - Lessons learned trying to commercialize a majo...
Project to Product to Profit - Lessons learned trying to commercialize a majo...Project to Product to Profit - Lessons learned trying to commercialize a majo...
Project to Product to Profit - Lessons learned trying to commercialize a majo...
 
Going beyond the 'Bold' button by Jack Mason
Going beyond the 'Bold' button by Jack MasonGoing beyond the 'Bold' button by Jack Mason
Going beyond the 'Bold' button by Jack Mason
 
WebRadar
WebRadarWebRadar
WebRadar
 
Textbox.io for IBM Connections - IBM Connect 2016
Textbox.io for IBM Connections - IBM Connect 2016Textbox.io for IBM Connections - IBM Connect 2016
Textbox.io for IBM Connections - IBM Connect 2016
 
Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...
Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...
Webinar: Bring Web Content into the Modern Era with Ephox's EditLive! 9 Rich ...
 
Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...
Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...
Ephox corp's EditLive! rich text editor for IBM Connections to be Unveiled at...
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Engage 2019: Building a design system to modernize Connections

  • 1.
  • 2. What is a design system and why do I want one?
  • 3. • What is it • Why • How do I get started
  • 4. “Shared (design) language” “a series of components that can be reused in different combinations” “Styleguide” “Library of reusable components and patterns” “a set of connected patterns and shared practices, coherently organized to serve the purposes of a digital product”
  • 7. A design system is your organizations design language mixed with conventions. Its built for your particular needs
  • 8. Lightning Design System (Sales Force)
  • 13. So, Why are all these companies investing in design systems? Efciency • Creates a unied language so anyone can talk about it. • Developers and product owners becomes lego builders. • Reduce bottlenecks. • Maintainable and scalable.
  • 14. So, Why are all these companies investing in design systems? Familiarity • Human minds crave consistency. We are pattern machines. • A user can use previous experience (aka what they learnt elsewere)
  • 15. How
  • 17. Is it a cost or investment? Make sure you know what you are purchasing Ergonomics Branding
  • 18. Don’t ght the system Some people have a very strong opinion of how they want things to look and behave. In general it is a bad idea to try to change the behavior and general layout of the system.
  • 19. Review your existing systems. Screenshot components and patterns and lay them out on a board.
  • 20.
  • 21. Categorize them and try to pick one pattern and stick to it save/cancel, dialogs, tabs, search…
  • 22.
  • 23. Name patterns and components to get a common naming scheme. Helps a lot in communication and documentation. Look at existing design systems for inspiration
  • 24.
  • 25. Decide beforehand what you want to customize. Skinning can be very addictive
  • 26. Start with low hanging fruits. These will get you a long way • Colors • Typography • Buttons
  • 27. Continue with iconography. Ideally, You want all icons to look and mean the same between all your applications. (We struggle with this)
  • 28. If possible, use a CSS preprocessor that allows you to use variables. Or use CSS Custom Properties (“CSS Variables”) Dene variables for all colors and font properties
  • 29. :root { --button-background-color: green; --button-text-color: white; --font-weight-bold: 700; } .my-button { padding: 4px 8px; background-color: var(--button-background-color); color: var(--button-text-color); font-weight: var(--font-weight-bold); }
  • 30. Style leakage • When doing overrides, be aware of style leakage. • Pay attention to all declarations you’re NOT setting
  • 31.
  • 32.
  • 33.
  • 34.