microinteractions
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMicrointeractions Framework
Microinteractions 框架
A systematic approach to designing the tiny, contained product moments that users interact with every day -- toggles, password fields, loading indicators, pull-to-refresh, like buttons. Based on Dan Saffer's four-part structure (Trigger, Rules, Feedback, Loops & Modes), this framework turns invisible details into the polish that separates forgettable products from beloved ones.
这是一种系统化的设计方法,针对用户日常交互的微小、独立的产品场景——比如切换控件、密码输入框、加载指示器、下拉刷新、点赞按钮等。该框架基于Dan Saffer提出的四部分结构(Trigger、Rules、Feedback、Loops & Modes),将那些容易被忽略的细节转化为产品的打磨亮点,让产品从易被遗忘变得受人喜爱。
Core Principle
核心原则
The difference between a product you tolerate and a product you love is almost always in the microinteractions. A microinteraction is a contained product moment built around a single use case: changing a setting, syncing data, setting an alarm, picking a password. They are so small that users rarely think about them consciously -- but they feel them. Every microinteraction follows the same four-part structure: a Trigger initiates it, Rules determine what happens, Feedback shows what is happening, and Loops & Modes define its long-term behavior.
一款你能忍受的产品和一款你热爱的产品之间的区别,几乎总是在于微交互。 微交互是围绕单一用例构建的独立产品场景:比如更改设置、同步数据、设置闹钟、选择密码等。它们如此微小,用户很少会有意识地关注,但却能切实感受到。每个微交互都遵循相同的四部分结构:Trigger(触发器)启动交互,Rules(规则)定义交互过程,Feedback(反馈)展示当前状态,Loops & Modes(循环与模式)定义长期行为。
Scoring
评分标准
Goal: 10/10. When reviewing or creating microinteractions, rate them 0-10 based on adherence to the principles below. A 10/10 means every interactive moment has a deliberate trigger, clear rules, immediate feedback, and thoughtful loop/mode behavior. Lower scores indicate gaps to address. Always provide the current score and specific improvements needed to reach 10/10.
目标:10/10。 在评审或创建微交互时,根据以下原则为其打分(0-10分)。10分意味着每个交互场景都有明确的触发器、清晰的规则、即时的反馈,以及经过深思熟虑的循环/模式行为。分数越低,说明存在需要改进的漏洞。评分时需给出当前分数,以及具体的改进建议以达到10分标准。
The Microinteraction Structure
微交互结构
Six areas of focus for designing world-class microinteractions:
打造顶级微交互需关注以下六大领域:
1. Triggers
1. 触发器(Trigger)
Core concept: The trigger is what initiates a microinteraction. It can be manual (user-initiated -- a tap, click, swipe, voice command) or system-initiated (a condition is met -- time, location, incoming data, error state). The trigger is the front door of every microinteraction.
Why it works: Without a clear trigger, users cannot discover or initiate the interaction. Without a system trigger, the product cannot respond to changing conditions. Well-designed triggers make functionality discoverable and set accurate expectations for what will happen next.
Key insights:
- Manual triggers live inside existing UI controls: buttons, switches, icons, form fields, gestures
- System triggers fire automatically when conditions are met: time elapsed, threshold reached, data received
- A trigger must communicate three things: that it exists, what it does, and what state it is in
- Trigger affordance should match the importance of the action -- high-stakes actions need prominent triggers
- Invisible triggers (gestures, shake, proximity) must be paired with a visible alternative for discoverability
- Trigger states -- default, hover, active, disabled, loading -- must be visually distinct
Product applications:
| Context | Application | Example |
|---|---|---|
| Toggle controls | Manual trigger with binary state | iOS Wi-Fi switch: tap to toggle, position shows state |
| Pull-to-refresh | Hidden gesture trigger with visible affordance | Pulling down past threshold triggers refresh animation |
| System alerts | System trigger on condition met | Low battery notification at 20% threshold |
| Search fields | Manual trigger with auto-suggest system trigger | Typing initiates search; results appear as system trigger |
| Hover reveals | Manual trigger using proximity | Toolbar actions appear on card hover |
Ethical boundary: Never hide critical triggers behind gestures or invisible interactions without a visible fallback. Users should always be able to discover essential functionality.
See: references/trigger-design.md
核心概念: 触发器是启动微交互的入口,可分为手动触发(用户主动发起——点击、轻触、滑动、语音指令)或系统触发(满足特定条件——时间、位置、传入数据、错误状态)。触发器是每个微交互的“前门”。
设计意义: 没有清晰的触发器,用户无法发现或启动交互;没有系统触发器,产品无法响应变化的条件。设计精良的触发器能让功能更易被发现,并为用户准确预判后续行为。
关键要点:
- 手动触发器嵌入现有UI控件:按钮、开关、图标、表单字段、手势
- 系统触发器在满足条件时自动触发:时间到期、阈值达成、数据接收完成
- 触发器必须传达三点信息:自身存在、功能作用、当前状态
- 触发器的可见性应与操作的重要性匹配:高风险操作需要醒目的触发器
- 不可见触发器(手势、摇晃、接近感应)必须搭配可见替代方案以提升可发现性
- 触发器状态——默认、悬停、激活、禁用、加载——必须在视觉上区分开
产品应用场景:
| 场景 | 应用方式 | 示例 |
|---|---|---|
| 切换控件 | 带有二元状态的手动触发器 | iOS Wi-Fi开关:轻触切换,位置显示当前状态 |
| 下拉刷新 | 隐藏手势触发器搭配可见提示 | 下拉超过阈值时触发刷新动画 |
| 系统提醒 | 满足条件时的系统触发器 | 电量低于20%时触发低电量通知 |
| 搜索框 | 手动触发搭配自动建议的系统触发 | 输入内容启动搜索;搜索结果随输入实时显示(系统触发) |
| 悬停展示 | 基于接近感应的手动触发 | 鼠标悬停在卡片上时显示工具栏操作 |
伦理边界: 绝不能将关键触发器隐藏在手势或不可见交互后却不提供可见备选方案。用户应始终能发现核心功能。
参考:references/trigger-design.md
2. Rules
2. 规则(Rules)
Core concept: Rules determine what happens once a microinteraction is triggered. They define the sequence of events, the constraints on what can and cannot happen, the algorithm that processes input, and when the microinteraction ends. Rules are the invisible logic -- users never see them directly, but they feel when rules are wrong.
Why it works: Rules create the mental model users build about how the interaction works. When rules are consistent and match expectations, the interaction feels natural. When rules violate expectations -- a toggle that does not toggle, a slider that jumps in value -- users lose trust.
Key insights:
- Define the goal of the microinteraction first, then derive rules from it
- Rules should feel natural -- match existing mental models and platform conventions
- Constrain inputs to prevent errors: limit character counts, set value ranges, enforce formats
- Handle edge cases explicitly: what happens at zero, at maximum, on repeated triggers, on interruption
- Simple rules produce complex-feeling interactions; complex rules produce confusing interactions
- The best rules are invisible -- users do not think about them, they just work
Product applications:
| Context | Application | Example |
|---|---|---|
| Password strength | Rules evaluate input in real-time | Meter updates as user types; color shifts from red to green |
| Character counter | Rule constrains and displays remaining | Twitter/X: counter decreases, turns red at limit |
| Volume control | Rule maps input to output with constraints | Slider snaps to 5% increments; long-press mutes |
| Shopping cart | Rules manage quantity and state | Cannot go below 1; shows "max 10" at limit |
| Undo action | Rule sets time window for reversal | Gmail "Undo send" available for 30 seconds |
Ethical boundary: Rules should be transparent and predictable. Do not create hidden rules that manipulate user behavior, such as making unsubscribe require more steps than subscribe.
See: references/rules-and-state.md
核心概念: 规则定义了微交互被触发后的行为,包括事件序列、操作约束、输入处理算法,以及微交互的结束时机。规则是背后的隐形逻辑——用户永远不会直接看到,但能感知到规则是否合理。
设计意义: 规则构建了用户对交互方式的心智模型。当规则一致且符合预期时,交互会显得自然;当规则违背预期——比如切换控件无法切换、滑块数值跳跃——用户会失去信任。
关键要点:
- 先定义微交互的目标,再据此推导规则
- 规则应符合自然直觉——匹配现有心智模型和平台惯例
- 限制输入以避免错误:限制字符数、设置数值范围、强制格式规范
- 明确处理边缘情况:数值为0、达到最大值、重复触发、被中断时的行为
- 简单规则能产生复杂感的交互;复杂规则会导致交互混乱
- 最佳规则是隐形的——用户无需思考,就能正常使用
产品应用场景:
| 场景 | 应用方式 | 示例 |
|---|---|---|
| 密码强度检测 | 实时评估输入内容的规则 | 强度条随用户输入实时更新;颜色从红色渐变到绿色 |
| 字符计数器 | 限制输入并显示剩余字符的规则 | Twitter/X:计数器递减,达到限制时变为红色 |
| 音量控制 | 将输入映射到输出并带约束的规则 | 滑块以5%为增量跳转;长按可静音 |
| 购物车 | 管理数量和状态的规则 | 数量不能低于1;达到上限时显示“最多10件” |
| 撤销操作 | 设置撤销时间窗口的规则 | Gmail“撤销发送”功能仅在30秒内可用 |
伦理边界: 规则应透明且可预测。不要创建隐藏规则来操纵用户行为,比如取消订阅比订阅需要更多步骤。
参考:references/rules-and-state.md
3. Feedback
3. 反馈(Feedback)
Core concept: Feedback communicates the rules of the microinteraction to the user. It answers: "What is happening right now?" Feedback can be visual (color, animation, movement), auditory (clicks, chimes), or haptic (vibrations). The key constraint is showing only what matters -- minimal, meaningful, contextual.
Why it works: Without feedback, users cannot tell if their action registered, if the system is working, or if the operation succeeded. Feedback closes the Gulf of Evaluation. Too little feedback creates anxiety; too much creates noise. The right feedback at the right time makes interactions feel responsive, trustworthy, and alive.
Key insights:
- Feedback must be immediate -- under 100ms for direct manipulation
- Use the least noticeable feedback that still communicates: a subtle color change before a modal dialog
- Feedback should map to the significance of the event: small action = small feedback, big result = big feedback
- Visual feedback is primary; audio and haptic are supplementary and should never be the only channel
- Progress indicators reduce perceived wait time even when actual time stays the same
- Feedback should use existing elements when possible -- animate the button, not a separate notification
Product applications:
| Context | Application | Example |
|---|---|---|
| Button press | Visual state change on click | Button depresses, color shifts, text changes to "Saving..." |
| Form validation | Inline feedback as user types | Green checkmark appears next to valid email field |
| File upload | Progress indicator with percentage | Progress bar fills; percentage and estimated time shown |
| Error state | Contextual error near the source | Red border on field + message "Password must be 8+ characters" |
| Success confirmation | Brief, non-blocking affirmation | Checkmark animation replaces submit button for 1.5 seconds |
Ethical boundary: Feedback should be honest. Do not use fake progress bars, manipulative countdown timers, or deceptive completion percentages to create false urgency.
See: references/feedback-patterns.md
核心概念: 反馈向用户传达微交互的规则,回答“当前正在发生什么?”的问题。反馈可以是视觉(颜色、动画、移动)、听觉(点击声、提示音)或触觉(震动)。关键约束是只展示重要信息——简洁、有意义、贴合场景。
设计意义: 没有反馈,用户无法判断操作是否被接收、系统是否在运行、操作是否成功。反馈填补了“评估鸿沟”。反馈太少会引发焦虑;反馈太多会造成干扰。适时的恰当反馈能让交互显得响应迅速、值得信赖且富有生命力。
关键要点:
- 反馈必须即时——直接操作的反馈需在100ms内完成
- 使用最不显眼但仍能传达信息的反馈:在弹出模态框前先做微妙的颜色变化
- 反馈应与事件的重要性匹配:小操作对应小反馈,大结果对应大反馈
- 视觉反馈是主要方式;音频和触觉反馈是补充,绝不能作为唯一渠道
- 进度指示器即使不缩短实际等待时间,也能减少用户的感知等待时长
- 反馈应尽可能使用现有元素——动画化按钮本身,而非单独的通知
产品应用场景:
| 场景 | 应用方式 | 示例 |
|---|---|---|
| 按钮点击 | 点击时的视觉状态变化 | 按钮凹陷、颜色变化、文字变为“保存中...” |
| 表单验证 | 用户输入时的内联反馈 | 有效邮箱字段旁显示绿色对勾 |
| 文件上传 | 带百分比的进度指示器 | 进度条填充;显示百分比和预计剩余时间 |
| 错误状态 | 靠近问题源的上下文反馈 | 输入框红色边框 + 提示信息“密码必须至少8位” |
| 成功确认 | 简短、非阻塞的确认提示 | 提交按钮替换为对勾动画,持续1.5秒 |
伦理边界: 反馈应诚实。不要使用虚假进度条、操纵性倒计时或欺骗性完成百分比来制造虚假紧迫感。
参考:references/feedback-patterns.md
4. Loops and Modes
4. 循环与模式(Loops & Modes)
Core concept: Loops determine the meta-rules of a microinteraction -- what happens over time. Does the interaction change after the 100th use? Does it expire? Does it adapt? Modes are forks in the rules -- temporary states where the microinteraction behaves differently (e.g., edit mode vs. view mode).
Why it works: Products that never evolve feel stale. Products that shift behavior unpredictably feel unreliable. Thoughtful loops let microinteractions mature gracefully -- reducing friction for power users while remaining discoverable for new ones. Modes, when used sparingly, let a single control serve multiple purposes without cluttering the interface.
Key insights:
- Open loops continue until explicitly stopped (a repeating alarm); closed loops run once and end (a timer)
- Long loops change the microinteraction over time: first use might show a tooltip; 50th use does not
- Progressive reduction: strip away scaffolding as users demonstrate mastery
- Modes are dangerous -- they violate the principle that the same action should produce the same result
- If you must use modes, make the current mode extremely visible (Caps Lock indicator, edit mode banner)
- Avoid mode errors by minimizing the number of modes and making mode transitions deliberate
Product applications:
| Context | Application | Example |
|---|---|---|
| Onboarding tooltips | Long loop removes hints after N uses | First 3 sessions show "Swipe to archive"; then stop |
| Alarm clock | Open loop repeats daily until disabled | Alarm fires every weekday at 7am until toggled off |
| Text editing | Mode: view vs. edit | Banner reads "Editing" with a "Done" button to exit mode |
| Smart defaults | Long loop learns preferences | Email app learns you always CC your manager; suggests it |
| Notification frequency | Long loop adapts delivery | Reduces notifications if user ignores 5 in a row |
Ethical boundary: Loops should benefit the user, not the business. Do not use adaptive loops to increase notification frequency or make opt-outs progressively harder.
See: references/loops-modes.md
核心概念: 循环定义了微交互的元规则——随时间推移的行为变化。交互在第100次使用后会改变吗?会过期吗?会自适应吗?模式是规则的分支——微交互行为临时改变的状态(比如编辑模式 vs 查看模式)。
设计意义: 一成不变的产品会显得陈旧;行为不可预测的产品会显得不可靠。经过深思熟虑的循环能让微交互优雅地演进——为资深用户减少摩擦,同时对新用户保持可发现性。模式在谨慎使用的情况下,能让单个控件实现多种功能而不杂乱界面。
关键要点:
- 开放循环会持续到被明确停止(比如重复闹钟);闭合循环只运行一次就结束(比如计时器)
- 长期循环会随时间改变微交互:首次使用可能显示提示框;第50次使用时不再显示
- 渐进式简化:随着用户熟练度提升,逐步移除引导内容
- 模式存在风险——违背“相同操作产生相同结果”的原则
- 若必须使用模式,需让当前模式极其显眼(比如大写锁定指示器、编辑模式横幅)
- 通过减少模式数量、让模式切换更明确来避免模式错误
产品应用场景:
| 场景 | 应用方式 | 示例 |
|---|---|---|
| 新手指引提示 | 长期循环在N次使用后移除提示 | 前3次会话显示“滑动归档”;之后不再显示 |
| 闹钟 | 每日重复直到禁用的开放循环 | 工作日每天7点触发闹钟,直到被关闭 |
| 文本编辑 | 查看模式 vs 编辑模式 | 横幅显示“编辑中”,并带有“完成”按钮退出模式 |
| 智能默认值 | 长期循环学习用户偏好 | 邮件应用学习到你总是抄送经理,自动建议抄送 |
| 通知频率 | 长期循环调整推送频率 | 若用户连续忽略5条通知,减少推送数量 |
伦理边界: 循环应让用户受益,而非服务于商业利益。不要使用自适应循环来增加通知频率,或让退订操作越来越难。
参考:references/loops-modes.md
5. Signature Moments
5. 标志性场景(Signature Moments)
Core concept: A signature moment is a microinteraction so distinctive that it becomes part of the product's identity. It transforms a functional necessity into a brand-defining detail -- the Facebook Like thumbs-up, the iPhone slide-to-unlock, Slack's loading messages. Not every microinteraction should be a signature moment, but every product should have one or two.
Why it works: Signature moments create emotional memory. They make products feel crafted rather than assembled. When users describe your product to others, signature moments are what they demonstrate first. They turn utility into personality.
Key insights:
- Signature moments work best on frequent, visible actions -- not buried settings
- They must be functional first, delightful second -- never sacrifice usability for novelty
- Animation, sound, and copy are the three most common tools for creating signature moments
- Signature moments should align with brand personality: playful brands get playful moments
- Restraint matters -- if everything is a signature moment, nothing is
- Test whether users would miss the detail if it were removed; if not, it is decoration, not signature
Product applications:
| Context | Application | Example |
|---|---|---|
| Social reaction | Animated response to engagement | Facebook Like: thumbs-up animates with particles |
| Loading state | Branded waiting experience | Slack: rotating quotes during load |
| Completion | Celebratory confirmation | Stripe payment: animated checkmark with confetti |
| Empty state | Personality in absence of content | Dropbox: illustrated scenes with friendly copy |
| Error recovery | Graceful failure with personality | GitHub 404: parallax Octocat illustration |
Ethical boundary: Signature moments should never obscure important information or delay the user to show off an animation. Function always precedes delight.
See: references/signature-moments.md
核心概念: 标志性场景是极具辨识度的微交互,能成为产品身份的一部分。它将功能性需求转化为品牌定义的细节——比如Facebook点赞的竖起大拇指动画、iPhone滑动解锁、Slack的加载提示语。并非每个微交互都要成为标志性场景,但每个产品都应该有1-2个。
设计意义: 标志性场景能创造情感记忆,让产品显得精心雕琢而非简单组装。当用户向他人介绍你的产品时,标志性场景是他们最先展示的部分。它将实用性转化为独特个性。
关键要点:
- 标志性场景最适合频繁、可见的操作——而非隐藏的设置
- 必须先保证功能性,再追求趣味性——绝不能为了新颖性牺牲可用性
- 动画、声音和文案是创建标志性场景的三大常用工具
- 标志性场景应与品牌个性匹配:活泼的品牌搭配活泼的场景
- 克制很重要——如果所有内容都是标志性场景,那就没有亮点了
- 测试用户是否会在意该细节的移除;如果不会,那它只是装饰,而非标志性场景
产品应用场景:
| 场景 | 应用方式 | 示例 |
|---|---|---|
| 社交互动 | 互动时的动画反馈 | Facebook点赞:竖起大拇指动画搭配粒子效果 |
| 加载状态 | 品牌化的等待体验 | Slack:加载时显示旋转的名言警句 |
| 完成确认 | 庆祝式的确认提示 | Stripe支付:动画对勾搭配彩屑效果 |
| 空状态 | 无内容时的个性展示 | Dropbox:带有友好文案的插画场景 |
| 错误恢复 | 带有个性的优雅错误处理 | GitHub 404页面:视差滚动的Octocat插画 |
伦理边界: 标志性场景绝不能遮挡重要信息,或为了展示动画而耽误用户操作。功能性永远优先于趣味性。
参考:references/signature-moments.md
6. Reducing and Simplifying
6. 简化与精简
Core concept: The best microinteraction is one the user barely notices because it is so simple and fast. Reduction means doing less -- fewer options, fewer steps, fewer decisions. Simplifying means making what remains feel effortless. The goal is to distill every microinteraction to its absolute essence.
Why it works: Every option, field, and decision adds cognitive load. Users do not want to configure a toggle switch. They want the toggle to work. Reduction fights feature creep at the smallest level. The most elegant microinteractions have zero configuration, one action, and immediate results.
Key insights:
- If a microinteraction needs instructions, it is too complex
- Remove options by choosing smart defaults -- pick the best choice and commit to it
- Collapse multi-step interactions into a single action where possible
- Use progressive disclosure: show simple first, reveal complexity only when requested
- Avoid "settings within settings" -- if a microinteraction has its own preferences, reconsider
- The number of rules should be proportional to the frequency of use: common actions need few rules
Product applications:
| Context | Application | Example |
|---|---|---|
| Smart defaults | Eliminate configuration | Camera app defaults to photo mode, not settings |
| Inline editing | Remove modal, edit in place | Spreadsheet cell: click to edit, Enter to save |
| Auto-detection | System handles instead of user | Credit card type detected from first digits |
| Single action | One tap replaces multi-step flow | Double-tap to like instead of open menu, select reaction |
| Anticipatory design | Predict and pre-fill | Shipping form pre-fills city and state from ZIP code |
Ethical boundary: Simplification should not remove user control over meaningful choices. Do not auto-opt users into features that benefit the business at the user's expense.
See: references/trigger-design.md for reducing trigger complexity.
核心概念: 最佳的微交互是用户几乎注意不到的,因为它简单又快捷。精简意味着减少操作——更少选项、更少步骤、更少决策;简化意味着让剩余的操作感觉毫不费力。目标是将每个微交互提炼到最本质的状态。
设计意义: 每个选项、字段和决策都会增加认知负担。用户不想配置切换开关,他们只想让开关正常工作。精简能在最小层面对抗功能膨胀。最优雅的微交互无需配置、只需一步操作、即时得到结果。
关键要点:
- 如果微交互需要说明文字,说明它太复杂了
- 通过选择智能默认值来移除选项——挑选最佳方案并坚持使用
- 尽可能将多步骤交互合并为单一操作
- 使用渐进式披露:先展示简单内容,仅在用户请求时再显示复杂功能
- 避免“设置中的设置”——如果一个微交互有自己的偏好设置,需重新考量
- 规则数量应与使用频率成正比:常用操作只需少量规则
产品应用场景:
| 场景 | 应用方式 | 示例 |
|---|---|---|
| 智能默认值 | 消除配置步骤 | 相机应用默认进入拍照模式,而非设置界面 |
| 内联编辑 | 移除模态框,直接在原地编辑 | 电子表格单元格:点击编辑,回车保存 |
| 自动检测 | 系统处理而非用户操作 | 从卡号前几位自动检测信用卡类型 |
| 单一操作 | 一键替代多步骤流程 | 双击点赞,而非打开菜单选择反应 |
| 预判式设计 | 预测并预填充内容 | 配送表单根据邮政编码自动填充城市和州 |
伦理边界: 简化不能剥夺用户对重要选项的控制权。不要自动将用户加入对商业有利但损害用户利益的功能。
参考:references/trigger-design.md 以了解如何精简触发器复杂度。
Common Mistakes
常见错误
| Mistake | Why It Fails | Fix |
|---|---|---|
| No feedback on action | Users do not know if their tap registered | Add immediate visual state change to every interactive element |
| Overdesigning simple moments | Complex animations slow down frequent actions | Reserve rich animation for infrequent, high-impact moments |
| Ignoring edge cases | Interaction breaks at zero, at max, or on double-tap | Map every state: empty, loading, partial, full, error, disabled |
| Invisible triggers | Users cannot discover functionality | Pair gesture triggers with a visible alternative |
| Mode errors | Same action produces different results depending on hidden state | Make current mode visible; minimize number of modes |
| Ignoring long loops | Interaction feels the same on day 1 and day 100 | Use progressive reduction to streamline for returning users |
| Feedback overload | Every action triggers a toast, sound, or animation | Use the smallest feedback that communicates; reserve big feedback for big events |
| Fake progress indicators | Users feel deceived when they discover the bar is fake | Use honest, deterministic progress; show indeterminate spinner when unknown |
| 错误 | 失败原因 | 修复方案 |
|---|---|---|
| 操作无反馈 | 用户不知道点击是否生效 | 为每个交互元素添加即时视觉状态变化 |
| 过度设计简单场景 | 复杂动画拖慢频繁操作的速度 | 仅为不频繁、高影响的场景保留丰富动画 |
| 忽略边缘情况 | 交互在数值为0、最大值或双击时失效 | 覆盖所有状态:空、加载、部分完成、满、错误、禁用 |
| 触发器不可见 | 用户无法发现功能 | 为手势触发器搭配可见替代方案 |
| 模式错误 | 相同操作在不同隐藏状态下产生不同结果 | 让当前模式可见;减少模式数量 |
| 忽略长期循环 | 第1天和第100天的交互体验完全相同 | 通过长期循环实现渐进式简化,优化资深用户体验 |
| 反馈过载 | 每个操作都触发提示框、声音或动画 | 使用最简洁的反馈来传达信息;仅为重大事件保留大反馈 |
| 虚假进度指示器 | 用户发现进度条是虚假的后会感到被欺骗 | 使用诚实、确定的进度;未知时显示不确定的加载动画 |
Quick Diagnostic
快速诊断
Audit any microinteraction:
| Question | If No | Action |
|---|---|---|
| Is there a clear, discoverable trigger? | Users cannot initiate the interaction | Add a visible control or affordance |
| Does the trigger show its current state? | Users cannot tell if it is on, off, or loading | Add distinct visual states for every trigger state |
| Are the rules simple and predictable? | Users are confused by what happened | Simplify rules; match platform conventions |
| Is there immediate feedback? | Users question whether their action worked | Add visual response within 100ms |
| Does feedback match the significance of the event? | Small actions feel dramatic or big actions feel trivial | Scale feedback to match event importance |
| Does the interaction evolve over time? | Power users are still seeing beginner hints | Add progressive reduction through long loops |
| Is the interaction free of unnecessary modes? | Users perform wrong action in wrong mode | Remove modes or make current mode highly visible |
| Could a first-time user figure it out without help? | Interaction needs explanation | Simplify or add a one-time hint via long loop |
审计任意微交互:
| 问题 | 若答案为否 | 改进措施 |
|---|---|---|
| 是否有清晰、可发现的触发器? | 用户无法启动交互 | 添加可见控件或提示 |
| 触发器是否显示当前状态? | 用户无法判断它是开启、关闭还是加载中 | 为每个触发器状态添加独特的视觉标识 |
| 规则是否简单且可预测? | 用户对交互结果感到困惑 | 简化规则;匹配平台惯例 |
| 是否有即时反馈? | 用户怀疑操作是否生效 | 在100ms内添加视觉响应 |
| 反馈是否与事件的重要性匹配? | 小操作反馈过于夸张,或大操作反馈过于平淡 | 根据事件重要性调整反馈规模 |
| 交互是否随时间演进? | 资深用户仍能看到新手指引 | 通过长期循环实现渐进式简化 |
| 交互是否没有不必要的模式? | 用户在错误模式下执行错误操作 | 移除模式,或让当前模式高度可见 |
| 首次使用的用户无需帮助就能理解吗? | 交互需要说明 | 简化交互,或通过长期循环添加一次性提示 |
Reference Files
参考文件
- trigger-design.md: Manual and system triggers, trigger affordances, trigger states, invisible trigger design, placement and visibility
- rules-and-state.md: Defining rules, state management, constraints, error states, edge cases
- feedback-patterns.md: Visual, audio, and haptic feedback, timing, progressive disclosure, preventing overload
- loops-modes.md: Open and closed loops, long loops, modes, mode errors, progressive complexity
- signature-moments.md: Brand-defining microinteractions, examples, when to invest, making mundane interactions delightful
- case-studies.md: Detailed design breakdowns of form submission, toggle/switch, pull-to-refresh, loading states, and notifications
- trigger-design.md:手动与系统触发器、触发器可见性、触发器状态、不可见触发器设计、布局与可见性
- rules-and-state.md:规则定义、状态管理、约束、错误状态、边缘情况
- feedback-patterns.md:视觉、音频与触觉反馈、时机、渐进式披露、避免过载
- loops-modes.md:开放与闭合循环、长期循环、模式、模式错误、渐进式复杂度
- signature-moments.md:品牌标志性微交互、示例、投入时机、让平凡交互变得有趣
- case-studies.md:表单提交、切换控件、下拉刷新、加载状态、通知的详细设计拆解
Further Reading
延伸阅读
This skill is based on Dan Saffer's definitive guide to designing the details that separate good products from great ones:
- "Microinteractions: Designing with Details" by Dan Saffer
本技能基于Dan Saffer的权威指南,该书专注于设计区分普通产品与卓越产品的细节:
- 《Microinteractions: Designing with Details》 作者:Dan Saffer
About the Author
关于作者
Dan Saffer is a designer, author, and design leader who has led design teams at Twitter, Jawbone, and Smart Design. He is known for his work on interaction design at the detail level -- the small, contained moments that make up the bulk of user experience. Microinteractions codified a framework that design teams at companies worldwide use to audit, design, and improve the small details that make products feel polished and alive. Saffer has also authored Designing for Interaction and Designing Gestural Interfaces, and he speaks regularly at design conferences on the craft of interaction design.
Dan Saffer 是设计师、作家和设计领导者,曾在Twitter、Jawbone和Smart Design领导设计团队。他以细节层面的交互设计工作而闻名——那些构成用户体验主体的微小、独立场景。《Microinteractions》系统化了一个框架,全球众多公司的设计团队都用它来审计、设计和改进产品细节,让产品显得更精致、更有生命力。Saffer还著有《Designing for Interaction》和《Designing Gestural Interfaces》,并定期在设计会议上发表关于交互设计工艺的演讲。