每一帧都是完美的
不久前,我在阅读关于Wayland的内容,这句引语让我印象深刻:Wayland的一个明确目标是“每一帧都是完美的”。我认为这是我们都应该追求的目标。Wayland在谈论事情的技术方面(现代GPU堆栈非常复杂,Wayland试图重新控制),但这一点也可以应用于用户界面。经验法则是:如果我在任何时候对你的应用程序截屏,它必须是合理的。为什么要关注每一帧?这建立了信任。用户看不到代码,因此用户界面是他们判断应用程序质量的唯一方式。如果用户界面看起来很好,那意味着开发者有时间去打磨它,这也意味着他们可能花了相当多的时间来完善代码。这是一个启发式的方法,但也是合理的。那么,实际上这意味着什么?我能想到一些方面:屏幕之间没有白色闪烁。没有部分加载的内容。内容加载时没有重新布局。内部保持一致。如果用户界面的一个部分显示“有1个更新可用”,另一个部分就不应该显示“正在检查更新……”精确的动画。动画往往会被遗忘。用户界面在开始和结束状态下看起来可能很好,但在中间可能很不流畅。就像这样:如果你觉得那里有奇怪的事情,那确实有!看看慢动作版本:现在让我们应用我们的规则,在动画的中间截屏。这看起来不对:这也不对:这两个帧都不是完美的。让我们看另一个例子。Safari:这里的占位符文本从中心移动,但光标从左侧位置动画:这绝对不是世界末日,但确实会让人觉得这两个组件之间不同步。下一个想法:也许它们不是一起设计的?如果是这样,那么它们可能工作不良。这就是信任丧失的方式。这种不同步可能导致很多困惑。例如,在照片应用中,当在裁剪和调整模式之间切换时,照片立即固定,但裁剪边界是动画的:这会产生一种虚假的感觉,即在模式切换时有某种微妙的变化。你知道吗?我不希望我的用户界面给我一种虚假的感觉。我希望它是一个精确的工具,而不是一个动画玩具。有时动画应该帮助你理解过渡,因此当它们使事情变得更加困难时,真的很令人失望。跟随放大镜:与Youtube也是一样。他们的任务世界上最简单的:将一个矩形从一个位置移动到另一个位置!然而,他们决定做一些非常奇怪的事情:你能解释吗?这有道理吗?这可能是他们早先决定的DOM架构的技术限制。我称这些情况为“技术超越了程序员”。但无论原因是什么,结果都是一个不完美的帧。有时动画作为事后考虑被省略。发生什么就发生什么。然后我们得到了这个:细节看起来很有趣:所以,是的。请关注不仅是开始和结束状态,还有中间的一切。每一帧都是重要的。最后给你留下这个来自预览应用程序的无缘无故的缩放动画。保重!
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡