课件

13.4 KLM 效率模型.pdf

KLM 效率模型和 Fitts 定律是两个非常有效的量化方法,它关乎我们界面设计的交互效率,即大家使用起来的速度体验。

�KLM 效率模型

KLM 模型全称叫 Keystroke-Level Model,中文叫“击键层效率模型”,它是用来测量任务完成的时间,有具体交互任务完成的时间。界面设计本身实际上决定了这样一个时间量,下面介绍这个模型的组成和计算规则。

组成

Notations

Notations 考虑两类很简单但是非常基本的,一共四种击键动作,所以它叫 Keystroke-level。一类是关于键盘的操作,一类我们称为 GID(Graphical Input Devices 图形输入设备),如鼠标、触屏。
CleanShot 2022-05-11 at 22.30.56@2x.png
在键盘的操作上我们只考虑这个 Tap,即按下和松开这个键。而鼠标的操作就如图上所示,有单击、双击和拖拽。

键盘上按键方式的详细定义和简化表示如下图所示:
CleanShot 2022-05-11 at 22.34.32@2x.png

Interface Timings

KLM 是要以时间来进行度量的,它定义了接口操作的一些典型的时间,如下表所示,这是做了大量用户研究实验以后得到的一些典型的值,我们将会将这些值带入到模型中计算。
CleanShot 2022-05-11 at 22.43.10@2x.png

  • Key 是我们平均按一个键,即敲键盘敲一下是 0.2 秒。
  • Pointing 是鼠标移到一个点上的过程平均是 1.1 秒。
  • 如果我们有两个图形输入设备,包括键盘鼠标及其他,我们在设备之间进行切换,比如我把手从键盘移到鼠标上,叫 Homing,这个值是0.4 秒。
  • Mentally preparing 是心理准备时间,即我在界面上并不是说很机械的,而是要判断下我什么时候要进行什么操作,这个时间叫心理准备时间,典型的平均值为 1.35 秒。
  • Responding 是系统对用户交互请求的反应,如果实时的话是 0,实际反应时间要根据测试来获得,通常我们希望该值是比较小的。

Calculation Rules

规测实际上一共六条,都是关于心理准备时间 M 的。一旦我们设计出来一个用户界面以后,就有了跟某个任务对应的 KLM 序列,包括表1中的 K、P、H、R 等操作,但中间是没有 M 的。六条计算规则中,只有一条是关于加进去 M 的,另外五条都是关于减掉多余的 M 的。

加法是发生在几乎每一个敲键和指点动作,K、P 做加法就是规则 0:
CleanShot 2022-05-11 at 23.00.41@2x.png
把前面全部加上 M,但是显然有些是没必要的,所以有五条规则是如何把它减掉。

CleanShot 2022-05-11 at 23.02.51@2x.png
Rule 1 我门称为是可预知的 M,比如固定的连续操作,根据 Rule 0 会有一个 M,这时该 M 是不必要的,就简化为 P、K。

CleanShot 2022-05-11 at 23.05.25@2x.png
Rule 2 是说要删除一个认知单元内除了第一个 M 的其他的 M。比如,现在我有一个对话框,用户需要输入这样 4567.89,有七个敲键,按照规则零前面的都有 M,但是整个数值实际上在用户敲的时候他就知道是整体的数值,只不过它组成要使用这七个键,所以除了第一个,剩下的那些 M 都要把它删除掉。

CleanShot 2022-05-11 at 23.08.36@2x.png
Rule 3 是说要删掉连续终止符前的那些多余的 M,也就是说它属于一个认知单元结束时比较冗余的分隔符的 K 之间的这个 M。比如我们要敲一个命令,它的分隔符连着一个参数,这个在语法上我们认为用户应该知道它是一个整体,所以要把中间插上的多余的 M 给它删掉。

CleanShot 2022-05-11 at 23.11.22@2x.png
Rule 4 是删除命令终止符前的 M,也就是说命令终止符如果是我一个语法定义的连续操作的话,前面多余的 M 也要把它删掉。

CleanShot 2022-05-11 at 23.12.38@2x.png
Rule 5 是系统响应之前,即这个 R 之前如果有 M,不管怎么样原因加上的,要把它删掉。

我们利用这个 KLM 模型来计算完成一个任务的界面操作效率。

计算例子

假设界面设计出来了,它效率如何,我们可以用这个 KLM 模型来计算你一个任务需要用户花多长时间。当然这不是实测的,是根据前面典型值代入的。

如下图所示是一个温度转换器的例子:
CleanShot 2022-05-11 at 23.15.14@2x.png
从华氏温度转换到摄氏温度,或者反过来。界面需要表达转换温度的数值,和进行什么方向的转换。下面我们计算一下温度转换器的界面设计的效率:

  1. 首先我们默认用户的初始位置是在键盘上,这个时候我需要去选择转换的方向,选择转换的方向是 Radio button 上,所以有一个 H 和 P
  2. 然后我再指到那并 Cick,所以有个 K
  3. 这时我可以输入数值了,我要回到键盘上,所以有个 H
  4. 然后输入转换的数值,假设输入4个数值,则有 4 个 K
  5. 接着按回车,又有一个 K,由此得到 HPKHKKKKK
  6. 根据规则 0 要把所有的 M 加上,所以得到 HMPMKHMKMKMKMKMK
  7. 根据规则 1、2、4,去掉不必要的 M,即同一个认知单元内加进去的 M要去掉,如4个数值作为一个认知单元。最后得到 HMPKHMKKKKMK
  8. 代入典型值进行运算,∑=0.4+1.35+1.1+0.2+0.4+1.35+4X(0.2)+1.35+0.2=7.15
  9. 如果界面上的转换方向是我要的转换方向,则最后得到 MKKKKMK = 3.7
  10. 两者取平均,(7.15+3.7)/2=5.4秒,则该任务完成的效率为 5.4 秒

同一个任务,可能有多种界面设计,我们用 KLM 模型来计算结果肯定也是有大也有小,那么 KLM 模型计算出来的平均操作时间可以为每个设计的交互效率来排序,如果追求效率,当然是计算的值越小越好。

CleanShot 2022-05-11 at 23.57.35@2x.png
有没有所谓的最快的设计?这时回到人机交互基本的定义,是人与机之间的一个信息交换的过程,界面是我们进行信息交换的媒介,应该只携带和我任务所需的必要信息,除此之外的设计都应该是所谓冗余的。

具体到这个例子,我们必须要告诉他的、不管是我们通过键盘还是别的方式,就是转换的这个温度的数值,这里我们假定温度是一个四位表示的一个数值,这是你必须告诉用户的,如果我们设计一个界面只要求用户输入这样四个敲键来组成的数值,我们就认为这是有最高交互效率的。如果有,只需要输入四个值,使用 KLM 模型得到效率是 MKKKK=2.15s。

这样的界面有吗?有,没有方向选择的界面,比如:
CleanShot 2022-05-12 at 00.02.25@2x.png
方向的选择是靠用户的视觉来进行选择,而计算资源本身已经不是问题,我可能一个数值进去以后 F 到 C 和 C 到 F 同时计算,也就是计算机有两个输出,至于用户你要做的选择是通过视觉来对计算结果进行选择,不需要手的动作系统来进行选择了。所以从这个方面我们也看到,一旦你设计出来一个界面以后,我们还可以再分析一下界面必要的交互任务,然后可以力争使得交互效率达到所谓最优。