设计聪明的软件
利用计算机的空闲周期
在当前计算机系统中,用户需要记住的事情太多,当前多数软件也不关注情境。我们为减少计算机的反应时间投入了大量的努力,却投入了很少或者几乎没有投入精力,以使计算机在没有响应来自用户任务时做一些前瞻性的工作。
通常,多数用户在不足几秒的时间内能做的事很少,但计算机可以执行至少10亿条指令。在这些空闲周期里,计算机有足够的空间和能力假设用户下一步操作并提前准备好,并在用户做出最终选择时丢掉其他假设的结果。
我们需要以全新并更主动的方式来思考软件应该怎样帮助人们实现其目标和任务。
聪明的软件有记忆
如果人们感觉某个交互产品是体贴和聪明的,那么这个产品肯定具有关于这个人的知识并从其行为学习的能力。
你可以预测用户将要做什么,如果你的程序简单地记住了用户上次做了什么(或者是怎么做的),它可以凭此来预测用户下次的行为。
一个让使用过程充满效率的产品就像一位自觉的助手,记住了所有有帮助的信息和个人偏好,而不用去问。
聪明的产品能够预测需求
通过记忆用户上次的行为来预测用户将要做什么
通过关注用户的动作频率来推测用户习惯,提供帮助
聪明的产品能够记住细节
如果用户愿意操作,它就值得被程序记住。
让聪明的产品发挥聪明
缩小决策数量———人们倾向于将决策选择降低到最小的有限数量。程序应该记住用户的所有选择,寻找更加微妙的线索来在小的集合中确定哪一个才是正确的。
偏好阈值————人们所做的决策一般分为两大类,重要的和不重要的。软件界面可以用偏好阈值来简化用户任务。
多数情况下,多数是对的————在不确定性存在时,程序应径直做其认为最恰当的事,然后允许用户覆盖撤销,而不是让用户选择。如果撤销工具容易使用、理解,用户就不会受到无谓的干扰。