我们特意没有添加的三个设置
每个应用积累设置的方式,就像房子里堆积杂物一样——缓慢而悄无声息,一次又一次地添加看似善意的功能。结果就是,没人会去读“设置”界面,而且这款产品对每个用户来说,其含义都略有不同。.
每个设置单独看都无害。它只是一个开关,默认处于关闭状态,没人会被迫去触碰它。但每一个开关都会使应用的行为方式增加一倍,而必须有人在每个平台、每种语言环境下测试所有这些情况。 对于一个需要在 iPhone、Android、Windows 以及浏览器端发布应用的小团队来说,这种数量级的增长,正是“审慎发布”与“寄希望于运气”之间的区别。.
有三项设置,即使被要求过,我们也始终拒绝添加:
1. 在两种入职流程之间进行选择
如果我们无法决定哪一个更好,那么这两个都不够好,无法发布。
这种请求通常来自团队内部,而非用户:两个人各执一词,希望有两个版本,而添加一个设置选项看似是一种折中方案。但事实并非如此。新用户对应用的了解还不够深入,无法选择希望以何种方式熟悉它。因此,我们会持续优化,直到其中一个流程明显更优,然后才发布该版本。.
2. 新设计的切换开关
要么新版设计有所改进,旧版就该淘汰;要么新版设计尚未准备就绪。切换开关是一种避免做出决定的方法——而且它会永久性地使我们的质量保证工作量翻倍。.
我们理解大家为何会提出这样的疑问。界面重设计会改变用户的肌肉记忆,这确实会带来颠覆性的影响。 我们的应对之策是让过渡过程更加平缓,而非提供可选方案:尽可能将功能保留在原位置,说明哪些功能发生了移动,并在做出评价前给新版本留出适应时间。如果在此之后,重新设计对大多数人来说仍然更差,那么诚实的做法是进行修复或回滚——而不是在同一个应用中同时保留两个版本。.
3. “减少动画”选项
iOS 已经有一个全系统通用的设置,我们一直遵循这一设置。在我们的设置中再添加一个,既是重复,也等于默认承认我们的默认动画很烦人。不如直接修复这些动画。
我们的其他平台也是如此。Android、Windows 和各浏览器都拥有各自的系统级“减少动态效果”设置,我们的任务是尊重这些设置,而不是另行创建一套并行的设置。 用户一旦在整台设备上调低了动态效果,就不应该在安装的每个应用中都得重复这一操作。.
我们确实添加了什么
这并不是一条反对设置的规则。当人们出于我们无法在设计中预先考虑的原因(例如计量单位、一周的第一天,或是某人正在学习的键盘布局)而真正需要不同的行为时,我们才会添加相应的设置。我们需要思考的是:某项设置究竟反映了人们之间的真实差异,还是仅仅是我们尚未做出的决定。.
我们在哪些方面做得不够好
我们并非一直都能坚守原则。我们曾发布过一些设置,它们最初只是为了快速响应某个具体请求而设计的,但后来却一直保留了下来,甚至在大家早已忘记当初添加它们的原因之后依然存在。事后清理这些设置比当初不添加它们还要困难,因为到那时,总有人已经依赖了其中的每一项。.
拒绝某些设置本身也是一种工作。只是这种工作不会出现在任何提交信息中。