新注册一个工具,进去以后什么也没有,屏幕正中写着四个字:“暂无数据。”
这句话看似没错,却留下了一串疑问:是账号还没开通?数据没加载出来?还是我应该先上传东西?对开发者而言,页面已经完成;对用户而言,工作还没有开始。
软件里有个词叫“空状态”,说的就是列表、报表、资料库里暂时没有内容的情况。它听起来像一个设计细节,其实承担着解释产品的任务。尤其是初次使用,用户还不知道正常结果应该长什么样,空白就很容易被理解成故障。
NN/g 的相关指南提到,空状态可以解释当前情况,帮助用户理解功能,并提供进入关键任务的入口。资料来源:空状态设计指南
举个虚构例子。一款给小商家安排客户回访的工具,初次打开时,如果显示“导入客户名单后,这里会生成待回访客户”,旁边放一份明确标为演示的数据,用户马上就有了参照。他知道现在为什么为空,也知道填入资料之后会发生什么。
但同一个用户第二天回来,已经有几百位客户,只是筛选了一个没有结果的地区,这时再提示“请导入客户”就不合适了。真正的问题是筛选条件,解释也应该跟着变化。
“还没开始”“正在加载”“导入失败”和“所有任务已经完成”,表面上都可能没有数据,含义却完全不同。把它们统一成一句“暂无数据”,省下的是设计者的工作,增加的是用户的猜测。
这也解释了为什么一大串新手教程未必有用。用户可能已经看完六页介绍,回到页面仍然不知道下一步在哪里。说明出现的时机,比说明的篇幅更重要。
我理解的好引导,是在人困惑的那个位置,把眼前的事情说清楚。等用户已经会用了,它就安静退下。那张原本让人怀疑账号出错的空表格,也就成了进入工作的起点。