Skip to content
Sanding Space
Sanding Space
Introduction
  • Principles
    • Sand the Back
    • Details Compound
    • Taste Is Trainable
    • Prototype in the Material
    • Every State Is Designed
    • Speed Is a Feeling
    • Honor the Platform
    • Know When to Stop
  • Foundations
    • Spacing Is a Scale
    • Concentric Corners
    • Optical Alignment
    • A Type Scale
    • Line Length and Leading
    • Perceptual Color
    • Contrast Is Not a Checkbox
    • Depth in Light and Dark
    • Icons Match the Text
  • Interaction
    • Button Press
    • Hover Is a Hint
    • The Safe Triangle
    • Hit Targets Are Bigger Than They Look
    • Focus Is a State Too
    • The Keyboard Is an Input
    • Inputs That Don't Fight You
    • Disabled Buttons Explain Nothing
    • Undo Beats Confirm
  • Motion
    • Motion Has a Job
    • Timing: Duration and Easing
    • Enter and Exit Aren't Mirrors
    • Grow From the Source
    • Springs Can Be Interrupted
    • Things Don't Teleport
    • Edges Should Give
    • Reduced Motion Isn't No Motion
    • Animate the Cheap Properties
  • Components
    • Toast
    • Dropdown Menu
    • Tabs
    • Drawer
  • Systems
    • Tokens Have Layers
    • Theming Without Rewriting
    • Components Are APIs
    • Composition Over Configuration
    • Variants, Not Overrides
    • Density Is a Mode
    • Behavior and Style Are Separate
    • Catch It Before It Ships
  • Product
    • Defaults Are Decisions
    • Empty States Are Onboarding
    • Progressive Disclosure
    • Write the Interface
    • Make the Common Path Fast
    • Never Lose Work
    • The URL Is State
    • Ship Behind a Flag
ResourcesAbout
Sanding Space
Introduction
  • Principles

    How should I think?

    • Sand the Back
    • Details Compound
    • Taste Is Trainable
    • Prototype in the Material
    • Every State Is Designed
    • Speed Is a Feeling
    • Honor the Platform
    • Know When to Stop
  • Foundations
    • Spacing Is a Scale
    • Concentric Corners
    • Optical Alignment
    • A Type Scale
    • Line Length and Leading
    • Perceptual Color
    • Contrast Is Not a Checkbox
    • Depth in Light and Dark
    • Icons Match the Text
  • Interaction
    • Button Press
    • Hover Is a Hint
    • The Safe Triangle
    • Hit Targets Are Bigger Than They Look
    • Focus Is a State Too
    • The Keyboard Is an Input
    • Inputs That Don't Fight You
    • Disabled Buttons Explain Nothing
    • Undo Beats Confirm
  • Motion
    • Motion Has a Job
    • Timing: Duration and Easing
    • Enter and Exit Aren't Mirrors
    • Grow From the Source
    • Springs Can Be Interrupted
    • Things Don't Teleport
    • Edges Should Give
    • Reduced Motion Isn't No Motion
    • Animate the Cheap Properties
  • Components
    • Toast
    • Dropdown Menu
    • Tabs
    • Drawer
  • Systems
    • Tokens Have Layers
    • Theming Without Rewriting
    • Components Are APIs
    • Composition Over Configuration
    • Variants, Not Overrides
    • Density Is a Mode
    • Behavior and Style Are Separate
    • Catch It Before It Ships
  • Product
    • Defaults Are Decisions
    • Empty States Are Onboarding
    • Progressive Disclosure
    • Write the Interface
    • Make the Common Path Fast
    • Never Lose Work
    • The URL Is State
    • Ship Behind a Flag
ResourcesAbout

Principles

Before any colour, curve or spring, there's a way of looking at the work. These essays are about that. They don't teach a technique; they're the beliefs that decide which techniques are worth reaching for, and when to put the tools down.

Most of them come from mistakes I made more than once. Shipping the happy path and forgetting everything around it. Trusting a mockup to tell me how something would feel. Polishing a detail long after it stopped mattering. If you only read one section, read this one, because every other section leans on it.

Sand the Back (coming soon)

Why the parts nobody asks for are the parts people feel.

Details Compound (coming soon)

No single detail makes an interface feel good. Fifty of them do.

Taste Is Trainable (coming soon)

Taste isn't a gift. It's a library of comparisons you build on purpose.

Prototype in the Material (coming soon)

A picture of an interface can't tell you how it feels. Build it to find out.

Every State Is Designed (coming soon)

The happy path is one state out of many. Users live in the others.

Speed Is a Feeling (coming soon)

How fast something is and how fast it feels are two different numbers.

Honor the Platform (coming soon)

The OS, the browser and the user already made decisions. Respect them before adding yours.

Know When to Stop (coming soon)

Polish has a point of diminishing returns, and then a point of negative returns.