SlideShare a Scribd company logo
1 of 53
Download to read offline
! Hi, I’m Rol an d
• UX Frontend Engineer
• Leading the Design Systems and Tooling team

at ResearchGate
• Open science platform with more than 14 million
researcher and scientist signed up
• With a team of five people we’re building a cross-
platform design system called Nova
• to fight inconsistency
• enable teams to build products faster
• introduce a common language to bridge the gap
• provide a delightful user experience
No va Design Syst em
Han do ffs with a
desi gn system in mind
How a design system almost ruined our workflow
design handoffs are still the most important
medium to brief engineers
Co mmon h andoff tools
a design system introduces abstractions and
principles that are unknown to design handoff tools
Abstraction of design tokens attributes
#0080FF
#0080FF
blu e-500
2-abo ve
0 1px 6px rgba( 0,0,0,.13)
0 1px 6px rgba( 0,0,0,.13)
1-abo ve
.some-element {
color: nova-color(‘blue-500’);
box-shadow: nova-elevation(‘1-above’);
border-radius: nova-radius(‘m’);
padding: nova-spacing(‘xl’);
}
SCSS API
SCSS
.some-element {
color: nova-color(‘blue-500’);
box-shadow: nova-elevation(‘1-above’);
border-radius: nova-radius(‘m’);
padding: nova-spacing(‘xl’);
}
SCSS API
.some-element {
color: #0080FF;
box-shadow: 0 0 2px rgba(0,0,0,.18);
border-radius: 2px;
padding: 30px;
}
SCSS CSS
import { Color } from ‘@rg/nova’;
const background = Color.getColor(‘blue-500’);
Javascri pt API
handoffs without the support for attribute
abstractions are problematic
• introduce complexity
• blocks the establishment of a 

common language
• maintenance costs of design attributes
• translation overhead for engineers to
map bare values on aliases
Issues
Modular configurable components
create variations of a component by applying different
properties and choose between various compositions
Properties: 7 colors, 4 themes, 4 sizes, 3 widths, 6 states, 2 radii
Button
Compositions: icon, label, icon & label, label & sublime
icon & label & subline
more than 20.000 unique Button variants
“And You Thought Buttons Were Easy?”
— by @nathanacurtis 

https://medium.com/eightshapes-llc/and-you-thought-buttons-were-easy-26eb5b5c1871
<Button color=“blue” theme=“solid” radius=“full">
<Button.Icon identifier=“user” "#
<Button.Label>Button Label"$Button.Label>
<Button.Subline>Button Label"$Button.Subline>
"$Button>
<Button theme=“ghost” color=“green”>
<Button.Label>Button Label"$Button.Label>
"$Button>
React Com ponents
handoffs without the support for component properties
and compositions are really problematic
• impossible to know which components in a
design are actually supported by the design
system
• impossible to tell how a component has to
be set up
• a functional workflow transforms into 

an approach of trial and error
Issues
Design Engineering
Bridging the gap
Design Engineering
Bridging Widen the gap
Design Engineering
Bridging Widen the gap
• a tailor-made Sketch plugin to create handoffs for
designs that are built with Nova
• interactive and inspectable design handoffs that can
be shared
• translate design attributes from bare values to aliases
• interprets component properties & composites
• … and much more
No va M easure
Translate design attributes
Translate design attributes
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
Translate design attributes
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
Translate design attributes
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
"name": "Rectangle",
"style": {
"fills": [{
“color": “green-500”,
}],
},
"fixedRadius": “xl”,
Nova Measure
Interpret components
Interpret components
"name": “Button {theme: solid, color: yellow }“,
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
Interpret components
"name": “Button {theme: solid, color: yellow }“,
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
"name": “Button",
“props”: {
“theme”: “solid”,
“color”: “yellow”,
}
Nova Measure
Validate d esigns
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
Validate d esigns
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 12,
Sketch document
Validate d esigns
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 12,
Sketch document
Validate d esigns
very powerful to fight inconsistency where it is
usually created in the first place
• manual adjustment of layer names is error
prone and far from being ideal
• high initialisation and maintenance costs for
design templates
• static design templates easily get out of sync
We’re not done yet
• a tailor-made Sketch plugin to render components
directly from code
• establish the code base as the single source of truth
• no outdated design resources, zero maintenance
costs, no errors in designs
No va Sket ch
info@weaintplastic.com
@weaintplastic
Thank you!

More Related Content

Similar to Design handoffs with design systems in mind

SCREENS - 2012-09-28 - Responsive Web Design, get the best from your design
SCREENS - 2012-09-28 - Responsive Web Design, get the best from your designSCREENS - 2012-09-28 - Responsive Web Design, get the best from your design
SCREENS - 2012-09-28 - Responsive Web Design, get the best from your designFrédéric Harper
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to pythonActiveState
 
Case Study: Starting a Design System with MOVU
Case Study: Starting a Design System with MOVUCase Study: Starting a Design System with MOVU
Case Study: Starting a Design System with MOVUMar High
 
Jensen Harris: Beyond Menus and Toolbars in Microsoft Office
Jensen Harris: Beyond Menus and Toolbars in Microsoft OfficeJensen Harris: Beyond Menus and Toolbars in Microsoft Office
Jensen Harris: Beyond Menus and Toolbars in Microsoft OfficeSteve Williams
 
Highcharts- The Next Chapter CSUN 2019
Highcharts- The Next Chapter CSUN 2019Highcharts- The Next Chapter CSUN 2019
Highcharts- The Next Chapter CSUN 2019Ted Gies
 
Youidraw Logo Creator User Guide - online Logo Maker
Youidraw Logo Creator User Guide - online Logo Maker  Youidraw Logo Creator User Guide - online Logo Maker
Youidraw Logo Creator User Guide - online Logo Maker YouiDraw
 
datavisualization-5thUnit.pdf
datavisualization-5thUnit.pdfdatavisualization-5thUnit.pdf
datavisualization-5thUnit.pdfBrijeshPatil13
 
Engage 2019: Building a design system to modernize Connections
Engage 2019: Building a design system to modernize ConnectionsEngage 2019: Building a design system to modernize Connections
Engage 2019: Building a design system to modernize ConnectionsTiny
 
Content authoring for responsive design
Content authoring for responsive designContent authoring for responsive design
Content authoring for responsive designMadCapMike
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersMelvin John
 
Shaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal ThemeShaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal ThemeInsum Solutions
 
I Didn’t Know You Could Do That in Cherwell!
I Didn’t Know You Could Do That in Cherwell!I Didn’t Know You Could Do That in Cherwell!
I Didn’t Know You Could Do That in Cherwell!Cherwell Software
 
Designing Experiences for the iPad, Jenica Welch
Designing Experiences for the iPad, Jenica WelchDesigning Experiences for the iPad, Jenica Welch
Designing Experiences for the iPad, Jenica WelchXamarin
 
app/assets/stylesheets - How to not make a mess
app/assets/stylesheets - How to not make a messapp/assets/stylesheets - How to not make a mess
app/assets/stylesheets - How to not make a messjasnow
 
HICapacity UI talk by Kathryne Sakata
HICapacity UI talk by Kathryne SakataHICapacity UI talk by Kathryne Sakata
HICapacity UI talk by Kathryne Sakatahicapacity
 
Meta layout: a closer look at media queries
Meta layout: a closer look at media queriesMeta layout: a closer look at media queries
Meta layout: a closer look at media queriesStephen Hay
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesGanesh Samarthyam
 
Edição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.jsEdição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.jsGuilherme Vierno
 
Mapping Immigrants
Mapping ImmigrantsMapping Immigrants
Mapping Immigrantsborderzine
 

Similar to Design handoffs with design systems in mind (20)

SCREENS - 2012-09-28 - Responsive Web Design, get the best from your design
SCREENS - 2012-09-28 - Responsive Web Design, get the best from your designSCREENS - 2012-09-28 - Responsive Web Design, get the best from your design
SCREENS - 2012-09-28 - Responsive Web Design, get the best from your design
 
Migrating from matlab to python
Migrating from matlab to pythonMigrating from matlab to python
Migrating from matlab to python
 
Case Study: Starting a Design System with MOVU
Case Study: Starting a Design System with MOVUCase Study: Starting a Design System with MOVU
Case Study: Starting a Design System with MOVU
 
Jensen Harris: Beyond Menus and Toolbars in Microsoft Office
Jensen Harris: Beyond Menus and Toolbars in Microsoft OfficeJensen Harris: Beyond Menus and Toolbars in Microsoft Office
Jensen Harris: Beyond Menus and Toolbars in Microsoft Office
 
Highcharts- The Next Chapter CSUN 2019
Highcharts- The Next Chapter CSUN 2019Highcharts- The Next Chapter CSUN 2019
Highcharts- The Next Chapter CSUN 2019
 
Youidraw Logo Creator User Guide - online Logo Maker
Youidraw Logo Creator User Guide - online Logo Maker  Youidraw Logo Creator User Guide - online Logo Maker
Youidraw Logo Creator User Guide - online Logo Maker
 
datavisualization-5thUnit.pdf
datavisualization-5thUnit.pdfdatavisualization-5thUnit.pdf
datavisualization-5thUnit.pdf
 
Encores
EncoresEncores
Encores
 
Engage 2019: Building a design system to modernize Connections
Engage 2019: Building a design system to modernize ConnectionsEngage 2019: Building a design system to modernize Connections
Engage 2019: Building a design system to modernize Connections
 
Content authoring for responsive design
Content authoring for responsive designContent authoring for responsive design
Content authoring for responsive design
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
 
Shaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal ThemeShaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal Theme
 
I Didn’t Know You Could Do That in Cherwell!
I Didn’t Know You Could Do That in Cherwell!I Didn’t Know You Could Do That in Cherwell!
I Didn’t Know You Could Do That in Cherwell!
 
Designing Experiences for the iPad, Jenica Welch
Designing Experiences for the iPad, Jenica WelchDesigning Experiences for the iPad, Jenica Welch
Designing Experiences for the iPad, Jenica Welch
 
app/assets/stylesheets - How to not make a mess
app/assets/stylesheets - How to not make a messapp/assets/stylesheets - How to not make a mess
app/assets/stylesheets - How to not make a mess
 
HICapacity UI talk by Kathryne Sakata
HICapacity UI talk by Kathryne SakataHICapacity UI talk by Kathryne Sakata
HICapacity UI talk by Kathryne Sakata
 
Meta layout: a closer look at media queries
Meta layout: a closer look at media queriesMeta layout: a closer look at media queries
Meta layout: a closer look at media queries
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
 
Edição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.jsEdição de Texto Rico com React e Draft.js
Edição de Texto Rico com React e Draft.js
 
Mapping Immigrants
Mapping ImmigrantsMapping Immigrants
Mapping Immigrants
 

Recently uploaded

Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationZenSeloveres
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneLukeKholes
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.Nitya salvi
 
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...home
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja Nehwal
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfamanda2495
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...Call Girls in Nagpur High Profile
 
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...nirzagarg
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxbingyichin04
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyHire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyNitya salvi
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation decktbatkhuu1
 

Recently uploaded (20)

Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, Pune
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
 
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
 
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyHire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
 

Design handoffs with design systems in mind

  • 1. ! Hi, I’m Rol an d
  • 2. • UX Frontend Engineer • Leading the Design Systems and Tooling team
 at ResearchGate • Open science platform with more than 14 million researcher and scientist signed up • With a team of five people we’re building a cross- platform design system called Nova
  • 3. • to fight inconsistency • enable teams to build products faster • introduce a common language to bridge the gap • provide a delightful user experience No va Design Syst em
  • 4. Han do ffs with a desi gn system in mind How a design system almost ruined our workflow
  • 5. design handoffs are still the most important medium to brief engineers
  • 6. Co mmon h andoff tools
  • 7.
  • 8.
  • 9.
  • 10. a design system introduces abstractions and principles that are unknown to design handoff tools
  • 11. Abstraction of design tokens attributes
  • 14. 2-abo ve 0 1px 6px rgba( 0,0,0,.13)
  • 15. 0 1px 6px rgba( 0,0,0,.13) 1-abo ve
  • 16.
  • 17. .some-element { color: nova-color(‘blue-500’); box-shadow: nova-elevation(‘1-above’); border-radius: nova-radius(‘m’); padding: nova-spacing(‘xl’); } SCSS API SCSS
  • 18. .some-element { color: nova-color(‘blue-500’); box-shadow: nova-elevation(‘1-above’); border-radius: nova-radius(‘m’); padding: nova-spacing(‘xl’); } SCSS API .some-element { color: #0080FF; box-shadow: 0 0 2px rgba(0,0,0,.18); border-radius: 2px; padding: 30px; } SCSS CSS
  • 19. import { Color } from ‘@rg/nova’; const background = Color.getColor(‘blue-500’); Javascri pt API
  • 20. handoffs without the support for attribute abstractions are problematic
  • 21. • introduce complexity • blocks the establishment of a 
 common language • maintenance costs of design attributes • translation overhead for engineers to map bare values on aliases Issues
  • 23. create variations of a component by applying different properties and choose between various compositions
  • 24. Properties: 7 colors, 4 themes, 4 sizes, 3 widths, 6 states, 2 radii Button Compositions: icon, label, icon & label, label & sublime icon & label & subline
  • 25.
  • 26. more than 20.000 unique Button variants
  • 27. “And You Thought Buttons Were Easy?” — by @nathanacurtis 
 https://medium.com/eightshapes-llc/and-you-thought-buttons-were-easy-26eb5b5c1871
  • 28. <Button color=“blue” theme=“solid” radius=“full"> <Button.Icon identifier=“user” "# <Button.Label>Button Label"$Button.Label> <Button.Subline>Button Label"$Button.Subline> "$Button> <Button theme=“ghost” color=“green”> <Button.Label>Button Label"$Button.Label> "$Button> React Com ponents
  • 29. handoffs without the support for component properties and compositions are really problematic
  • 30. • impossible to know which components in a design are actually supported by the design system • impossible to tell how a component has to be set up • a functional workflow transforms into 
 an approach of trial and error Issues
  • 34. • a tailor-made Sketch plugin to create handoffs for designs that are built with Nova • interactive and inspectable design handoffs that can be shared • translate design attributes from bare values to aliases • interprets component properties & composites • … and much more No va M easure
  • 36.
  • 37. Translate design attributes "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes
  • 38. Translate design attributes "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document
  • 39. Translate design attributes "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document "name": "Rectangle", "style": { "fills": [{ “color": “green-500”, }], }, "fixedRadius": “xl”, Nova Measure
  • 41.
  • 42. Interpret components "name": “Button {theme: solid, color: yellow }“, "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document
  • 43. Interpret components "name": “Button {theme: solid, color: yellow }“, "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document "name": “Button", “props”: { “theme”: “solid”, “color”: “yellow”, } Nova Measure
  • 45. "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes Validate d esigns
  • 46. "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 12, Sketch document Validate d esigns
  • 47. "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 12, Sketch document Validate d esigns
  • 48.
  • 49. very powerful to fight inconsistency where it is usually created in the first place
  • 50. • manual adjustment of layer names is error prone and far from being ideal • high initialisation and maintenance costs for design templates • static design templates easily get out of sync We’re not done yet
  • 51. • a tailor-made Sketch plugin to render components directly from code • establish the code base as the single source of truth • no outdated design resources, zero maintenance costs, no errors in designs No va Sket ch
  • 52.