Warren Shea’s Notes for Design Systems Handbook by Invision (Book)
Version: 20210711 | Status: Complete
Examples
To watch/read:
Introduction
A design system unites product teams around a common visual language. It:
  - Reduces design debt
 
  - Accelerates the design process
 
  - Builds bridges between teams working in concert to bring products to life
 
1 Introducing Design Systems: The power of scale
Scaling design with systems thinking
The value of design systems
  - Scale Design
 
  - Manage your debt
 
  - Design consistently
 
  - Prototype faster
 
  - Iterate more quickly
 
  - Improve usability
 
  - Build in accessibility
 
Myths of design systems
  - Too limiting
 
  - Loss of creativity
 
  - One and done
 
2 Designing your design system: Step by step
Who should be involved
  - Designers, Front-end Developers, a11y experts, content strategists, researches, performance experts, product managers, leaders
 
  - Choosing the right team model: solitary (overlord), centralized (dedicated team), federated (various team members join)
 
  - Creating a visual inventory:
    
      - Conducting a visual audit
 
    
   
  - Creating a visual design language
    
      - Design Tokens: subatomic, name & value pairs stored as data
 
      - Colors
        
          - Interactive items should be the same color background color to help the user
 
        
       
      - Typography (size, leading (line spacing), typefaces)
        
          - Leading is usually 1.5 for a11y reasons, 1.25/1.125 for headings.
 
        
       
      - Spacing (margins, paddings, position coordinates, border spacing)
 
      - Images (icons, illustrations)
 
      - Visual form (depth, elevation, shadows, rounded corners, textures)
 
      - Motion
 
      - Sound
 
    
   
  - Creating a user interface library
    
      - Elements (basics/atoms)
 
      - Components (molecules/modules)
 
      - Regions (zones/organisms)
 
      - Layouts
 
    
   
3 Building your design system: A strong foundation
Your technical approach doesn’t matter as much as creating a living, breathing system that’s flexible, maintainable, stable, scalable, and successful in the long-term
Foundations
  - Consistent - use configuration settings for IDEs,
 
  - Self-contained - Design System should be separate from main codebase
 
  - Reusable
 
  - Accessible
 
  - Robust - Unit (Mocha, Jasmine, Jest), Functional (Nightwatch, Protractor, Casper), Visual Regression (Wraith, Gemini, Backstop, Percy), Automated (Paypal AATT, aXe)
 
Common Challenges
  - Keeping documentation up-to-date (automate it)
 
  - Handling breaking changes (wrong: duplication, right: versioning - semver: Major 1.0.0, Minor 0.1.0, Patches 0.0.1)
 
  - Avoid performance degradations
 
4 Putting your design system into practice: Better together
Large-scale redesigns
Criteria for good candidates for design system projects:
  - Potential for common components
 
  - Potential for common patterns
 
  - High-value elements
 
  - Technical feasibility
 
  - Available champion
 
  - Scope
 
  - Technical independence
 
  - Marketing poteential
 
Incremental redesigns
General Notes
  - Documentation is key “If it’s not documented, it doesn’t exist”
 
  - “Waiting room” for components before moving to codebase
 
  - Need to prioritize Navigation and Search/findability
 
5 Expanding your design system: More than the sum of its parts
Vision Statement: to help everyone know where you’re going and why
Design Principles
Process
Voice and Tone
6 The future of design systems: To infinity and beyond