好设计的本质是让人不犯错
《设计心理学》
诺曼从认知心理学的角度审视日常物品的设计,提出了可供性、映射、反馈等核心设计原则。
为什么写这篇笔记
作为一个工程师,我时常需要做界面设计方面的决策。读这本书让我意识到,好的设计不是关于美观,而是关于理解人的行为模式。
核心原则
可供性(Affordance)
物品本身暗示了它的使用方式。门上的把手暗示「拉」,平板暗示「推」。好的设计让人不需要说明书就知道怎么用。
映射(Mapping)
控制器与被控制对象之间应该有自然的对应关系。比如灶台上四个旋钮的排列方式,应该和四个灶眼的位置一一对应。
反馈(Feedback)
每一个操作都需要某种形式的反馈,哪怕是微小的确认。
按下按钮后没有任何反应,用户会困惑——到底按成功了没有?反馈让人安心。
约束(Constraint)
通过设计上的限制来防止错误。USB 接口只能以正确的方向插入(虽然初代 USB 经常让人崩溃),就是一种物理约束。
设计中的常见错误
诺曼列举了很多反人类设计:
- 推拉门:门上装了把手,你本能地去拉,结果是推。这不是你的错,是设计者的失败。
- 复杂的灶台旋钮:四个旋钮排成一排,对应的灶眼却是 2×2 排列,每次都要猜。
- 模糊的开关面板:一排一模一样的开关,你永远不知道哪个控制哪盏灯。
将设计原则应用到软件开发
| 原则 | 在 UI 中的体现 |
|---|---|
| 可供性 | 按钮看起来像按钮,可点击元素有 hover 效果 |
| 映射 | 表单字段顺序与用户心智模型一致 |
| 反馈 | Loading 状态、操作成功提示、错误信息 |
| 约束 | 禁用无效选项、输入格式校验 |
个人思考
读完这本书后,我对「用户犯的错误都是设计者的责任」这个观点深以为然。在做技术方案时,我开始会问自己:
- 这个 API 设计是否容易被误用?
- 这个配置项的默认值合理吗?
- 错误信息是否能指导用户解决问题?
技术产品的好坏,不只看功能是否强大,更要看用户使用时是否能少犯错、少困惑。