如何评估表单填写效率:用KLM-GOMS分析


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

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

  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手放到鼠标上〉指到下拉框选项〉鼠标点击该选项〉指到所需选择的下拉框内选项〉鼠标点击所需选项。

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


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


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


  最后再将时间计算一下。

  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(由于光标直接在文本框中)

  然后我们来转化为代码。


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


  删除可以省略的M。


  最后再计算下时间。

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

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

  作者:S++

  文章来源:携程UED

时间: 2024-12-02 04:10:39

如何评估表单填写效率:用KLM-GOMS分析的相关文章

如何评估网站表单填写效率 使用KLM-GOMS分析表单效率

中介交易 SEO诊断 淘宝客 云主机 技术大厅 编辑:S++小组 很多时候用户测试很难测试到表单的效率,通常的做法是,表单上线后来统计用户使用或者停留的时间来考量表单的效率,但是这种做法只能针对已经上线后的表单来考量.那么在一个表单在设计过程中,是否有什么科学的办法评估到所设计表单的效率呢? 1983年Card,Moran & Newall就在<人机交互心理学>(The Psychology of Human Computer Interaction)首次提及了GOMS模型,在早期人机

7个方法帮你全面提升WEB表单填写体验

  如果网站是一座小院儿,注册登录页就是那扇大门,用户是走是留很大程度就取决于那道门槛的设计,今天腾讯的同学总结了7个实用的方法,能有效帮助用户提升表单填写的整体体验,宾客临门还是门可罗雀?就看这篇了. 我们几乎每天都会接触形形色色的表单,登录账号.填写信息以获取服务.发布内容等.然而填写表单的过程往往不是特别愉悦的,我们需要消耗时间输入信息,点击提交,可能还需要等待审核;尤其是碰到较为复杂.流程长的表单,如果用户体验较差,很容易让人产生挫败感,在中途选择放弃. 那么,如何提高用户填写表单的效率

让用户更高效地完成表单填写

  填写互联网表单几乎是每个用户每天的经历,如用户进行网站注册和登录.购物等,都需要填写各种表单.用户为了获得想要的东西,表单成了用户完成需求和网站系统需要数据之间的互动形式.那么表单设计的首要目标也更清晰:让用户迅速高效快捷并且轻松地完成填写. 设计目标已清晰,那么如何设计表单呢,以下从表单的内容.组织方式.流程.表单元素控件及交互等方面详细阐述. 表单的元素 研究如何提高表格可用性之前,我们先简要了解下一般表单的元素,这里我们暂且这么总结: 标签:告诉用户表单问题是什么; 输入框:供给用户填

网站设计:让用户更高效地完成表单填写

填写互联网表单几乎是每个用户每天的经历,如用户进行网站注册和登录.购物等,都需要填写各种表单.用户为了获得想要的东西,表单成了用户完成需求和网站系统需要数据之间的互动形式.那么表单设计的首要目标也更清晰:让用户迅速高效快捷并且轻松地完成填写. 设计目标已清晰,那么如何设计表单呢,以下从表单的内容.组织方式.流程.表单元素控件及交互等方面详细阐述. 表单的元素 研究如何提高表格可用性之前,我们先简要了解下一般表单的元素,这里我们暂且这么总结: 标签:告诉用户表单问题是什么? 输入框:供给用户填写答

表单填写时用回车代替TAB的实现方式

关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该表单元素之上.     首先,我们需要在表单体中设定一个onkeyup事件:    <form name="xxx" action="YYY.asp" method="post

表单填写时用回车代替TAB的实现方法_表单特效

关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该表单元素之上.  首先,我们需要在表单体中设定一个onkeyup事件:  <form name="xxx" action="YYY.asp" method="post"

ThinkPHP下表单令牌错误与解决方法分析

本文实例讲述了ThinkPHP下表单令牌错误与解决方法.分享给大家供大家参考,具体如下: 在项目的开发过程中,添加.编辑数据时偶尔会遇到系统提示的"表单令牌错误",一开始没怎么在意,直到今天下午QA把此问题提到bug系统了,正好时间也有空余,就追着TP3.13的源码看了下去,几分钟后,便知道原委了. 在项目中开启表单令牌,通常要在配置文件中做如下配置 // 是否开启令牌验证 'TOKEN_ON' => true, // 令牌验证的表单隐藏字段名称 'TOKEN_NAME' =&g

评估网页表单的效率:KLM模型和GOMS模型

文章描述:如何评估表单填写效率-使用KLM-GOMS去分析. 如何评估你的表单填写效率-使用KLM-GOMS去分析你的表单效率 很多时候用户测试很难测试到表单的效率,通常的做法是,表单上线后来统计用户使用或者停留的时间来考量表单的效率,但是这种做法只能针对已经上线后的表单来考量.那么在一个表单在设计过程中,是否有什么科学的办法评估到所设计表单的效率呢? 1983年Card,Moran & Newall就在<人机交互心理学>(The Psychology of Human Compute

表单设计:以表单布局与填写反馈为例

表单,主要是负责数据采集的功能,需要访问者自己去填写,如访问者的姓名.邮箱.性别.地址.留言建议.设置密码.管理个人账户等等.时下表单无处不在,成功的表单设计不仅能提高用户的满意度,更能收集更加精确的数据,相反失败的表单设计只会收集到错误杂乱的信息,可能会最终导致潜在用户的流失. 一.组织表单的内容,给用户一个友好的引导 首先要明确的告之用户填的是一个什么性质的表单以及填完后能做些什么?哪些问题是一定要问的?有没有别的途径可以获取用户的资料?大致表单的布局分为三种类型:纵向排列.逐步填写(多页显