为改善网站的可用性, 一般采用可用性工程方法, 其核心是以用户为中心的设计方法论(UCD)。综合介绍了目前国内外对于用户行为数据收集和分析方法所进行的研究, 各种方法的特点, 并介绍一些利用相应方法所开发出的工具实例, 使得建设的网站更加符合用户的需要, 以保障用户与网站之间沟通的顺畅。
随着In ternet 的不断发展, 各种各样的网站如雨后春笋般成倍增长, 各个商业网站之间的竞争越来越激烈, 随之而来的是, 网站的建设不可避免的出现了很多问题。从最近一次国外对15 个大型网站进行统计分析表明, 用户在寻找自己所需要的信息时, 只有42% 的概率可以找到, 而在大部分的时间里用户都无法找到自己所需要的信息, 这使得用户在浏览网站时经常遭遇挫折, 严重影响了用户对网站的兴趣和信任。正如 J acob N ielsen 所指出的“如果你想通过网站找到某些信息, 那么在一般情况下很难找到, 就算能够找到, 也要经过一番周折。从以往的经验可以得知, 除非项目管理团队在整个网站设计过程中就特别考虑网站的可用性, 否则结果往往令人失望”。针对网站的特点, 目前国内外提出了很多依靠计算机辅助来自动收集和分析用户行为数据的方法, 本文以下部分将重点介绍基于服务器日志收集和分析用户行为数据的方法和从客户端收集和分析用户行为数据的方法, 并对根据不同的方法所开发出的一些工具进行了介绍。
1 基于服务器日志收集和分析用户行为数据的方法
目前, 对于网站来说, 自动获得用户行为数据最流行的方法之一是基于服务器日志的方法(Server log) ,就是通过从w eb 服务器所产生的日志文件来获取有用的数据。服务器日志文件就是用来记录w eb 服务器的活动, 提供了详细的客户和服务器的交互活动日志, 其中包括客户的请求和服务器的响应。通过日志文件收集到的数据形式依赖于具体的w eb 服务器类型, 不同的w eb 服务器产生的信息是不一样的。
1. 1 基于服务器日志方法的优点通过日志文件可以获得很有价值的网站使用情况的数据。 ① 日志文件是由w eb 服务器自动生成, 所以花费比较小。 ② 与人为建造的可用性实验室环境相比, 通过日志文件获得的数据更能够反映真实环境下用户的真实情况。 ③ 与只对几个用户在几小时内进行的测试所获得的数据相比, 通过日志文件获得的是大量的用户在相当长一段时间内的行为数据, 这对分析用户的行为是十分有利的, 可以利用数据挖掘等技术对用户进行分析。 ④ 开发基于日志文件的数据分析工具相对比较容易, 花费也不是太大。
1. 2 基于服务器日志方法的缺点基于日志的方法对于网站的可用×××来说还存在着很多不足之处, 由于日志文件就是被设计用来产生站点级的性能统计数据, 因此不可避免的是, 日志文件所提供的数据与用来分析网站可用性所需的大量数据相比会有所不足, 对于研究潜在的可用性问题只能提供少量的数据甚至还可能提供一些误导性的数据。这是因为一旦w eb 服务器把用户请求的页面发送出去之后, 如果用户不发出请求, 则页面和用户之间发生了什么w eb 服务器并不记录。下面是一些从日志文件中获取的数据不足或有误导性数据的例子。
① 谁正在访问网站。如果想知道谁正在访问网站, 要求日志文件必须包含一个个人ID 或者登录到服务器的登录标示, 但是目前的网站一般不需要用户登录, 大多情况下由日志文件提供的客户端信息是客户的IP 地址, 而这些IP 地址很多情况下是由In ternet 提供商提供的动态IP。并且有时用通过代理服务器来访问In ternet (例如, 学校的校园网) , 这样就不能正确得知是哪个用户在访问网站。
② 用户访问网站的路径。如果日志文件能够记下用户所浏览的每个页面, 那么自然可以清楚的记录用户的访问路径, 然而, 当把用户的浏览器设置为可使用缓存(cache) 时(通常是缺省设置) , 用户所浏览的一些页面就不能被w eb 服务器所记录, 例如, 使用Back 按钮浏览的页面就不能被记录。而且, 如果同一页面中提供了多个选择可链接到同一个页面的话, 用户到底是使用哪一个链接过去, 这一信息从log 文件中也难以获得, 但是这一信息对改善网站的可用性也是很重要的。如果是通过图片链接,w eb 服务器可能会记下用户单击的坐标位置, 从而可以获得用户的确切信息, 如果没有使用这种技术的话, 就很难捕获这一信息。而且, 当用户通过键入U RL 地址, 或通过书签来访问页面时,w eb 服务器也不能记录这一信息。
③ 用户在每页的停留时间。日志文件记录的是数据开始传输的时间, 而不是传输完成的时间。而且也不清楚, 在页面下载的过程中, 用户到底在什么时间开始浏览页面。除非在页面显示的时候, 用户因有事离开了, 不然可以通过比较用户的当前请求和下一次请求之间的时间来粗略计算用户在此页面停留的大概时间 (通过后一次的请求时间减去第一次的请求时间得到, 但对于从cache 中获取的页面来说就出现很大偏差)。
④ 用户离开站点的位置。日志文件记录了在用户会话期间所发送的最后一页, 但是这可能并不是用户所看到的最后一页。其中有两个原因: 第一, 用户所看到的最后一页可能是从cache 中得到。第二, 用户可能已经有事离开了很长时间, 而这段时间已经超过了 w eb 服务器所定义的用户会话时间。
⑤ 用户是否成功完成自己想要做的事情。这是最根本的可用性问题, 只是通过单独的日志文件统计是很难回答的, 如果是“用户是否完成了交易? 用户是否成功地下载了文件?”之类的问题, 答案还是很容易推断。然而, 如果要回答“用户是否找到了所需要的信息?”类似这样的问题, 仅通过日志文件就很难回答了。
1. 3 基于服务器日志文件方法获取数据的辅助工具 Click T races A nalyzer 是分析网站用户行为的一套工具, 为进一步了解用户的浏览行为提供了强大的功能, 它把大量的复杂数据用非常简单的方法表达出来, 使可用性人员在分析用户行为时一目了然。
2 客户端收集和分析用户行为数据的方法
由于通过日志文件获得的信息会出现失真的情况, 而且有很多重要的数据只通过日志文件很难获得, 这些信息对研究网站的可用性问题却很重要, 因此为了进一步获得更多的有价值的可用性数据, 发现更多的网站可用性问题, 逐渐产生了很多技术用于从客户端(page- side) 直接获得用户与网站的交互情况。由于是直接从客户端获得数据, 所以, 能够获得大量的难以从服务器端获得的用户行为数据, 这对进一步分析用户浏览网站行为, 改善潜在的网站可用性问题提供了更大的帮助。
2. 1 客户端收集用户行为数据的优点
① 由于用户是在真实的环境下所进行的操作(如在家里或办公室) , 减少了人为地干扰因素, 因此获得的数据更加真实。
② 与基于日志文件的方法相比, 从客户端收集到的数据更加精确, 能够克服如上描述的很多问题。
●不受动态分配IP 地址或代理服务器的影响: 通过使用客户端跟踪技术(如由w eb 服务器对每个访问站点的客户机自动分配ID 并将其记录在客户端的 Cook ies 中, 每次用户浏览网站,w eb 服务器可通过访问客户端的Cook ies 就知道此客户机是否访问过本网站)。
●正确的用户浏览路径: 由于是在客户端记录用户行为, 因此客户端代码可自动跟踪用户的浏览路径, 不管是否通过本机缓存或通过代理服务器。例如, 用户的实际浏览路径是从A ` B, 点击Back 钮, ` A ` C, 但是从log 文件中得到的路径是A ` B` C。页面浏览时间: 举例如图1 (页面是由cgi 脚本产生的动态文件)。这是使用Click st ream 收集工具与基于服务器的日志文件产生的数据比较, 日志文件丢失了很多重要数据。