阻止错误

Prevent Errors

错误消息是用户和系统其余部分之间的最关键交互。它们往往发生在用户和系统间的通信快要断开时。

由用户输入错误而引起的错误是很容易理解的。不过人们犯错是可预测的,是有规律的。因此,就像调试系统和其他组件一样,“调试”用户与系统间的通信也是有可能的。

例如,假设你想让用户输入一个合法范围的日期。相对于让用户输入任意日期,不如提供一个仅显示合法日期的列表或日历的设备。这就消除了用户范围之外的日期的可能性。

格式化错误也是另一种常见问题。例如,用户使用“日期”文本字段输入了一个明确的日期“2012年7月29日”,结果被简单粗暴的给拒绝了,就因为它不是首选格式(如DD/MM/YYYY)。更糟糕的是还会拒绝“29 / 07 / 2012”,因为它们当中包含了空格——这种问题简直让用户怀疑人生,因为他们给的日期似乎在所需格式里呀。

发生这种错误是因为,相对于解析三四种常见日期格式,直接拒绝这些日期要更容易。这些错误会让用户觉得烦躁,继而失去专注导致更多错误。所以,尊重用户的输入习惯,而非数据本身。

另一种避免格式错误的方法是给出提示——例如,在字段标示上展示所需格式(“DD/MM/YYYY”)。另一种提示则是让字段分为2-2-4字符长度三个文本框。

提示和说明是有区别的:提示更倾向于暗示;而说明则是一种详述。提示出现在交互时;而说明出现在交互前。提示仅用于上下文,而说明则强调如何使用。

一般来说,说明是无法阻止错误的。用户会假设界面将按照他们过去的经验工作(“难道每个人都明白‘July 29,2012’是什么意思?”)。因此使用说明从来不读,而提示才可以让用户远离错误。

还有一种避免错误的方法是提供默认值。例如今天、明天、我的生日、截止日期、我上次输入表格的时间等,都是用户的典型输入。根据上下文。其中之一将会是明智的默认选项。

无论什么原因,系统都应该有容错能力。你可以通过多级别的撤销来简化这些操作——尤其是可能破坏或修改用户数据的操作。

记录并解析撤销操作也可以突出显示界面,将用户吸引到无意识的错误上。例如连续的点击“错误”按钮。这些错误通常是由于有误导性的提示或交互序列引起的,你可以重新设计以阻止它们。

不论你选择何种方案,大部分错误都是系统性的——都是用户与软件之间误解的结果。理解用户的想法,对信息的解释,做出的决定,以及输入的数据都将帮助你更好地调试软件与用户间的交互方式。

0%