Material Design 3 + M3 Expressive — Working Summary
Live source of truth: m3.material.io (living document). Google's system for Android, web, and Google products. History: Material 1 (2014, the paper metaphor), Material 2 (2018, theming), Material 3 / "Material You" (2021, dynamic personal color), Material 3 Expressive (announced Google I/O May 2025; rolled out to Pixel and Wear OS from late 2025 with Android 16) — an expansion of M3, not a "Material 4".
Material 3 Expressive (current direction)
Google's research-backed push away from ultra-flat sameness toward emotionally engaging UI (Google published eye-tracking studies claiming key actions were spotted up to 4× faster in expressive layouts — vendor research; treat as directional).
- Physics-based motion: springs (stiffness/damping) replace duration+easing pairs as the primary motion model; two motion schemes — expressive (visible overshoot/bounce) and standard — applied via motion "themes" rather than per-animation tuning.
- Shape library + shape morphing: ~35 defined shapes (squircles, scallops, bursts…) with built-in animated morphing between shapes (e.g., button press morphs a round shape squarer; loading indicators morph continuously).
- Expanded type: "emphasized" variants across the type scale for louder editorial hierarchy.
- New/updated components (15+ in the first wave): button groups, split buttons, FAB menu, toolbars (floating), loading indicator, vertical carousel, refreshed progress indicators, etc.
- Implementation reality (mid-2026): Jetpack Compose Material 3 is the reference implementation; at I/O 2026 Google declared Android UI development "Compose-first," and the classic View-based material-components-android library is in maintenance mode. Flutter and Material Web trail Compose in Expressive coverage — check current status per platform before promising parity.
Core ideas (M3 baseline, still in force)
- Material metaphor: surfaces behave like idealized paper/ink — elevation (z-axis) expresses hierarchy via shadow and (in M3) tonal color; motion is physically plausible.
- Dynamic color (M3's signature): palettes algorithmically derived from a seed color (e.g., the user's wallpaper on Android 12+) into tonal palettes (0–100 tone steps), mapped to color roles (primary, on-primary, primary-container, surface, surface-variant, outline…). Design with roles, never raw hexes.
- Type scale as roles: display / headline / title / body / label, each in large/medium/small (15 styles, plus Expressive's emphasized set). Default face Roboto (or brand font mapped to the scale).
- Layout: 8 dp grid (4 dp fine); window size classes — compact (<600 dp), medium, expanded (≥840 dp) — driving canonical adaptive layouts (list-detail, supporting pane, feed).
- Components: extensive spec'd library (buttons incl. FAB, cards, chips, navigation bar/rail/drawer, sheets, dialogs, snackbars, etc.) — each with anatomy, states (hover/focus/pressed via state layers), measurements, and motion specs.
- Touch targets: ≥48×48 dp. Accessibility baked into specs (contrast, target size, TalkBack behavior).
- Motion: legacy emphasized/standard easing+duration tokens remain documented for non-spring platforms; container transform and shared axis remain the canonical transition patterns.
Character in one line
Systematic, spec-complete, personalization-forward — and since 2025 deliberately bolder: springy physical motion, morphing shapes, loud type, engineered so large teams and algorithms can apply it consistently.
Sources
- Material Design 3 (m3.material.io) — primary; component, token, motion, and shape specs incl. M3 Expressive.
- Google Design, "Expressive Material Design: Google research" (design.google/library/expressive-material-design-google-research) — the research rationale.
- Google I/O 2025 announcement / The Keyword blog — M3 Expressive launch for Android 16 & Wear OS 6 (blog.google).
- Android developer design guidance (developer.android.com/design; developer.android.com/develop/ui/compose/designsystems/material3).
- Android Developers Blog, "Android UI Development is Compose First" (May 2026) — implementation direction.