From 56de6f5d6642f761b5e17629fccf53e303b3da9b Mon Sep 17 00:00:00 2001 From: Emil Date: Thu, 9 Jul 2026 13:29:14 +0200 Subject: [PATCH] Rebuild design foundations around Apple's eight principles (WWDC 2026) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restructure §16 on Principles of Great Design (Purpose, Agency, Responsibility, Familiarity, Flexibility, Simplicity, Craft, Delight), folding in the older-talk material and adding purpose, responsibility/ AI-safety, flexibility, and delight. Apple's own words as leading terms. Co-Authored-By: Claude Opus 4.8 (1M context) --- skills/apple-design/SKILL.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/skills/apple-design/SKILL.md b/skills/apple-design/SKILL.md index 3f15341..66f5680 100644 --- a/skills/apple-design/SKILL.md +++ b/skills/apple-design/SKILL.md @@ -236,20 +236,25 @@ Apple designs type to change shape with size; the same discipline applies on the } ``` -## 16. Design foundations (from Apple's philosophy talks) +## 16. Design foundations — the eight principles -The motion above sits on top of durable design principles: +The motion and craft above serve Apple's eight design principles (*Principles of Great Design*, WWDC 2026). Use these as the names you reason with: -- **Match the user's mental model.** Intuitive means "matches what I already expect." Only break a familiar pattern if you can prove it's objectively better — then test it, don't assume. -- **Implement metaphors fully.** A metaphor immerses only if you honor its physics. Extend it for real utility or delight; never bend it for novelty. -- **Direct, specific labels beat safe generic ones.** Name nav items for their actual contents ("Progress", "Library"), not vague umbrellas ("Home"). Specificity creates predictability. -- **Progressive disclosure / 80-20.** Show the common path first; put advanced options one level deeper. Reduce to one primary action per context. -- **Grouping & mapping.** Proximity implies relationship; place a control near what it affects; arrange controls to mirror what they change. If you need a label to explain a control, the mapping is weak. -- **Four kinds of feedback:** status, completion, warning, error. Confirm meaningful actions, expose ongoing status, warn before problems, validate inline (not on submit). +1. **Purpose.** Make with intention; decide what *not* to build. Every feature asks for the user's time, attention, and trust — spend that budget only where it pays off. +2. **Agency.** Keep people in control: offer choices, don't force a single path. Back it with forgiveness — easy undo for slips, a confirmation dialog only for genuinely destructive, irreversible actions (use sparingly; overusing it trains people to click through). +3. **Responsibility.** Act in the user's interest. Privacy: ask at the right moment, only for what's needed, transparently. Safety: anticipate misuse and harm — especially with AI (an allergy-aware recipe app must not suggest a harmful ingredient). Add previews, confirmations, disclaimers; cut a feature whose risk outweighs its value. +4. **Familiarity.** Build on what people already know. Use metaphors that are neither too literal nor too abstract (a trash can means delete), and honor their physics. Be consistent: things that look the same must behave the same and live in the same place (close is always top-left on macOS) so people can predict what happens next. Only break a familiar pattern if you can prove it's better — then test it, don't assume. +5. **Flexibility.** Design for different contexts, devices, and the full range of abilities. Adapt to the platform (iPhone = quick touch; desktop = deep workflows with precise pointer control) and to the situation. Design inclusively (age, language, expertise, accessibility). When no single layout fits everyone, let people personalize — rearrange controls, hide what they don't use. +6. **Simplicity — not minimalism.** Strip the unnecessary so the core purpose shines; burying everything in one place looks minimal but isn't simple. Be concise (plain language, no jargon, fewer steps) and clear (use hierarchy — order, spacing, contrast — so the most important thing is the most obvious). Every element earns its place; sometimes *adding* context simplifies (a video scrubber that shows time remaining). Show the common path first, advanced options one level deeper. +7. **Craft.** Uncompromising attention to detail builds trust. Beautiful typography, colors that adapt to light/dark, clear iconography, and responsive animations that give immediate, natural feedback. Nothing is random — every spacing, timing, and alignment value is a deliberate choice you can defend. Jittery scroll, misaligned icons, and layouts that break on rotation read as carelessness. Craft needs iteration and longevity — keep evolving the design as features and hardware change. +8. **Delight.** The result of getting the other seven right, not confetti tacked on top. Decide the emotion you want people to feel (calm, confident, excited) and reinforce it in every decision. + +Tactical rules that serve these: + +- **Feedback comes in four kinds:** status, completion, warning, error. Confirm meaningful actions, expose ongoing status, warn before problems, validate inline (not on submit). - **Wayfinding.** Every screen should answer: Where am I? Where can I go? What's there? How do I get out? Never trap the user. -- **Forgiveness.** Prefer undo over confirmation dialogs; make destructive actions reversible; design so the wrong move is hard to make and easy to recover from. -- **Consistency**, internal and external. Reuse the same term/icon/interaction for the same meaning; adopt platform conventions unless you have a strong reason not to. -- **Restraint.** Quality "doesn't try to do more than it needs to." Nothing is random — every spacing, timing, and alignment value is a deliberate choice you can defend. Make committed, specific choices instead of averaging toward blandness; offer customization at the edges, not by diluting the core. +- **Grouping & mapping.** Proximity implies relationship; place a control near what it affects and arrange controls to mirror what they change. If you need a label to explain a control, the mapping is weak. +- **Direct, specific labels beat safe generic ones.** Name nav items for their contents ("Progress", "Library"), not vague umbrellas ("Home"). Specificity creates predictability. ## 17. Process