如何评估你的表单填写效率—使用KLM-GOMS去分析你的表单效率

标签: 界面设计 goms klm 分析 效率 | 发表时间:2012-02-21 08:30 | 作者:S++
出处:http://ued.ctrip.com/blog

编辑:S++小组

很多时候用户测试很难测试到表单的效率,通常的做法是,表单上线后来统计用户使用或者停留的时间来考量表单的效率,但是这种做法只能针对已经上线后的表单来考量。那么在一个表单在设计过程中,是否有什么科学的办法评估到所设计表单的效率呢?

1983年Card,Moran & Newall就在《人机交互心理学》 (The Psychology of Human Computer Interaction)首次提及了GOMS模型,在早期人机交互设计领域也曾经掀起了一阵狂风。

 

那么什么是 GOMS

所谓GOMS就是 Goals, Operators, Methods, Selection Rules,翻译成中文就是目标、操作、方法、选择规则。

Goals是指任务最终得到的结果。

Operators 是指在过程中所产生的所有的行为,包括控件使用,填写,选择,点击,悬浮等等操作。

Methods是指描述如何完成目标的过程。

Selection Rules是指判定的规则,就是在不同条件下遵循的不同规则。

 

为甚么要使用GOMS

GOMS可以客观的记录下用户在填写表单中如何操作的全过程。并且为复杂的填写表单的过程提供了科学的分析方法。

它提供一种比较有效的计算方式,在测试不同版本的过程中,能够简单通过他来比对表单设计方案的效率性。

通过GOMS,能拿到比较可信的科学数据来证明你所设计表单的方案的填写效率。

 

那GOMS 有很多分支流派?但是又有哪些是我们可以使用的呢?

CMN-GOMS,CPM-GOMS模型,KLM-GOMS,NGOMSL等等许多。

 

但是在表单填写GOMS运算中,我们需要重点了解的是击键模型。也就是简称KLM (Keystroke-level model)。KML是被简化的模型体系,他相对弱化了GOMS的概念更加强调O,也就是操作部分。1988年 Bonnie John又进一步提出了简化版的CPM-GOMS理论。

KLM模型是一个 11 步方法就可以寻找出完成使用计算机和鼠标的简单的数据输入的任务所花费的时间评估方法。

 

这个模型运用于很多人机交互的领域,他可以通过任务的步骤和操作准确地计算出总体表单填写所需要的任务时间。

Kieras (1993年 2001 年) 定义了以下操作:

K、 按下的键和释放 (键盘)(wpm=words per minute )
最佳输入(135 wpm) —0.08 秒

较好输入(90wpm)—0.12 秒

较差输入(40wpm) —0.28 秒

平均熟练输入(55 wpm) —0.20 秒

平均非秘书型输入(40wpm) —0.28 秒

字母随意输入—0.28秒

复杂代码输入—0.50秒

最差输入(不同的键盘输入方式) —1.20秒

P、将鼠标指向屏幕的对象上—1.10 秒

B、按钮按下或释放 (鼠标)—0.10 秒

BB、双击鼠标—2 sec

H、手从键盘,鼠标移开或者放上—0.40 秒

M、心理准备—1.20 秒

T(n)、字符串类型的字符输入(n * K sec.)

W(t)、等待系统用户作出响应

D(n0,l0)、用鼠标画直线通过公式计算所需时间

 

那么KLM分析包含哪11步呢?

步骤 1 — — 获得原型或任务的一步一步的操作说明。

步骤 2 — — 找到所需的最终目标或所需的工作成果。

步骤 3 — — 找到实现主要目标的任务流。

步骤 4 — — 确定的主要目标和所有次级目标中的任务流。

步骤 5 — — 转换为代码。

步骤 6 — — 使用代码描述整个任务流过程。

步骤  7 — — 先保留每一步的心理或者操作。

步骤 8 — — 为每一步分配心理或者操作,也就是适当删减部分不需要的心理时间。

步骤 9 — — 执行运算。

步骤 10 — — 根据不同年龄层次调整任务总时间

步骤 11— — 验证结果的有效性

 

但是这其中,M(心理准备)的使用是关键的所在。M(心理准备)如何的放置甚至比其他操作的精确计算更加的重要。所以请确保在比对不同设计版本时使用同样的M放置规则。

因此对于如何放置处理M(心理准备),我们有以下建议:

启动任务,用户不得不停下对这次任务要做什么,这次任务要完成什么做一个明确的了解。

做决策,如果有多种方式可以进行任务的话,那么在做这个决定之前用户(不是非常熟悉该任务的用户或者这个所做决定不是显而易见的情况下)经常会停下来思考。

需要从记忆中获取信息,比如回忆文件名,命令符,或者缩写,都需要有一定时间的思考。

在屏幕中寻找一些信息,用户必须停下来然后浏览屏幕寻找他们通过经验而无法预估到的一些信息的位置。

考虑任务参考值,用户有时候会记住,有时候会读取参数,而在这种情况下就需要考量是否需要增加M(心理准备)。

校验行为的对错,用户在提交系统响应前通常会停留并且核对他们的信息或者核对他们的入口。

 

在网页中M(心理准备)的放置会有一些通用的原则:

K(敲击键盘)、P(移动鼠标至目标)、B(点击鼠标)、M(心理准备)、W(等待系统响应)。

原则1输入内容(比如所有的K、P、B)开始的时候加入M。

比如你移动鼠标到某一目标,然后你点击这个目标(按下鼠标上的健),或者对这个目标进行调整,那么根据原则1你的时间计算是,MPMB;

 

原则2 去除可预期的M如果从M后的动作可以完全推测出M之前的动作,则除掉这个M。

比如在浏览图片的时候,点击图片就可以浏览下张图片,而作为一个长时间使用的用户已经完全知晓该操作后会产生的效果,这个时候的计算就成为,MPB;

 

原则3 去除一连串相同行为中的M,删除除了第一个M以外的所有的M。

比如输入”soso”四个字母,按照原则1,mkmkmkmk, 按照本原则MKKKK;

 

原则4 去除命令终结符之前的M。对于那些带有操作类的命令符,后面跟随一长串字符串时,并且长期习惯性使用时,就可删除M。

比如,登陆表单,并且非常熟悉的时候,在填写完成用户名,用tab切换继续输入密码时,我们可以删除M。

再比如,当输入一个命令符,并且知晓命令符后会产生效果的时候,回车执行之前的M也可以被忽略。但是有一种状况点击按钮会无法预知点击后会产生的效果,或者是点击按钮无形中会造成心理压力的行为,这个时候M还是需要被加回。

比如当购买按钮出现的时候,很多用户会产生心理上的犹豫,又比如删除按钮也是同样;

 

原则5 去除重复的M

当出现W,也就是系统响应时间时,这个时候的M需要被删除。

 

先举个例吧。

我们来比对下A和B作为表单的控件,在更改选项的时候所需花的时间吧!

首先,我们需要先分解下单步的操作。

A手放到鼠标上〉指到所需选择的radiobox〉鼠标点击该选项。

B手放到鼠标上〉指到下拉框选项〉鼠标点击该选项〉指到所需选择的下拉框内选项〉鼠标点击所需选项。

然后我们把这个转化为代码吧。

A、H P B

B、H P B P B

现在我们要增加M进去每个步骤。

A、H M P M B

B、H M P M B M P M B

根据原则2,可以删减部分M。

A、H M P B

B、H M P B M P B

最后再将时间计算一下。

A、H(0.4)+M(1.2)+P(1.10)+B(0.1)=2.8

B、H(0.4)+M(1.2)+P(1.10)+B(0.1)+M(1.2)+P(1.10)+B(0.1)=5.2

所以根据这个计算Radiobox控件某种意义上是比下拉框控件更有效率。

 

再举个例子。

 

如上图所示:是翻译器的三个不同设计,我们来对他进行一下比对。

首先,我们还是先分解下单步的操作。

A、手放到鼠标上〉指到文本框〉点击文本框〉手放置到键盘〉输入good〉再次将手放置在鼠标上〉移动鼠标指到按钮确定〉点击按钮

A1、手放到鼠标上〉指到radiobox英文〉点击radiobox英文〉指到文本框〉点击文本框〉手放置到键盘上〉输入good〉再次将手放置在鼠标上〉移动鼠标指到按钮确定〉点击按钮

B、手放到鼠标上〉指到文本框〉点击文本框〉手放置到键盘〉输入good

C、手放置到键盘〉输入good(由于光标直接在文本框中)

然后我们来转化为代码。

A、H P B H K K K K H P B

A1、H P B P B H K K K K H P B

B、H P B H K K K K

C、H K K K K

接下来我们在每个动作前增加M。

A、H M P M B M H M K M K M K M K M H M P M B

A1、H M P M B M P M B M H M K M K M K M K M H M P M B

B、H M P M B M H M K M K M K M K

C、H M K M K M K M K

删除可以省略的M。

A、H M P B H M K K K K M H M P B

A1、H M P B M P B H M K K K K M H M P B

B、H M P B H M K K K K

C、H M K K K K

最后再计算下时间。

A、H(0.4)+M(1.2)+P(1.10)+B(0.1)+H(0.4)+M(1.2)+K(0.2)*4+M(1.2)+H(0.4)+M(1.2)+P(1.10)+B(0.1)=9.2

A1、H(0.4)+M(1.2)+P(1.10)+B(0.1)+M(1.2)+P(1.10)+B(0.1)+H(0.4)+M(1.2)+K(0.2)*4+M(1.2)+H(0.4)+M(1.2)+P(1.10)+B(0.1)=11.6

B、H(0.4)+M(1.2)+P(1.10)+B(0.1)+H(0.4)+M(1.2)+K(0.2)*4=5.2

C、H(0.4)+M(1.2)+K(0.2)*4=2.4

接下来经过分析A选择英文和中文的几率算成50%,因此A最后算下来是(9.2+11.6)/2=10.4
一目了然这里最有效率的翻译器是C。

 

但是 GOMS 也不是万能的。在任务流中任务本身的合理性分析是无法用GOMS来实现的,这些本身主观性的分析,还是需要通过一系列uer研究来验证。

GOMS是难以分析用户的理解过程的,也无法分析界面的”感觉”,对于页面中文案说明包括视觉样式造成的用户感觉性认知GOMS完全无法去给到任何建议。

因此GOMS虽然有其科学依据和客观性存在的地方,却也有其无法预估的缺陷。他只能用于对于设计的任务流程时间科学运算,但是无法给到视觉和认知方面的建议。

 

因此 我们也不能一味的追求表单填写的效率,还是应该考虑一些控件的合理性或者习惯性的运用习惯,尽量减弱用户在表单填写中的疑惑、犹豫、烦躁情绪,在此基础上选择最优的最效率的表单填写方式来完善设计。

相关 [klm goms 分析] 推荐:

如何评估你的表单填写效率—使用KLM-GOMS去分析你的表单效率

- - 携程UED
很多时候用户测试很难测试到表单的效率,通常的做法是,表单上线后来统计用户使用或者停留的时间来考量表单的效率,但是这种做法只能针对已经上线后的表单来考量. 那么在一个表单在设计过程中,是否有什么科学的办法评估到所设计表单的效率呢. 1983年Card,Moran & Newall就在《人机交互心理学》 (The Psychology of Human Computer Interaction)首次提及了GOMS模型,在早期人机交互设计领域也曾经掀起了一阵狂风.

浅谈GOMS模型及应用

- - 优博客
熟悉用户行为模型的人可能都了解GOMS模型及其衍生的多种分支,笔者前段时间恰好在研究表单填写效率时用到了这一模型,下面就简单介绍下关于GOMS模型的理论与实际应用. 1983年Card ①, Moran ②&Newall ③在《人机交互心理学》中首次提出的一种用于评估人机交互界面优劣的方法:GOMS模型,是早期人机交互领域应用十分广泛的用户模型.

竞品分析

- 章明 - 互联网的那点事
关于竞品分析,之前天行(@天行Aeros)有篇文章《设计公式:简单有效的竞品分析》已经进行了介绍,本文在该文章的基础之上再进行一些分享,希望对大家有用. 竞品分析(Competitive Analysis)一词最早源于经济学领域. 市场营销和战略管理方面的竞品分析是指对现有的或潜在的竞争产品的优势和劣势进行评价.

Excel-对比图分析(差异分析)

- - CSDN博客数据库推荐文章
本文摘自作者《网站数据分析:数据驱动的网站管理、优化和运营 》: http://item.jd.com/11295690.html. 对比分析就是将两个或两个以上的数据进行比较,分析它们之间的差异,从而揭示这些数据所代表事物的发展变化情况和规律. 通过对比,可以很直观地看出事物在某方面的差距,并且可以准确、量化地表示出差距的多少.

Netty代码分析

- LightingMan - 淘宝JAVA中间件团队博客
Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序[官方定义],整体来看其包含了以下内容:1.提供了丰富的协议编解码支持,2.实现自有的buffer系统,减少复制所带来的消耗,3.整套channel的实现,4.基于事件的过程流转以及完整的网络事件响应与扩展,5.丰富的example.

分析帝转世

- JoyLee - Lzhi's Views
纪晓岚与和珅的经典对白(和绅说得是实话啊). 本文网址:http://www.lzhi.org/views/652030. 欢迎加入500人超级QQ群:108869281,交流最新好文章.

fqueue初步分析

- tangfl - 淘宝JAVA中间件团队博客
    fqueue是国产的一个类似memcacheq,kestrel这样的支持memcached协议的轻量级开源MQ. http://code.google.com/p/fqueue/downloads/list,介绍和特点都可以看主页,我就不废话了.     今天老大提到, co了源码看了下,写个初步分析报告.