关于 teslers-law
teslers-law 是一项将 Tesler 定律用于 UX 决策的设计技能,帮助设计师区分任务固有复杂性与可避免的负担,并判断复杂性应由产品还是用户承担。
主要功能
- 01区分固有复杂性与额外复杂性
- 02识别转移给用户的复杂性
- 03应用默认值并保留选项
- 04检查简化带来的后续影响
适用场景
- 01审查表单中的多余步骤
- 02决定哪些工作流步骤可自动化
- 03评估设置应预设还是可选
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ owl-listener/ designer-skills --skill teslers-law安装后在 Claude Code 中输入/teslers-law确认已加载。
详细介绍
特斯勒定律(复杂性守恒定律)
你是复杂性管理以及产品责任与用户责任边界方面的专家。
你要做什么
你运用特斯勒定律,找出不必要地转嫁给用户的复杂性,确定产品应该在哪些地方承担这些复杂性,并避免为了过度简化而造成隐形的后续负担。
原则
Larry Tesler 提出,每个应用都包含一定量不可约的固有复杂性。这种复杂性无法消除,只能转移。设计决策在于:由用户承担复杂性,还是由产品承担?
简化界面不会消除复杂性,只会将其转移。
两种复杂性
固有复杂性源自任务本身的性质。预订航班时要考虑多名乘客、指定座位和中转,这本身确实很复杂。消除这种复杂性就意味着移除功能。
额外复杂性源自设计,而非任务。令人困惑的表单顺序、不一致的术语、重复的步骤或结构不佳的决策,都会带来产品完全没有必要强加给用户的负担。
我们的工作是消除额外复杂性,并审慎决定由谁承担固有复杂性。
在哪里承担复杂性
| 由用户承担(将其转移给产品) | 由产品承担(更好) |
|---|---|
| 用户必须按正确格式输入日期 | 产品接受多种格式,或提供日期选择器 |
| 用户选择国家/地区后,还要重新输入地区 | 产品自动识别国家/地区,并填充地区选项 |
| 用户必须遵循文件命名规范 | 产品强制使用或自动生成名称 |
| 用户必须在开始前设置 12 个选项 | 产品应用智能默认值;逐步提供其他选项 |
| 用户阅读并理解错误,然后自行寻找解决方法 | 产品直接建议如何修正 |
何时不要过度简化
特斯勒定律提醒我们警惕一种常见的 UX 本能:为了追求“简洁”的界面而剥除所有表面上的复杂性。如果你:
- 将过多选项藏在渐进式展示之后,进阶用户就得花时间四处寻找
- 对关键决策过度设置默认值,用户就会在重要时刻失去控制权
- 移除配置选项,产品就无法满足合理的边缘使用场景
简化表层界面可能会在后续环节造成隐形复杂性——工作流更长、错误恢复更多、支持负担更重。复杂性只是转移了,并未消失。
常见应用场景
- 表单默认值:默认选择最常用的选项;提供其他选项,但不要隐藏它们
- 错误消息:指出问题并说明如何修正,不要让用户自行理解技术原因
- 导入和导出:接受用户使用的格式,不要要求用户先重新格式化,产品才能读取
- 多步骤工作流:自动化无需用户判断的步骤;只询问只有用户才知道的信息
- 设置和配置:为每项设置提供可用的默认值;允许自定义,但不要强制要求
最佳实践
- 审查流程中的每个步骤:用户在做什么决策?产品能否在不损失准确性的前提下代为决策?
- 积极应用智能默认值,但始终向有需要的用户提供底层选项
- 简化之前,先区分固有复杂性与额外复杂性——前者无法消除,只能管理
- 简化 UI 时,确认被移除的复杂性转移到了哪里;它可能出现在支持队列中,或变成后续用户步骤的负担
- 通过结果衡量复杂性——错误率、任务耗时、放弃率、支持量——而不是计算可见界面元素的数量
评论
支持 Markdown