手机应用程序的可用性研究数据的获取、过滤、分析

来源:互联网 发布:asp注册传到数据库 编辑:程序博客网 时间:2024/05/17 07:50

最近看了一篇论文《A Methodology and Framework to Simplify Usability Analysisi of MobileApplications》,主要是介绍了一种基于android平台的框架,方便手机应用开发者打log获取用于可用性研究的数据(例如用户在该应用上的行为轨迹),然后将获取的数据进行过滤,生成Graph进行分析。虽然还没有进行手机应用开发,还是留着,以后说不定能用到。本篇文章在翻译的同时对有用信息进行总结。

1.介绍

         由于手机的屏幕小,所以用传统的可以用性研究方法:用摄影机录像、眼动设备,都不显示。本篇文章介绍了对移动平台的可用性分析提供了一种方法论和框架。该篇文章主要是从开发者的角度,如何获取进行可用性分析的数据,以及如何分析这些数据,从而改善产品的可用性。

2.移动应用的可用性评估

以下为开发者执行的一组典型的任务:

(1)preparation:建立应用原型使得能够记录可用性评估需要的信息。由于移动平台的多样性,很难找到通用的一组API能够用于执行这些logging任务。

(2)collection:确保系统能够收集到需要的数据。

(3)extraction提取:提取collection阶段的logged数据,移植这些数据到其他应用做后序分析。

(4)analysis:拿到extraction阶段处理的信息分析系统的那个部分让用户在交互上有困难。

 

3.Evahealper框架:an aid to the Mobile ApplicationDeveloper

A:preparation阶段:决定Log哪些信息

以下为一些人提出一些可用性属性(易学性、有效性,可记忆性等等)以及各种方式去度量这些属性。可以发现,用的比较多的是“Time”,其他常用的右events(例如button clicks),navigation导航(经过哪些步骤达到目的地)。根据表中的信息可以找到必要的可用性度量:使用的UI组件,对应的行为或event,行为执行的时间等等。


B:Preparation和Collection阶段:使用EvaLogger简化logging

Preparation阶段的一项任务是在application中添加必要的代码使得能够logging信息。为了缓解该项任务,提供了一些API。


上面的Evalogger只支持使用Android平台的应用,但是很容易拓展区支持其他平台。以下展示如何使用这些方法:

startNewlogFile:创建一个新的log文件

log:在event listener中被调用。

logComment:用于log任何类型的unformatted消息。

Logs被存储成CSV格式(逗号分隔值文件格式,通常是纯文本文件),而不是XML,因为XML需要添加tags去储存信息,而CSV不需要,所以文件大小更小。

C:Extraction 阶段:使用EvaWriter简化log输出的处理

EvaWriter用于处理log文件为某种输出格式,例如GraphMLS,GraphMLS是基于XML文件格式,用于表示图。EvaWriter类可以简单地拓展,提供其他输出格式。EvaWriter包含方法PrintCSVDataAsGraphMLToFile,以CSV作为输入,将CSV文件转换成GraphML格式。

D:Analysis阶段,对Graphs的可用性分析

Graphs是一种数据结构,提供强大的representation帮助系统的分析和设计。使用graphs去可视化用户交互而不是UML活动图或状态图是因为graphs很简单;另一个优势是graphs有现成的算法用于分析系统(graph traversal)

移动应用的用户交互可以用嵌套的有向图表示,每一个UI组件表示成图中的节点,图的边对应用户的行为/转移,箭头表示行为的方向。度量可用性、效率和可记忆性的一种方式是通过度量用户完成任务的时间,使用有色的边或不同的边的长度可以可视化用户从一个部分到另一个部分的时间。度量错误、效率、可记忆性的一种方式是记录执行任务的步骤,使用图上的边的序列就可以达到这一目标。

Simplicity可以通过度量用户为完成某一目标所做的努力;另一个方法是学习移动应用的实际屏幕的当前设计,并且与输出图进行比较,检查是否有的UI组件并没有被用到,这些组件可以被抛弃以保持界面的简单性。


E:EvaHelper 控制中心:引导开发者进行工具集成

集成之前提到的所有工具


4.Application Possibility for Future Work

该章讨论方法论如何拓展。

A:通过自动化简化Log代码的插入

例如开发者可以直接在相关工具上选择插入什么样的log代码。

B:使用ASP(Aspect-Oriented Programming)将Logging那一块分离

5.总结

在该篇论文中,我们讨论了简化收集可用性信息的任务,我们致力于帮助开发者在可用性演化的技术层面,包括收集可用性数据的准备阶段;提取和规格化得到的数据,在该research中,我们强调了使用正确的工具,例如API和guideline去简化开发者的任务;对提取的数据进行分析;最后提出了集成各种工具的control center。

原创粉丝点击