关于 AI 的讨论中,我比较关注大家对于 UI 的看法。看到很多人讨论品质,但是我觉得他们并没有给出足够明确的答案,至少在 UI 这个领域不够:
收拢一下问题:
看起来我们有必要直面这些,这可能是每一个人都需要自我经历的过程,即使我们大部分人并不理解 AI。我们需要在上面的视频或文章的类似“打鸡血”之后,更安静地、深入地琢磨一下属于自己的叙事,才好不迷失于这一波波浪潮中。
在我的个人叙事中,用户界面的品质是体验、打磨,以及尽可能完整化的三者结合。
我试图用功能、呈现和体验这三方面来划分设计时:
我的工作重心是体验。以广告形态创新为例,我所认定的方向是外层交互形式(这里就不放例子了)。问题是:社交广告,又不是“交互广告”,为广告创意带入交互意味着什么?这可以映射到上面所说的,用户真的在乎吗?
当我们看“送礼广告”的时候,送礼本身是一个行动和目的,我们要回答怎样达成这个目的。当我在朋友圈看到一条广告,意图通过送礼打动某人时,首先这条广告必须先打动我。在广告能够让我和别人“社交”之前,广告本身需要足够打动我。
在视觉层面,应该有设计师专注于呈现品牌;而在交互层面,除了点赞和分享,我们还可以提供更多方式让用户主动参与。这些方式可以是出乎意料的、有趣的。理想的结果是:用户接触一个新的交互形式,应该要像学会骑自行车的那一刻一样,同时产生自由探索和掌控的感觉。它们并非对立,而是融合。在这之下,我们要首先确保它是流畅的、舒适的。
体验当然是任何高品质用户界面的核心标准之一。广告创意如果在视觉与交互上打动人,才可能去“社交”。这个问题 Chan 在 8 年前就已经回答了:交互动画,就是为了“好玩”。
我要追求的品质就是上面所说的“学会骑自行车的那一刻”。AI 可以分析这种感受,重点是这种感受往往不是依靠分析和解释得出来的。陈嘉映在 《颜色 去哪里了》 中提到:“仅从一个因果过程,是无法理解感知的。”你可能会说不懂 AI 的人只会扯“感受”这种虚的词,是我自己不懂得拆解和分析,却要佯装有“感受”是一件高贵的事。
我当然理解。就像对开头那几篇文章的态度一样,我不认为他们有足够的说服力。
只是,体验这件事的工作方式往往需要我自己拿在手上看,以及观察别人会如何使用它,观察他们的反应。AI 在目前的一个障碍也在于此 —— 我们往往无法通过感受布置任务,而是需要具体的指令,它没有“反应”的直觉能力或具身认知。因为我只需要去感受它,就像去骑自行车那样,即便这种感受我无法言说。
我不认为这是对 AI 想当然的低估,它们只来源于我对体验本身的思考。真正的挑战在于:我们需要找到每一个形式之下的体验核心。一定要发掘这唯一的核心立意以及其带给用户的感受,才不是徒有形式。这说起来理所当然,然而通常找不到或更可能找偏。因为它很难通过解释去获得。
如何衡量体验的品质呢?可以参考我在这里写的一些实际评估建议:《Web 流畅界面建议》。
举几个关于打磨的例子:
打磨这件事在 设计工程(Design Engineering) 领域非常重要。这一领域强调的不是 "Design" 或 "Develop" 的单一职能,而是 "Build" 这种综合交叉的能力。正因如此,打磨,这一不断精进的过程自然地成为了我们工作的方式。
AI 不是最会打磨了吗?通过 AI 去多轮交流的过程自然不是 AI 在打磨,而是我们自己。那么,我们还可以安排两个 AI 互相 review,或者强调它的工作模式是验证优先开发(Validation-First Development),这样 AI 不也是在打磨吗?我和它有什么不同呢?
我有一些工作和生活上的习惯,总体上来说,这些是好的习惯:
AI 总是让我觉着还缺乏一些“精神”。AI 可以遵循“生成-审查-测试-优化”的过程,但这样“确保正确”的方式并不足够,它还不擅长打磨。AI 现在有了深入思考,它在让自己说的话更有“重量” —— 是的,我认为“深入思考”就是一种“精神”。蔡康永说 AI 不会沉默,不懂得人类留白的意味,未来它可能也会有;AI 可能也会睡一觉起来审视自己的工作;AI 可能也会在零碎的时间中突然迸发对过去进行纠正的主意。
很多次我和 AI 进行多轮交流后,会得到一个“彻底崩溃”的结果。之前的每一步可能都在变好,但总是会接近一个鸡同鸭讲的临界,不得不从头再来。这是一个很实际的问题,关系到我们能否真的依靠 AI 进行编码、长期维护一个产品的可能性,也是我认为它做不出 Next.js、Vaul、Sonner 的原因。或许它需要先学会“沉默”,再“睡一觉”,以一个打磨的姿态去面对那些重要的任务。
举几个关于完整化的例子:
你可以说这种完整化的过程也是一种打磨,对我来说却有一些不同。
对于流畅界面,我实际上做的是制定了一种衡量自己过去所有工作的标尺,在可见的未来也不会超出它。因此这给我一种“做完了”的无力感。其实这正是完整化所带来的副作用。完整化只是提供了一种衡量的标尺,我们当然还可以用其他标尺去衡量、去叙事。
对于共享/跳跃,我做的是将一个常见的形式应用到一些常见的组件上。分开看,它们完全不新鲜。只有应用得够多,它们才会开始变得有意思,成为一种语言;只有当我自己足够完整陈述之后,才会对他人是有启发的。
完整化是一件很有魅力的事。Family 的动态托盘也是一种简单的过渡形式,但随着它应用的场景越来越丰富,用户才会对这款 App 形成一种独特的认知。设计本身完整了,用户对产品的感受也会完整。
“不要过度设计”常被提及。在构建设计语言时,在我看来真正的挑战还在于 “设计得太少”,因为搞特殊、做一个并不难,难的是将这种特殊贯彻。设计语言的意义可以是让用户感受不到所谓的“设计语言”,它可以藏在复杂的表单和系统交互里,成为体验本身无形的骨架。当用户察觉到了设计,就意味着过度。我们要做的是将它足够地贯彻,就像动态托盘那样成为系统本身。
有时做得足够完整,就是解决过度设计的方法。
AI 可以做到完整吗?完整并不意味着一股脑儿地添加,完整还意味着分寸。哪些地方不适合,哪些地方要应用?AI 可以提供一些理论,它是一本百科全书,却往往像一个擅长摆弄参数的书呆子。对设计系统的抉择,我认为它还不足够。我甚至觉得它做不出抉择,因为它总是能“自圆其说”。
用户界面的品质是体验、打磨,以及尽可能完整化的三者结合。这样说当然和我的职业特性有关,作为一个在设计团队的开发者,我的工作自然而然地涉及交叉融合。
为什么主题是用户界面的品质,却要试图和 AI 对比,和它扯上关系或说划清界限?因为只有这样我们才能更清楚地意识到自己在追逐什么。我们当然并非在做 AI 做不到的,而是应该用 AI 扩展自己的边界。工程师担心 AI 取代自己,设计师天天研究 AI 的生图能力。不如反过来,设计师应该更关注如何利用 AI 制作;工程师也应该关注如何利用 AI 展现创意。设计师通过 Vibe Coding 更多理解 “真实的材料”,工程师向前探索创意拓展对体验的思考。我们都应该成为 builder。
与其自诩为一个专业的人对 AI 在自己领域的“不够专业”评头论足,不如看到成为 builder 的更多可能性 —— 然后,我们再来谈如何全面地完成“品质”这件事。