Slide 1

Slide 1 text

Systems of Systems Webstock — Wellington, New Zealand — Thursday, February 15, 2018 Nathan CurAs
 @nathanacur*s

Slide 2

Slide 2 text

Visual Style UI Components Lato Light / Heavy COLOR TYPOGRAPHY SPACE ICONOGRAPHY BORDERS LAYERING Bu#on Sign In Don’t have an … Link with your… LAYOUT GRID HEADING DECK PARAGRAPH LINK INPUT SELECT BUTTON TABS TAB TAB TAB System Defining Design Systems bit.ly/8s-define-design-systems

Slide 3

Slide 3 text

Product Sign In with your EightShapes account Email Address Don't have an account? Sign up now: Create an account Forgot password? Password Sign In Sign In with your EightShapes account Email Address Password Forgot password? Sign In Don't have an account? Sign up now: Create an account Visual Style UI Components Lato Light / Heavy COLOR TYPOGRAPHY SPACE ICONOGRAPHY BORDERS LAYERING Bu#on Sign In Don’t have an … Link with your… LAYOUT GRID HEADING DECK PARAGRAPH LINK INPUT SELECT BUTTON TABS TAB TAB TAB System

Slide 4

Slide 4 text

SignIn.js CreateAccount.js ForgotPassword.js Sign In with your EightShapes account Email Address Don't have an account? Sign up now: Create an account Forgot password? Password Sign In Enter your phone number or email: Forgot Password? Next Name Email Address Password Confirm Password Learn more about why we ask for this informa;on. Mobile Phone First Last Next Step Create your EightShapes Account Designer Sign In Artboard Create Account Artboard Forgot Password Artboar Engineer 1 Engineer 2 System Product Visual Style UI Components Lato Light / Heavy COLOR TYPOGRAPHY SPACE ICONOGRAPHY BORDERS LAYERING Bu#on Sign In Don’t have an … Link with your… LAYOUT GRID HEADING DECK PARAGRAPH LINK INPUT SELECT BUTTON TABS TAB TAB TAB

Slide 5

Slide 5 text

SignIn.js CreateAccount.js ForgotPassword.js Sign In with your EightShapes account Email Address Don't have an account? Sign up now: Create an account Forgot password? Password Sign In Enter your phone number or email: Forgot Password? Next Name Email Address Password Confirm Password Learn more about why we ask for this informa;on. Mobile Phone First Last Next Step Create your EightShapes Account Designer Sign In Artboard Create Account Artboard Forgot Password Artboard Engineer System System .H TM L System .Sketch Product

Slide 6

Slide 6 text

Designers Engineers Product Manager Others (QA, etc) DESIGN ASSETS A library of design tooling offered in tool(s) relevant to the design community FRONT END CODE A library of reusable HTML/CSS assets (maybe built in a JavaScript framework) Product System Outputs System .H TM L System .Sketch

Slide 7

Slide 7 text

Product Tokens in Design Systems bit.ly/8s-tokens-in-design-systems Designers Engineers Product Manager Others (QA, etc) System Outputs TOKENS A library of hierarchical property/value pairs as an visual language abstracAon. For example:
 
 colors.text.primary.onLight:
 #333333 System .H TM L System .Sketch System .Tokens

Slide 8

Slide 8 text

Product DOCUMENTATION SITE A separate codebase and content corresponding to the documentaAon describing the system. System .H TM L System .Sketch System .Tokens Designers Engineers Product Manager Others (QA, etc) System .D ocs System Outputs

Slide 9

Slide 9 text

Product v1.3.0 System .H TM L

Slide 10

Slide 10 text

Look for the Dependency in /package.json

Slide 11

Slide 11 text

MAJOR
 (BREAKING) MINOR PATCH v1.3.0 semver.org

Slide 12

Slide 12 text

Versioning & Breaking h\p:/ /designsystem.morningstar.com/about/versioning.html Defines, generally, how versioning works Defines, specifically, when updates are considered breaking changes, including: • Style • Markup • Scripts • Tokens • Icons • Fonts

Slide 13

Slide 13 text

System .H TM L Product 2 Product 3 Product 3 Product 1 Product 1 v1.1.0 v1.1.0 v1.1.0 v1.1.0 v1.2.0 v1.2.1 v1.2.1 v1.2.1 v1.2.1 v1.2.1 v1.3.0 v1.3.0 v1.3.0 v1.3.0

Slide 14

Slide 14 text

Products own their desFny.
 System equip products to realize that desFny. Principles of Design Systems bit.ly/8s-principles-systems

Slide 15

Slide 15 text

Intermediary Those that get between a system and those that make with it

Slide 16

Slide 16 text

INTERMEDIARY 1 OF 3 Distributor An en*ty managing packaged dependencies other teams use to make an experience.

Slide 17

Slide 17 text

We’d love to adopt, but we must leverage it through the platform. Otherwise, our hands are tied. “

Slide 18

Slide 18 text

System .H TM L

Slide 19

Slide 19 text

Platform System .H TM L

Slide 20

Slide 20 text

Intermediary 1 of 3: Distributor Platform Disseminate quickly Manage change predictably Signal mature prac*ces Block ini*al adop*on Prevent frequent upgrades Complicate upgrades
 (must sync across products) Product 3 Product 2 v1.8.0 v1.1.0 System .H TM L

Slide 21

Slide 21 text

Distributors Takeaways 1. Can’t adopt without ‘em, so live with them. 2. Forge a strong(er) rela*onship with distributors. 3. Persist with the rest so they make the case: 
 “We need this system, now!”

Slide 22

Slide 22 text

INTERMEDIARY 2 OF 3 Translator An en*ty transla*ng a system (HTML & CSS) into their framework (usually, JavaScript or a CMS).

Slide 23

Slide 23 text

REACT VUE EMBER ANGULAR

Slide 24

Slide 24 text

EMBED INTO A
 JAVASCRIPT FRAMEWORK? RELEASE JUST
 “VANILLA” HTML & CSS? OR

Slide 25

Slide 25 text

System .React

Slide 26

Slide 26 text

System .React Commi?ng to a JavaScript Framework JavaScript is powerful! JavaScript encapsulates! It’s what devs want! (right?) Tes*ng is more complex Unusable by minority adopters

Slide 27

Slide 27 text

System .React Tokens Offer a Back Door to Visual Style System .Tokens

Slide 28

Slide 28 text

System .H TM L

Slide 29

Slide 29 text

System .H TM L System .React System .Vue

Slide 30

Slide 30 text

YOUR CUSTOMERS YOUR SYSTEM THEIR CUSTOMERS System .H TM L System .React System .Vue v1.1.0 v?.?.? v?.?.? v1.2.0 v1.9.0

Slide 31

Slide 31 text

Intermediary 2 of 3: Translator Praise the ini*a*ve! Leverage a community Incomplete features Missing components Different documenta*on
 (if it even exists) Poor support
 (devs have a product to make!) No commitment to upgrade in sync as system improves System .H TM L System .React

Slide 32

Slide 32 text

Could You Support All the Frameworks? Sync releases Integrate documenta*on Integrate support OMG, seriously? Our org is challenged by suppor*ng one! System .H TM L System .React System .Vue v2.0.0 v2.0.0 v2.0.0

Slide 33

Slide 33 text

Translator Takeaways 1. Approach curiously yet cau*ously. 2. Educate them on how to turn an open source passion play into a success. 3. Protect your brand: if they age or don’t meet your standards, they aren’t part of the program.

Slide 34

Slide 34 text

INTERMEDIARY 3 OF 3 Themer A team that themes a system’s UI components with a different visual style (color, type, etc).

Slide 35

Slide 35 text

Team
 1 Team
 2 Team
 3 Team
 4 designsystem.morningstar.com/charts/donut.html CORE COMPONENTS developer.morningstar.com/components/por]olio-x-ray COMPLEX COMPONENTS
 PRODUCTS THEME
 Montserrat Streamline New Colors New Typography New Icons , THEMED

Slide 36

Slide 36 text

TEAM 2 TEAM 3 “DESIGN SYSTEM” CLIENT TEAMS CLIENT 1 CLIENT 2 CLIENT 3 System .Tokens System .U I System .Charts Them e 1 Them e 2 Them e 3 Com plex Com ponents

Slide 37

Slide 37 text

Theming Basics 1. Separate library-wide and component-specific styles. 2. Embed library-wide in design tokens useful across pla@orms. 3. Isolate component variables from CSS selectors and rules. 4. Leverage compiler features, like Sass’ !default.

Slide 38

Slide 38 text

Themer Takeaways 1. Build a sophis*cated theming architecture only if you need one. Avoid it otherwise. 2. Beware the innocuous request that quickly grows into library-wide refactoring (breaking change!).

Slide 39

Slide 39 text

OR O ur System Another System

Slide 40

Slide 40 text

CompeFtor A design system available as a subs*tute for your system.

Slide 41

Slide 41 text

StarLng from Nothing, Teams Have Choices ADOPT A CODE KIT,
 SKIN W/ STYLE ADOPT A LANGUAGE, CODE OURSELVES CREATE DESIGN & CODE FROM SCRATCH OpAon
 1 OpAon
 2 OpAon
 3 OpAon
 4 ADOPT AN 
 IN-HOUSE SYSTEM

Slide 42

Slide 42 text

Limited doc Outdated visual style Rampant accessibility issues across library 2015 MAD HATTER For a Flagship Product MUI-BOOTSTRAP For a Flagship Product &
 “Whoever Else Wants It” 2016 MDS For Everyone 2017 h\p:/ /designsystem.morningstar.com/ When Living, Systems Go Through GeneraLons

Slide 43

Slide 43 text

M U I-B (O ld) M D S (N ew )

Slide 44

Slide 44 text

Rebuild from the ground up. 
 For everyone. Systems Team
 January 25, 2017 at 2pm “

Slide 45

Slide 45 text

Another team is making a library. 
 It’ll be available sooner. So…. we may adopt that instead. 
 Others are considering it too. Lead Product Design working on Flagship Product
 January 25, 2017 at 4pm “

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

M U I-B (O ld) M D S (N ew ) M U I-C (Com petitor)

Slide 48

Slide 48 text

OpLons for Handling CompeLLon 1. Put our heads down: Make ours awesome. Hope for the best. 2. MarkeFng blitz: Our system is the future, not theirs! 3. Complain to leadership: Shut down us or them, now! 4. Live with two: Some use ours, others use theirs.

Slide 49

Slide 49 text

☎ Op*on 5: Pick up the phone

Slide 50

Slide 50 text

MUI-B CODE MUI-C CODE TO BE
 RETIRED MDS CODE MIGRATE MERGE EFFORTS TO BE
 RETIRED

Slide 51

Slide 51 text

ConsideraLons When ConsolidaLng Systems 1. Agree on approach for a unified, company-wide source-of-truth. 2. Remove redundant services/cost. 3. Improve lack-of-bias for teams to build for more / all teams. 4. Increase capacity to make & doc more than either would have alone. OPPORTUNITIES 1. Deliver in Fmely way 2. Revisit tooling and approach (code style, conven*ons, etc) 3. Blend rituals for Europe & US CHALLENGES

Slide 52

Slide 52 text

OR Another System System

Slide 53

Slide 53 text

AND Another System AND Another System AND Another System System

Slide 54

Slide 54 text

Brand Corporate M arketing Intranet Corporate Site, Governance, Investors, “Brand” Sites .com Home, Marke*ng, eCommerce, Customer Support Web & na*ve product experiences “Portals”, Internal Tools, Expenses, HR, Wikis, etc Feb 2018 Dec 2017 Sep 2016 Mar 2013 Product

Slide 55

Slide 55 text

Brand Corporate M arketing Intranet Feb 2018 Dec 2017 Sep 2016 Mar 2013 Product

Slide 56

Slide 56 text

Customers use Product’s system, and it’s better. Shouldn’t employee tools use it, too? – Design system team members for both Intranet & product systems “

Slide 57

Slide 57 text

ConsolidaFon Ra*onalizing and removing redundant systems that serve non-overlapping sets of products.

Slide 58

Slide 58 text

Feature Product’s System Intranet’s System Visual Style Color
 Typography
 Icons Color
 Typography
 Icons Component Overlap Bu\on, Input, Radio, Checkbox, List Group, ToolAp, Card, Alert, Loader, Menu, NoAficaAon, Dialog, Popover, Range Slider, Switch, Tag DisAnct Components Top Hat, Modal, “Site” NavigaAon, Data Tables, Bu\on Groups, Combo Boxes
 + 14 more Local NavigaAon, “Global” NavigaAon, Carousel, Tiles, Dashboard Module, Filter Bar
 + 2 more Design Assets Sketch AND Figma, FTW! Adobe Illustrator Codebase Vanilla HTML & CSS + React TranslaAon Mustache Templates Team 2 Designers, 3 Engineers (all full Ame) 1 Designer, 1 Engineer (both half Ame) Arial Regular, Arial Bold Font Awesome Montserrat Streamline

Slide 59

Slide 59 text

OpLon 1: Do Nothing Intranet Teams remain focused Avoids costly change from at least one group Doesn’t scale design Sustains duplica*ve efforts Risks morale Product

Slide 60

Slide 60 text

OpLon 2: Start Small, with Tokens Intranet Product Product’s Tokens ’s H TM L

Slide 61

Slide 61 text

OpLon 3: Product “Acquires & ReLres” Intranet System Intranet Scales system investment across broader porkolio Raises Intranet quality Unifies design community Requires costly and unexpected change in Intranet app Increases Product’s burden to support teams not in “our organiza*on” Product Retired

Slide 62

Slide 62 text

N ew OpLon 4: Systems Merge, Building a New System Intranet Opportunity to refresh! Merges as equals as opposed to one feeling subservient Huge, unrealis*c cost Very difficult to coordinate Requires many to relinquish control Product Retired Retired

Slide 63

Slide 63 text

ConsolidaFon Takeaways 1. Expand a system’s boundaries very carefully. 2. Let acquired systems make the asser*ve move. 3. Others – par*cularly intranet tools – must demo they want and are willing to pay for the switch.

Slide 64

Slide 64 text

More on Medium.com bit.ly/8s-systems-medium Read more on systems topics including: Strategy & Planning Design & Development Adop*on Documenta*on Process Teams & Opera*ons

Slide 65

Slide 65 text

Join Design System Slack (5,900+ members) hpp:/ /design.systems

Slide 66

Slide 66 text

Nathan CurAs @nathanacur*s Thanks!