现代UI团队首先设计组件;界面仅仅是组件的深思熟虑的组合。这给用户在“不愉快的道路”上留下了一个经常明显的漏洞--用户可能会有意无意地偏离你的理想化流程。当我们学习制作系统而不是页面时,我们必须投入精力来塑造这些经常遗漏的设计状态,并使用可以支持每个人的组件生命周期进行创建。在我看来,生命周期是这样的:
在组件执行任何操作之前会发生什么情况?也许这是用户第一次看到它。也许它还没有被激活。从本质上讲,该组件存在,但尚未启动。
可怕的国家。在一个完美的世界里,没有人会看到这一点;唉,我们在这里找到了自己。有很多方法可以使您的加载状态保持微妙和低调。Facebook在这方面做得相当好:
您的组件已初始化,但它是空的。没有数据。没有物品。现在可能是让用户行动起来的好时机(“做这件事!”),或者奖励他们(“干得好,一切都安排好了”)。
你有一些数据。在输入时,这可能是在第一次击键之后。在列表中,可能是当您有一项(或剩下一项)时。
这通常是你首先想到的。此组件的理想状态是什么?您的数据已加载,您有输入,并且用户熟悉它。
哇,那里!用户在某些方面做得过火了。结果太多(可能您现在给它们分页)、字符太多(可能是省略号?),等等。
应用程序已收到用户的正确输入。他们再也不用担心这件事了。