This document discusses the need for resilient enterprise application design. It advocates adopting a platform mindset by starting with specific solutions and generalizing, designing for the ecosystem not just features. A design system with guidelines, code, and components can create flexibility, consistency and scale. Influence over control is important - make it easy for users to do the "right" thing. Design principles should drive decisions and be prioritized, distinct and consumable. Consumerization and customization are increasingly important for enterprise applications.
12. You @ workYou @ work
Your Peers
Your Boss
The Execs
The Company
The Culture
Your Customers
Your Shareholders
Legal - don’t forget legal!
Photo: Office Space
13. The software you use at work needs to account for
the context and realities of your life at work.
17. –Steve Vassallo, GP @ Foundation Capital
“Designing for the real world means
dealing with the practical constraints of
that reality and trying to make
refinements in the face of compromise”
https://www.fastcodesign.com/90112320/design-thinking-needs-to-think-bigger
23. “With the rise of mobile devices and
now tablets, we have to give up this
shared hallucination that we have all
been operating under, that we have
any control over the presentation”
–Karen McGrane
24. • Fluid layouts
• Media queries
• Proportional grids
• Flexible Images
Responsive Web Design
48. Resilient Application Design
1. Design Principles - drive design decisions
2. Platform Mindset - solve the specific, then generalize
49. Resilient Application Design
1. Design Principles - drive design decisions
2. Platform Mindset - solve the specific, then generalize
3. Design System - create flexibility, consistency, & scale
50. Resilient Application Design
1. Design Principles - drive design decisions
2. Platform Mindset - solve the specific, then generalize
3. Design System - create flexibility, consistency, & scale
4. Influence > Control - make it easy to do the “right thing”
59. Salesforce Design Principles
1. Clarity
Eliminate ambiguity. Enable people to see, understand, and
act with confidence
2. Efficiency
Streamline and optimize workflows. Intelligently anticipate
needs to help people work better, smarter, and faster
3. Consistency
Create familiarity and strengthen intuition by applying the
same solution to the same problem
4. Beauty
Demonstrate respect for people’s time and attention through
craftsmanship
70. Designing for a platform
• Build specific solutions, then generalize
71. Designing for a platform
• Build specific solutions, then generalize
• Design for the product and ecosystem, not just the feature
72. Designing for a platform
• Build specific solutions, then generalize
• Design for the product and ecosystem, not just the feature
• Ask: “What happens when…?”
73. Designing for a platform
• Build specific solutions, then generalize
• Design for the product and ecosystem, not just the feature
• Ask: “What happens when…?”
• Share designs with peers early and often, identify patterns
and components
74. Designing for a platform
• Build specific solutions, then generalize
• Design for the product and ecosystem, not just the feature
• Ask: “What happens when…?”
• Share designs with peers early and often, identify patterns
and components
• Contribute to and draw from a Design System
79. “We’re investing in code as a design tool.
Moving closer to working with assets that don’t
only include layout and design, but also logic
and data. This helps bridge the gap between
engineers and designers”
— Alex Schleifer, VP of Design, Airbnb