microinteractions

microinteractions

热门

设计那些微小的细节——触发器、规则、反馈、循环和模式——它们将优秀产品与伟大产品区分开来。当用户提到“微交互”、“按钮反馈”、“加载状态”、“开关设计”、“动画细节”、“状态切换”、“输入反馈”、“界面感觉死板”、“让界面响应更灵敏”或“为交互增加精致感”时使用。在设计表单验证响应、进度指示器、确认对话框或任何用户期望即时反馈的元素时也会触发。涵盖触发器设计、状态规则、反馈机制和渐进式循环。如需整体UI精致化,请参考 refactoring-ui。如需可供性设计,请参考 design-everyday-things。

1698Star
171Fork
更新于 2026/7/16
SKILL.md
readonly只读
name
microinteractions
description

设计那些微小的细节——触发器、规则、反馈、循环和模式——它们将优秀产品与伟大产品区分开来。当用户提到“微交互”、“按钮反馈”、“加载状态”、“开关设计”、“动画细节”、“状态切换”、“输入反馈”、“界面感觉死板”、“让界面响应更灵敏”或“为交互增加精致感”时使用。在设计表单验证响应、进度指示器、确认对话框或任何用户期望即时反馈的元素时也会触发。涵盖触发器设计、状态规则、反馈机制和渐进式循环。如需整体UI精致化,请参考 refactoring-ui。如需可供性设计,请参考 design-everyday-things。

微交互框架

设计用户每天接触的那些微小、独立的产品瞬间——开关、密码字段、加载指示器、下拉刷新、点赞按钮。基于 Dan Saffer 的四部分结构(触发器、规则、反馈、循环与模式),该框架将无形的细节转化为精致感,区分出令人遗忘的产品与受人喜爱的产品。

核心原则

你容忍的产品与你喜爱的产品之间的差异,几乎总是在微交互中。 微交互是一个围绕单一用例构建的独立瞬间——更改设置、同步数据、选择密码——如此微小以至于用户很少有意注意,但他们能感受到。每个微交互都遵循相同的四部分结构:触发器启动它,规则决定发生什么,反馈显示正在发生什么,循环与模式定义其长期行为。

评分

目标:10/10。 根据微交互通过多少项快速诊断行来评分——score = round(passed / 8 × 10),然后查看等级:

  • 9-10 = 通过全部8项:触发器清晰可发现且状态可见,规则简单可预测,反馈在100ms内且与事件重要性匹配,随时间演变,无模式或模式可见,无需帮助即可学习。
  • 5-6 = 通过4-5项:功能正常但感觉通用——例如,反馈存在但单一,或触发器缺乏不同状态。
  • <=3 = 通过2项或更少:缺少反馈、触发器不可见或隐藏模式破坏信任。

始终说明当前分数、未通过的诊断行以及每项的具体修复方法。

微交互结构

设计世界级微交互的六个关注领域。当需要完整分析真实模式(表单提交、开关/切换、下拉刷新、加载状态和通知,从首次使用到边缘情况)时,请参阅 references/case-studies.md

1. 触发器

核心概念: 触发器启动微交互——手动(点击、轻触、滑动、语音命令)或系统触发(时间、位置、传入数据、错误状态)。它是每个微交互的大门。

为何有效: 触发器的显著性和标签在用户操作前设定期望——一个写着红色“删除”的按钮表示不可逆的高风险结果,因此后续的反馈感觉可预测而非意外。

关键见解:

  • 触发器必须传达三件事:它存在、它做什么、它处于什么状态
  • 将触发器显著性匹配操作重要性——高风险操作需要显著触发器
  • 将不可见触发器(手势、摇晃、接近)与可见替代方案配对以提高可发现性
  • 使触发器状态——默认、悬停、激活、禁用、加载——视觉上可区分

产品应用:

上下文 应用 示例
开关控制 手动触发器,二元状态 iOS Wi-Fi 开关:点击切换,位置显示状态
下拉刷新 隐藏手势,可见可供性 拉动超过阈值触发刷新动画
系统提醒 条件满足时系统触发 电量低于20%时低电量通知

伦理边界: 切勿将关键触发器隐藏在手势或不可见交互之后,而没有可见的备用方案。

参见:references/trigger-design.md 了解触发器可供性、状态、放置和降低触发器复杂性。

2. 规则

核心概念: 规则定义微交互触发后发生什么——事件序列、约束、处理和结束。用户从未直接看到规则,但当规则错误时他们能感觉到。

为何有效: 规则创建了用户对交互如何工作的心智模型。一致的、符合期望的规则感觉自然;违反规则——一个不切换的开关、一个跳跃的滑块——破坏信任。

关键见解:

  • 首先定义微交互的目标,然后从中推导规则
  • 匹配现有的心智模型和平台惯例
  • 约束输入以防止错误:限制字符数、设置值范围、强制格式
  • 明确处理边缘情况:零、最大值、重复触发、中断

产品应用:

上下文 应用 示例
密码强度 规则实时评估输入 用户输入时进度条更新;颜色从红变绿
字符计数器 规则约束并显示剩余 Twitter/X:计数器递减,达到限制时变红
撤销操作 规则设定撤销的时间窗口 Gmail“撤销发送”可用30秒

伦理边界: 保持规则透明和可预测——切勿隐藏操纵行为的规则,例如使取消订阅比订阅更难。

参见:references/rules-and-state.md 了解状态管理、约束、错误状态和边缘情况。

3. 反馈

核心概念: 反馈向用户传达规则,回答“现在正在发生什么?”——视觉上(颜色、动画、移动)、听觉上(点击声、提示音)或触觉上(振动)。只显示重要的内容:最小化、有意义、上下文相关。

为何有效: 没有反馈,用户无法判断他们的操作是否被记录或系统是否在工作,因此他们会重复点击、放弃或不信任结果。反馈将无形的系统状态转化为感知到的响应。

关键见解:

  • 反馈必须即时——直接操作在100ms以内
  • 使用最不引人注意但仍能传达信息的反馈,优先动画化现有元素(按钮本身,而不是单独的提示)
  • 将反馈与事件重要性匹配:小动作=小反馈,大结果=大反馈
  • 视觉反馈是主要的;音频和触觉是辅助的,永远不是唯一渠道
  • 进度指示器减少感知等待时间,即使实际时间不变

产品应用:

上下文 应用 示例
按钮按下 点击时视觉状态变化 按钮凹陷,颜色变化,文字变为“保存中...”
表单验证 用户输入时内联反馈 有效邮箱字段旁出现绿色勾号
错误状态 错误附近上下文提示 字段红色边框 + “密码必须至少8个字符”

伦理边界: 保持反馈诚实——没有虚假的进度条、操纵性的倒计时或欺骗性的完成百分比。

参见:references/feedback-patterns.md 了解反馈渠道、时机和防止过载。

4. 循环与模式

核心概念: 循环是随时间变化的元规则——交互在第100次使用后是否改变、过期或适应?模式是规则的分支,同一控件暂时表现不同(编辑模式 vs. 查看模式)。

为何有效: 深思熟虑的循环让微交互优雅地成熟——为高级用户减少摩擦,同时对新用户保持可发现性。模式,谨慎使用,让一个控件服务多个目的而不使界面杂乱。

关键见解:

  • 开放循环持续直到明确停止(重复闹钟);封闭循环运行一次后结束(计时器)
  • 长循环随时间改变交互:首次使用显示工具提示;第50次不显示
  • 渐进式简化:随着用户掌握技能,移除辅助提示
  • 模式是危险的——它们违反“相同操作,相同结果”;最小化模式并使当前模式高度可见(大写锁定指示器、编辑横幅)

产品应用:

上下文 应用 示例
入门提示 长循环在N次使用后移除提示 前3次会话显示“滑动归档”;然后停止
闹钟 开放循环重复直到禁用 每个工作日早上7点响铃,直到关闭
文本编辑 模式:查看 vs. 编辑 横幅显示“编辑中”,带有“完成”按钮退出

伦理边界: 循环应使益用户,而非业务——切勿调整循环以增加通知或使退出选择逐渐更难。

参见:references/loops-modes.md 了解长循环、模式错误和渐进复杂性。

5. 标志性时刻

核心概念: 标志性时刻是一种微交互,如此独特以至于成为产品身份的一部分——Facebook 点赞、滑动解锁、Slack 的加载消息。每个产品应该有一两个;并非每个交互都应该是。

为何有效: 标志性时刻创造情感记忆,使产品感觉精心制作而非拼凑。它们是用户向他人描述你的产品时首先展示的。

关键见解:

  • 将标志性时刻放在频繁、可见的操作上——而不是深藏的设置中
  • 功能第一,愉悦第二——永远不要为了新奇牺牲可用性
  • 动画、声音和文案是三种最常见的工具
  • 与品牌个性一致:有趣品牌获得有趣时刻
  • 应用移除测试:如果用户不会想念它,那它就是装饰,而非标志性

产品应用:

上下文 应用 示例
社交反应 对参与度的动画响应 Facebook 点赞:竖起大拇指动画带粒子效果
加载状态 品牌化等待体验 Slack:加载时旋转引用
完成 庆祝性确认 Stripe 支付:动画勾号带五彩纸屑

伦理边界: 切勿在不可跳过的庆祝动画后面阻止输入或下一步——让用户点击穿过五彩纸屑继续。

参见:references/signature-moments.md 了解何时投入以及如何让平凡交互变得愉悦。

6. 减少与简化

核心概念: 最好的微交互几乎不被注意,因为它如此简单和快速。减少(更少的选项、步骤、决策),然后简化剩余部分直到感觉毫不费力。

为何有效: 每个选项、字段和决策都增加认知负荷——用户不想配置开关,他们希望它工作。最优雅的微交互具有零配置、一个操作和即时结果。

关键见解:

  • 如果微交互需要说明,那它太复杂了
  • 通过智能默认值移除选项——选择最佳选择并坚持
  • 尽可能将多步交互合并为单个操作
  • 使用渐进式披露:先显示简单内容,仅在请求时显示复杂性
  • 保持规则数量与使用频率成比例:常见操作需要少量规则

产品应用:

上下文 应用 示例
智能默认值 消除配置 相机应用默认打开拍照模式,而非设置
单一操作 一次点击替代多步流程 双击点赞代替菜单+选择反应
预期设计 预测并预填 从邮政编码自动填充城市和州

伦理边界: “智能默认值”必须服务于用户,而非业务——切勿默认勾选营销选项、付费附加组件或数据共享。

常见错误

错误 失败原因 修复方法
操作无反馈 用户无法判断点击是否被记录 为每个交互元素添加即时视觉状态变化
过度设计简单瞬间 复杂动画拖慢频繁操作 将丰富动画保留给不频繁、高影响的瞬间
忽略边缘情况 交互在零、最大或双击时崩溃 映射每个状态:空、加载、部分、完整、错误、禁用
不可见触发器 用户无法发现功能 将手势触发器与可见替代方案配对
模式错误 相同操作因隐藏状态产生不同结果 使当前模式可见;最小化模式
忽略长循环 交互在第1天和第100天感觉相同 对回访用户使用渐进式简化
反馈过载 每个操作触发提示、声音或动画 使用传达信息的最小反馈
虚假进度指示器 用户发现进度条是假的时感到被欺骗 使用诚实、确定性的进度;未知时使用不确定旋转器

快速诊断

审计任何微交互:

问题 如果否 行动
是否有清晰、可发现的触发器? 用户无法启动交互 添加可见控件或可供性
触发器是否显示其当前状态? 用户无法判断它是开、关还是加载中 为每个触发器状态添加不同的视觉状态
规则是否简单且可预测? 用户对发生的事感到困惑 简化规则;匹配平台惯例
是否有即时反馈? 用户质疑操作是否生效 在100ms内添加视觉响应
反馈是否与事件重要性匹配? 小动作感觉戏剧化,或大结果感觉微不足道 将反馈与事件重要性匹配
交互是否随时间演变? 高级用户仍看到新手提示 通过长循环添加渐进式简化
交互是否没有不必要的模式? 用户在错误模式下执行错误操作 移除模式或使当前模式高度可见
首次用户能否无需帮助就弄明白? 交互需要解释 简化或通过长循环添加一次性提示

延伸阅读

本技能基于 Dan Saffer 关于细节设计的权威指南:

关于作者

Dan Saffer 是一位设计师和设计领导者,曾在 Twitter、Jawbone 和 Smart Design 领导团队。他的著作《微交互》将全球设计团队用于审计、设计和改进使产品感觉精致和生动的小细节的框架系统化。他还撰写了《交互设计》和《手势界面设计》。