你不会注意到的 UI

砍掉大部分 UI 之后,我才承认一件事:我爱做的控制面板,往往不是我爱用的体验。

Design

说实话,我早期的 beta 看起来像 DJ 控台。到处都是旋钮。每条 route、每种模型变体、每个 debug 参数都有开关。那时候这很合理,因为我需要测试几百种组合才能找到可行方案。

但当我开始每天自己用它时,连我都会被这些开关打断。

真正的目标

我做的所有事——model route、延迟设置、打磨选项——只有一个目的:给使用者 最顺手的那个版本。不该让人手动调参,甚至不需要让人知道这些排列组合存在。

当你看到输出时心里想“对,就是我要的那个意思”,这才是目标,也是唯一目标。

意识到这点后,我的设计原则变得很简单:能藏就藏,能封装就别打扰使用者。

构造者和使用者的认知落差

我不断撞上的,是“构造者模式”和“使用者模式”之间的认知差。

构造者本能:给出完整遥控器。所有选项、所有设置,灵活性拉满。

使用者现实:更顺的体验是内容直接出现在 feed 里,不需要先换频道再搜索。

这让我重想了很多东西。你现在看到的版本?我删了非常多。很多我曾经很骄傲的功能,后来都砍掉了。

真正有效的测试

我开始问自己两个问题,但不会立刻问。我会先等几天,让兴奋感过去,然后再看:

  1. 它讲得通吗?
  2. 我自己真的会长期用吗?

当答案变化时——而且经常变化——我会毫不犹豫地删除。

关键在于:你沉浸在构建状态时,几乎一切都看起来合理。但“做一个东西”和“用一个东西”是完全不同的视角,很难同时扮演两种人。你不可能上一秒还在 debug,下一秒就真诚地当一个不关心实现细节的使用者。

所以我给自己留了缓冲时间。这也是为什么我们的开发周期比预期长。原型很早就有了,朋友也在测试,但我们一直在打磨、一直在问:它真的有用吗?我自己会长期用吗?

吃自己做的菜

开发期间,我把 Reso 当作自己工作的脚手架来用。只要连我这个作者都觉得哪里别扭,那就是红旗。

我为什么要把我自己都不想用的东西给别人?这就像给出你自己都不相信的建议。别人问你“你真的信这个吗?”,你说不信,那后面说再多都只是噪音。

你做完一个产品后,必须问一句:我真的相信它吗?

如果你相信,你会带着笃定去表达它;如果心里其实别扭,你自己知道。

UI 也是表达

这种在“技术上可行”和“人性上自然”之间的拉扯,在我们做 Skills、Tones 这类功能时反复出现。我们一直在问:我们是在取悦自己,还是使用者真的需要它?

但好的一面是,UI 本身就是一种表达。我非常感激这个世界上的好作品,我也觉得 UI 是开发者表达“自己认为什么是美”的窗口。

UI 没有唯一“正确答案”。只有适不适合、顺不顺手、能不能给使用者安全感。

而这个标准会持续变化。我期待更多灵感、反馈和迭代。因为那个你几乎注意不到的 UI,往往才是被反复思考最多的 UI。

这不是营销,是我们自己踩过的坑。

下载 macOS 版 Reso

阅读更多 Reso 构建日志