Design Systems are the language that binds UX and Engineering together at scale. The nuances in their delivery are many spanning multiple disciplines and workflows from maintaining living documentation to deployment & rollback across many consuming products.
This talk will explore what Design Systems are, how they can be built, documented and delivered at scale. It will cover topics such as: * What makes a good Component example? * How can I coordinate deployment of a Design System across multiple product teams? It will compare & contrast choices in answering these questions along with demos of how Charlie's team at GoDaddy delivers Design Systems at scale across dozens of product teams and nearly 19 million customers using React, Storybook, and more.
10. cross cutting
All of our
technology
user experience
A BIT MORE THAN JUST OUR DESIGN SYSTEM
11.
12. UXCore2
Our design system
ABOUT 50 COMPONENTS
REACT BASED
OVER 100 CONTRIBUTORS
STARTED IN LATE 2015
DEPLOYED WORLDWIDE
~40% OF FRONT END ENGINEERS
47. λ-CALCULUS OF COLOR SELECTION
WHAT IF A BRAND WANTS TO USE “SECONDARY” FOR “PRIMARY” BUTTON?
MORE BUTTON-SPECIFIC VARIABLES FOR REBINDING
In λ-calculus this is an “α-conversion”
134. Your computer
npm publish
Warehouse.ai
your design system
all your users
new
request
versions
every Xm
requests
next
will
FAIL!
UNEXPECTED
DOWN-TIME
get the same version!
AND
THEN
EVERY
CONSUMER
IS
DOWN
144. Your computer
npm publish
Warehouse.ai
your design system
all your users
new
request
versions
every Xm
+80ms
use
always
cached
copy
+80ms for your users+0ms for your users
147. Your computer
npm publish
Warehouse.ai
your design system
everyone is still up!
new
request
versions
every Xm
requests
next
will
FAIL!
UNEXPECTED
DOWN-TIME AND
THEN
EVERY
CONSUMER
IS
DOWN
148. Your computer
npm publish
Warehouse.ai
your design system
everyone is still up!
new
request
versions
every Xm
requests
next
will
FAIL!
UNEXPECTED
DOWN-TIME
the
use
FAILOVER
CACHE
155. ... YOU CAN’T AVOID IT
WARNING: ON A LONG ENOUGH TIMELINE,
IF LEFT UNCHECKED ALL SOFTWARE WILL
CRUMBLE FROM TECHNICAL DEBT
PLEASE BE ADVISED.
156.
157. UPGRADING TO NEW VERSIONS: REACT, BABEL, WEBPACK, ETC.
REMOVING DEPRECATED APIS E.G. componentWillReceiveProps, etc.
USING LATEST APIS – E.G. PORTALS, REACT@16 CONTEXT, etc.
158. IT ADDS UP
QUICKLYUPGRADING TO NEW VERSIONS: REACT, BABEL, WEBPACK, ETC.
REMOVING DEPRECATED APIS E.G. componentWillReceiveProps, etc.
USING LATEST APIS – E.G. PORTALS, REACT@16 CONTEXT, etc.
159. MAY THE SOURCE BE WITH YOU
SLIDES WILL BE POSTED ON TWITTER SHORTLY – FOLLOW ME @INDEXZERO
THANKS FOR LISTENING!