可供性的原理在于连接用户知道的和系统能做的

林一二2022年08月30日 10:53

例如 Command Palette 命令菜单加速工作效率的原理就是,让用户可以像用万词王一样用自然语言描述想要执行的命令(虽然目前仅是靠文本匹配而已),通过自然语言搜索让心里所想很容易对应到应用所能做的事情。

如何提高可供性

所以如果让用户知道更多信息,就能提高可供性。例如通过列表把所有可能的操作都列出来,这样用户就不需要记忆这个列表,只需要有常识就能使用它。在面对较复杂需要有一定逻辑能力才能使用的功能时,可以把教程和相关基础知识直接显示在旁边,这样在进行逻辑推理时就不需要去回忆前提,直接根据常识中的逻辑规则就能得出结论了。

视觉提示

很多人的主要感官是视觉,出现在视觉系统里的信息才有大概率进入思考。所以「在身边看到一个和手的位置差不多高的柱子」就会产生(下意识的)思考:我可以把手上的牛奶盒放上去。

可视化编程(例如积木式的 google/blockly)就是把可用的API和语法关键词都列在用户眼前,使得用户可以用「鼠标翻找+视觉查看」替代「海马体翻找+眼前浮现记忆查看」,而前者是低门槛的,后者需要一定的天赋,所以前者体现了可供性的同时,也降低了系统的使用门槛。

当然需要视觉导航意味着额外的导航成本,原理类似计算机体系结构的 locality 原则,所以向初级用户提供可供性的同时,也应该为高级用户留出无需可供性的高级界面。

Code
例如 Command Palette 命令菜单加速工作效率的原理就是,让用户可以像用[[万词王]]一样用自然语言描述想要执行的命令(虽然目前仅是靠文本匹配而已),通过自然语言搜索让心里所想很容易对应到应用所能做的事情。

!! 如何提高可供性

所以如果让用户知道更多信息,就能提高可供性。例如通过列表把所有可能的操作都列出来,这样用户就不需要记忆这个列表,只需要有常识就能使用它。在面对较复杂需要有一定逻辑能力才能使用的功能时,可以把教程和相关基础知识直接显示在旁边,这样在进行逻辑推理时就不需要去回忆前提,直接根据常识中的逻辑规则就能得出结论了。

!!! 视觉提示

很多人的主要感官是视觉,出现在视觉系统里的信息才有大概率进入思考。所以「在身边看到一个和手的位置差不多高的柱子」就会产生(下意识的)思考:我可以把手上的牛奶盒放上去。

可视化编程(例如积木式的 google/blockly)就是把可用的API和语法关键词都列在用户眼前,使得用户可以用「鼠标翻找+视觉查看」替代「海马体翻找+眼前浮现记忆查看」,而前者是低门槛的,后者需要一定的天赋,所以前者体现了可供性的同时,也降低了系统的使用门槛。

当然需要视觉导航意味着额外的导航成本,原理类似计算机体系结构的 locality 原则,所以向初级用户提供可供性的同时,也应该为高级用户留出无需可供性的高级界面。