Slide 1
            
                
                
                    A designer and developer walk into a bar…
Building a design system in Ember.js
by Melanie Sumner and Jory Tindall
                 
             
                    Slide 2
            
                
                
                    Who We Are
Melanie Sumner Senior Design System Engineer Ember Framework Core Team W3C ARIA WG
@melsumner
Jory Tindall Senior Product Designer Design technologist Saxophonist artist
@jorytindall
                 
             
                    Slide 3
            
                
                
                    The Helios Design System
So we both work on the Helios Design System at HashiCorp.
https://helios.hashicorp.design/
                 
             
                    Slide 4
            
                
                
                    Today’s Agenda
So first, lets talk about what you can expect this talk to include.
It also helps you keep in mind when the end is going to be, since I know y’all are paying attention to that since we’re the last talk today.
                 
             
                    Slide 5
            
                
                
                    Design Systems
First, we’ll talk about design system themselves, and give a brief-ish introduction.
We’re all used to UI addons, shared components, even branding guidelines. A design system is none of those things in isolation, but inclusive of all of them and more.
                 
             
                    Slide 6
            
                
                
                    Challenges
Next, we’ll talk about a few…
…and just a few, because we don’t have all day….
…just a few challenges we faced when starting our design system team
Hint: our challenges have been less about design and code, and more about people.
                 
             
                    Slide 7
            
                
                
                    Our Approach
Next, we’ll talk about how we decided to approach these challenges and some other things we decided to do that we think are pretty cool and set us apart as a design system team.
                 
             
                    Slide 8
            
                
                
                    Lessons Learned
Finally, we’ll cover the lessons we learned,
And how they can help anyone else working on a design system or on a cross-functional team
                 
             
                    Slide 9
            
                
                
                    Ok before we dive in...
Ok before we jump in, we love our cats so here are some photos of our cats.
                 
             
                    Slide 10
            
                
                
                    Design Systems
okay! Design Systems. let’s talk about that.
                 
             
                    Slide 11
            
                
                
                    What is a design system?
We all probably know what a design system is from a technical perspective, but from a value perspective a design system helps product teams deliver UI at scale.
                 
             
                    Slide 12
            
                
                
                    A little bit of...everything
Here’s an abstract representation of all of the moving parts of a design system capturing the concept of  “System of Systems” in which each focus area, process, or set of deliverables is treated as its own system within the larger whole of a Design system.
                 
             
                    Slide 13
            
                
                
                    
What makes a successful design system?
                
             
                    Slide 14
            
                    Slide 15
            
                
                
                    
Where do the breakdowns happen in a system team?
                
             
                    Slide 16
            
                    Slide 17
            
                    Slide 18
            
                    Slide 19
            
                    Slide 20
            
                    Slide 21
            
                    Slide 22
            
                
                
                    
Challenges: That one react app
                
             
                    Slide 23
            
                
                
                    
Challenge: Legacy...everything.
                
             
                    Slide 24
            
                    Slide 25
            
                
                
                    
Challenge: Existing figma designs
                
             
                    Slide 26
            
                
                
                    
Challenge: existing UI addons
                
             
                    Slide 27
            
                
                
                    
Challenge: designer vs developer
                
             
                    Slide 28
            
                
                
                    
Challenge: same thing, different names
                
             
                    Slide 29
            
                    Slide 30
            
                    Slide 31
            
                
                
                    
Our approach: process overview
                
             
                    Slide 32
            
                
                
                    
Our approach: process details
                
             
                    Slide 33
            
                
                
                    
Our approach: component planning
                
             
                    Slide 34
            
                
                
                    
Component planning: audits!
                
             
                    Slide 35
            
                
                
                    
Component planning; requirements document
                
             
                    Slide 36
            
                
                
                    
Component planning: kickoff
                
             
                    Slide 37
            
                
                
                    
our approach: component creation
                
             
                    Slide 38
            
                
                
                    
component creation: design
                
             
                    Slide 39
            
                
                
                    
Component creation: more design
                
             
                    Slide 40
            
                
                
                    
component creation: design...the ideal
                
             
                    Slide 41
            
                
                
                    
component creation: development
                
             
                    Slide 42
            
                
                
                    
component creation: the cycle
                
             
                    Slide 43
            
                
                
                    
Our approach: documentation
                
             
                    Slide 44
            
                    Slide 45
            
                
                
                    
Our Approach / Ambassador Program
                
             
                    Slide 46
            
                
                
                    
Ambassador Program: what is it?
                
             
                    Slide 47
            
                
                
                    
Ambassador program: why is it important?
                
             
                    Slide 48
            
                
                
                    
Our Approach: Meeting Cadence
                
             
                    Slide 49
            
                
                
                    
Meeting Cadence: Globally-distributed team
                
             
                    Slide 50
            
                
                
                    
Meeting cadence: weekly schedule
                
             
                    Slide 51
            
                
                
                    
Our Approach: Accessibility
                
             
                    Slide 52
            
                
                
                    
Accessibility: where is it in our process?
                
             
                    Slide 53
            
                
                
                    
Accessibility: In our code
                
             
                    Slide 54
            
                
                
                    
Accessibility: In our docs
                
             
                    Slide 55
            
                
                
                    
Accessibility: In our foundations
                
             
                    Slide 56
            
                
                
                    
Accessibility: conformance by default
                
             
                    Slide 57
            
                    Slide 58
            
                
                
                    
Lessons Learned: legacy is real
                
             
                    Slide 59
            
                
                
                    
Lessons Learned:process is vital
                
             
                    Slide 60
            
                
                
                    
Process is vital: shared expectations
                
             
                    Slide 61
            
                
                
                    
Process is vital: uniting cross-functional teams
                
             
                    Slide 62
            
                
                
                    
Process is vital: thinking about our future selves
                
             
                    Slide 63
            
                
                
                    
Lessons learned: engagement
                
             
                    Slide 64
            
                
                
                    
Lessons learned: celebrate your wins
                
             
                    Slide 65
            
                
                
                    
Celebrate your wins: Hashicorp design system v2.8.0
                
             
                    Slide 66
            
                
                
                    
Helios by the numbers (part 1)
                
             
                    Slide 67
            
                
                
                    
Helios by the numbers (part 2)
                
             
                    Slide 68
            
                
                
                    Happy consumer quote 1
“The Pagination component took something very complicated and in a matter of minutes, it just worked.”
                 
             
                    Slide 69
            
                
                
                    Happy consumer quote 2
“It’s well thought out, and handles 95% of our use cases. It’s incredibly composable within the limits of what a component should be doing.”
                 
             
                    Slide 70
            
                
                
                    Happy consumer quote 3
“(Adopting the design system) fixed major accessibility issues we had.”
                 
             
                    Slide 71
            
                
                
                    In closing...
You do not require permission to create accessible code.