mcpField
M
microinteractions

microinteractions

github.com/wondelai设计与 UI2.5k6.8k 次安装7 周前更新
代码仓库

关于 microinteractions

microinteractions 是用于设计开关、表单和加载状态等细微产品交互的技能。它以触发、规则、反馈及长期行为为框架,并提供诊断方法来评估和改进交互。

主要功能

  1. 01四部分交互结构
  2. 02触发与规则设计指导
  3. 03视觉、声音和触觉反馈
  4. 04循环、模式与标志性时刻
  5. 05八项诊断评分

适用场景

  1. 01设计设置开关
  2. 02改进表单验证反馈
  3. 03检查加载或刷新状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wondelai/skills --skill microinteractions

安装后在 Claude Code 中输入/microinteractions确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
case-studies.md
feedback-patterns.md
loops-modes.md
rules-and-state.md
signature-moments.md
trigger-design.md

详细介绍

微交互框架

设计用户每天都会接触的细小、独立的产品体验时刻——切换开关、密码输入框、加载指示器、下拉刷新、点赞按钮。这个框架基于 Dan Saffer 的四部分结构(触发器、规则、反馈、循环与模式),将无形的细节转化为精致体验,让产品从容易被遗忘变得令人喜爱。

核心原则

让用户容忍一款产品与爱上一款产品之间的差别,几乎总在于微交互。 微交互是围绕单一用例构建的独立体验时刻——更改设置、同步数据、选择密码——它小到用户很少会有意识地去想,却能切实感受到。每个微交互都遵循相同的四部分结构:触发器启动微交互,规则决定会发生什么,反馈展示正在发生什么,循环与模式则定义其长期行为。

评分

目标:10/10。 根据微交互通过的 8 项快速诊断检查来评分——score = round(passed / 8 × 10),然后参照以下区间:

  • 9-10 = 通过全部 8 项检查:触发器经过精心设计、易于发现且状态清晰;规则简单、可预测;反馈延迟低于 100 ms,且与事件的重要程度相匹配;会随时间演进;没有模式,或模式清晰可见;无需帮助即可学会。
  • 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. 反馈

核心概念: 反馈向用户传达规则,回答“现在发生了什么?”——可以通过视觉方式(颜色、动画、移动)、听觉方式(点击声、提示音)或触觉方式(振动)。只显示重要内容:简洁、有意义且与情境相关。

有效原因: 没有反馈,用户就无法判断操作是否生效或系统是否正在运行,因此可能会再次点击、放弃操作,或不信任结果。反馈能将不可见的系统状态转化为用户感知到的响应。

关键见解:

  • 反馈必须及时——对于直接操作,响应时间应低于 100 ms
  • 使用能传达信息的最不显眼的反馈,并优先为现有元素添加动画(例如按钮本身,而不是单独弹出提示)
  • 根据事件的重要程度调整反馈:小操作配小反馈,大结果配大反馈
  • 视觉反馈为主;音频和触觉反馈为辅,绝不能作为唯一渠道
  • 即使实际等待时间不变,进度指示器也能缩短用户感知到的等待时间

产品应用:

场景应用示例
按钮按下点击时显示视觉状态变化按钮下压、颜色变化、文本变为“正在保存……”
表单验证用户输入时显示内联反馈有效的电子邮件字段旁显示绿色对勾
错误状态在错误来源附近显示与情境相关的错误信息字段边框变红,并显示“密码必须至少包含 8 个字符”

伦理边界: 反馈必须真实——不要使用虚假的进度条、操控性的倒计时或具有欺骗性的完成百分比。

参见:references/feedback-patterns.md,了解反馈渠道、时机以及如何避免信息过载。

4. 循环与模式

核心概念: 循环是关于时间的元规则——交互在第 100 次使用后会改变吗?会过期吗?会自适应吗?模式则是规则的分支,同一控件会暂时表现不同(编辑模式与查看模式)。

为什么有效: 精心设计的循环能让微交互自然演进,既减少资深用户的操作阻力,又让新用户容易发现功能。适度使用模式,可以让一个控件承担多种用途,同时避免界面杂乱。

关键见解:

  • 开放循环会持续运行,直到被明确停止(例如重复响铃的闹钟);封闭循环只运行一次后结束(例如计时器)
  • 长期循环会随着时间改变交互:首次使用时显示工具提示;第 50 次则不再显示
  • 渐进式精简:随着用户展现出熟练度,逐步移除辅助元素
  • 模式有风险——它们违背了“相同行为,相同结果”的原则;应尽量减少模式,并清晰显示当前模式(Caps Lock 指示灯、编辑横幅)

产品应用:

场景应用示例
新手引导工具提示使用 N 次后,长期循环会移除提示前 3 次会话显示“向右滑动即可归档”;之后停止显示
闹钟开放循环会重复运行,直到被禁用每个工作日早上 7 点响铃,直到被关闭
文本编辑模式:查看与编辑横幅显示“正在编辑”,并提供“完成”按钮以退出

道德边界: 循环应当让用户受益,而非让业务受益——绝不能调整循环以增加通知,或让用户越来越难选择退出。

参见: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 领导团队。他的著作 Microinteractions 将一套框架系统化,供全球各地的设计团队用来审查、设计和改进那些让产品显得精致鲜活的细节。他还著有 Designing for Interaction 和 Designing Gestural Interfaces。

评论

支持 Markdown