提升用户体验的移动图书馆网站优化研究——以四川移动手机图书馆项目为例
曾满江, 李勇文, 刘娟, 胡臻
成都医学院图书馆 成都 610083

摘要

为提升移动图书馆的信息服务质量和用户体验,以四川移动手机图书馆项目为例,提出一种渐进式增强的用户体验优化方案,利用内容适配技术针对不同性能的移动终端设备实现分层次用户体验优化,制定并实施相应的优化策略,最后拓展该移动图书馆平台的功能。

关键词: 用户体验; 移动图书馆; 渐进增强; 内容适配
Optimization Research of Mobile Library Website for Enhancement of User Experience——A Case Study of Mobile Library Project in Sichuan Province
Zeng Manjiang, Li Yongwen, Liu Juan, Hu Zhen
Library of Chengdu Medical College, Chengdu 610083, China
Abstract

In order to enhance the quality of information service and the user experience, the article takes the case of mobile library project in Sichuan province, and an optimization scheme for progressively enhancing the user experience is proposed. The optimization scheme is based on content adaptation technology, which can provide different levels of user experience optimization according to different properties of the mobile device. Then a corresponding optimization strategy is developed and implemented. Finally, the function of the mobile library platform is expanded.

Keyword: User experience; Mobile library; Progressive enhancement; Content adaption
1 引 言

根据国际标准化组织(ISO)的定义,用户体验(User Experience)为用户使用或假想使用一个产品、系统或服务时的感知和反馈[ 1]。用户体验的优劣已成为衡量一个系统是否成功的重要因素,并且近年来在数字图书馆领域也受到了越来越多的关注。

为了在移动互联网领域延伸和深化图书馆服务,国内外很多图书馆先后推出了自己的移动图书馆网站。然而,著名可用性工程学家Jakob Nielsen指出,虽然目前移动网站在可用性方面得到了一定改善,但还远远低于用户对用户体验质量日益增长的期望,当前有必要对现有的移动网站进行重新设计和优化,以改善用户体验[ 2]。因此,本文以四川移动手机图书馆项目为例,提出并实施了一种基于渐进增强策略的用户体验优化方案,以期为提升移动图书馆信息服务质量和用户体验提供有益的启示和借鉴。

2 系统需求分析与优化方案
2.1 系统需求分析

目前,国内移动图书馆平台的开发模式大部分是通过与第三方的合作, 将图书馆已有的系统功能延伸到移动网络平台上[ 3]。在这种开发模式下,主要是移动运营商以及担任移动图书馆系统设计的信息技术公司在推动移动图书馆服务。例如,始于2008年7月的四川移动手机图书馆项目,它是由图书馆提供全馆的信息资料,由中国移动在图书馆内部部署移动代理服务器(Mobile Agent Server,MAS),由重庆亚德科技提供技术解决方案的三方共建移动图书馆平台[ 4]。该平台采用了基于MVC模式的J2EE体系结构,可为手机图书馆用户提供图书检索、预约、续借等WAP服务以及借书到期和预约图书到馆的短信提醒服务。目前该项目已在四川省图书馆、成都理工大学图书馆以及四川大学图书馆等40余所高校或地方图书馆进行了实施,有力地促进了我国西部地区移动图书馆的建设。

由于第三方机构的经济利益驱动,往往在系统的开发过程中注重能够给自身带来直接经济效益的模块开发(如短信服务模块等),而忽略了整个平台在用户体验方面的研究。从四川移动手机图书馆项目的运行情况来看,主要存在对移动设备兼容性差、功能单一以及缺乏后续维护等一系列问题,以至于造成移动图书馆平台利用率较低,甚至部分移动图书馆网站还出现无法访问的情况[ 3],难以实现良好的用户体验。因此,为了使用户更好地利用移动图书馆这一信息服务平台,有必要对该平台进行优化,以提升用户体验。

2.2 优化方案设计

移动环境的高度分散性(大量具有不同功能、规格的移动设备),使得难以在各种移动设备上实现相同的最佳用户体验。因此,本文采用了一种渐进增强(Progressive Enhancement)用户体验的策略[ 5],针对不同性能的移动设备分层次地实现最佳用户体验,其系统原理如图1所示:

图1 系统原理图—渐进增强用户体验

当用户通过移动终端访问移动图书馆时,内容适配服务器将自动识别移动终端的类型,并加载相应版本的移动图书馆网站:

(1)普通版移动图书馆网站主要针对非智能移动终端进行优化。由于非智能终端在性能与规格上的局限性,因此在这一层面主要考虑移动图书馆平台的兼容性与可用性,为用户提供基本公共用户体验。其优化策略为在保留原有移动图书馆平台业务逻辑功能的基础上,通过利用W3C的mobileOK Checker工具分析原有移动图书馆平台在基本用户体验方面存在的主要问题,并实施相应的优化。

(2)智能版移动图书馆网站的服务对象为智能移动终端用户。由于智能终端设备在屏幕尺寸、浏览器功能以及运算性能上的提升,因此在构建面向智能终端设备的移动图书馆应用时,应充分利用智能终端设备的性能优势来实现最佳的用户体验。其优化策略为利用移动版JavaScript框架jQuery Mobile,对普通版移动图书馆网站进行二次优化,为多种智能终端设备提供跨平台的统一用户界面(UI)系统以及丰富的交互体验。

3 平台优化的实现
3.1 内容适配

内容适配(Content Adaptation)是一种根据显示设备性能、网络能力以及用户喜好等因素,对用户请求的内容进行调整的过程,它旨在为用户提供一种优化的用户体验[ 6]。常用的内容适配技术主要有三种[ 7]:

(1)通过媒体类型(Media Type)和媒体查询 (Media Query)对不同的设备指定特定的样式表(CSS)。

Media Type与Media Query分别是CSS 2.0和CSS 3.0中的重要内容,利用它们可以很容易地为低端和高端的移动设备指定不同的样式表文件,从而实现不同的最佳用户体验。

(2)利用商业或开源工具自动根据同一页面生成各种移动设备专用的网页。

有些商业或开源工具能实现将桌面版网页快速转化为各种移动设备专用的移动版网页。例如,dotMobi公司的goMobi[ 8]以及开源工具MyMobileWeb[ 9]等。

(3)利用检测算法判断终端类型并将用户重定向到特定的网页。

这种方式通过特定的检测算法来判断移动终端的类型,并将使用不同移动终端的用户重定向到特定的网页。

第一种方式的缺点在于并不是所有的移动浏览器都支持媒体类型和媒体查询,因此在兼容性方面存在一定的问题。而第二种方式则在对移动网站实现灵活控制以及添加个性化功能等方面存在一定的局限性。因此,笔者采用了第三种方式进行内容适配,该方式的优点在于可实现对移动终端的类型快速判别,同时将使用不同移动终端的用户重定向到相对独立且不同版本的移动图书馆网站,有利于针对不同的服务对象进行更加细致灵活的优化。检测算法流程如图2所示:

图2 检测算法流程图

检测算法首先利用一种服务器端脚本语言(如PHP、ASP等)读取浏览器的UserAgent字符串,然后将UserAgent与正则表达式对象RegExp中的移动平台列表进行正则匹配。如果不能匹配,判断用户使用的是桌面平台,此时跳出检测程序,并为用户加载图书馆桌面网站;如果匹配成功,判断用户使用的是移动终端,此时还需要进行二次匹配,以确定移动终端是否属于高端移动设备。如果二次匹配成功,则将用户重定向到智能版移动图书馆网站,而匹配不成功的用户将重定向到普通版移动图书馆网站。检测算法的主要代码如下:

dim regex,agent

set regex = new regexp '建立正则表达式

regex.pattern = "ipod|iphone|android|symbian|smartphone|mobile|windows ce|opera mobi|opera mini|blackberry|palm os..." '对正则匹配模板赋值,建立移动平台列表

agent = LCase(request.ServerVariables("HTTP_USER_AGENT") & "") '读取浏览器的UserAgent字符串

if agent <> "" then

if regex.test(agent) then '一次匹配

if (Instr(agent, "iphone")>0 or Instr(agent, "ipod")>0 or Instr(agent, "android")>0 or Instr(agent, "blackberry")>0 or Instr(agent, "palm")>0) then '二次匹配

response.redirect("http://222.197.136.16/3G/") '定向到智能版移动图书馆网站

else

response.redirect("http://222.197.136.16") '定向到普通版移动图书馆网站

end if

end if

end if

检测算法中采用了detectmobilebrowsers.com上提供的移动平台列表[ 10],虽然该列表包含了大多数常用的移动平台,但是却不能保证检测算法能100%识别所有移动终端。而一旦造成用户的错误重定向,将会大大地降低用户体验度。因此在整个平台的运行过程中,需要对移动平台列表进行定期更新,不断地加入那些未能被正确识别的移动平台。

3.2 普通版移动图书馆网站的优化

普通版移动图书馆网站的服务对象为使用低端移动设备的用户,由于低端移动设备具有浏览器种类多、用户数量大以及硬件性能较低的特点,因此优化的重点为提高原有移动图书馆平台的兼容性,以最大限度地减少设备和软件对用户体验的影响。而代码验证(Validating)可以有效地提高移动网站兼容性,它能确保一个移动网站遵循公认的HTML标准,并兼容大多数的移动浏览器[ 11],因此笔者采用了W3C的mobileOK Checker工具对原有移动图书馆平台的代码进行验证。

(1)W3C mobileOK Checker的产生与基本功能

为了确保在尽可能多的移动设备上实现良好的用户体验,W3C的移动Web最佳实践工作组于2008年7月推出了一套包括60条推荐指南在内的移动Web最佳实践1.0规范(Mobile Web Best Practices 1.0)[ 12]。W3C mobileOK Checker是一个用于自动检测Web文档是否符合移动Web最佳实践1.0规范的在线工具[ 13],目前其最新版本为2010年9月推出的1.4.2版,增加了对HTML5文档的支持。mobileOK Checker提供了输入网址、上传网页文件或直接提交网页源码三种方式对用户的网页进行检测,其检测范围覆盖了能够影响网页内容移动友好性的8个领域,包括标记验证、页面结构、CSS样式表、图像的尺寸与格式、用户输入、HTTP层、字符编码与链接。

(2)代码验证

在mobileOK Checker主页中输入普通版移动图书馆网站网址(http://222.197.136.16/),mobileOK Checker将对该地址的网页进行检测并返回检测结果。检测结果将按照“错误的严重性”(Failures Per Severity)和“错误类别”(Failures Per Category)分组显示未通过代码验证的项目列表,其中“错误的严重性”分为关键、严重、中等、低等、警告以及提示6个级别,而“错误类别”则包括遵循 Web 标准、注意设备的局限性以及优化导航系统等10个类别。mobileOK Checker还会依据错误的多少和严重性对被检测网页给出一个0-100之间的评分,这种评分制度可以促使开发人员努力改进被检测网页以达到推荐指南的要求,并能优先改进那些严重影响用户体验的错误[ 7]。通过mobileOK Checker的代码验证,四川移动手机图书馆平台主页的评分仅为30分,分别存在2个关键错误、2个中等错误和1个警告,如表1所示:

表1 代码验证结果

(3)优化实施

针对代码验证中出现的错误,笔者主要从以下几个方面分别实施相应的优化:

①将标记语言从WML迁移到XHTML MP

通过对代码验证结果进行分析,笔者发现代码验证结果中的2个关键错误和1个中等错误都是由于四川移动手机图书馆采用了WML标记语言造成的,W3C也明确提出不建议采用WML标记语言来构建移动网站[ 14]。与WML语言相比,XHTML MP语言是开放移动联盟(OMA)和W3C正式支持的标准,它将无线和有线互联网结合在一起,另外XHTML MP语言支持移动版本的样式表,能方便地将页面内容和显示分离。因此,将标记语言从WML迁移到XHTML MP对于提升移动图书馆网站的兼容性和用户体验有重要的作用。关于具体的迁移方法,可以参考文献[ 15]。

②善于利用缓存

无线移动网络的低带宽和高延迟极大地影响了移动网站的可用性,而采用缓存机制可以帮助移动浏览器有效减少HTTP请求次数和响应数据量,以达到更快的网页载入速度。而四川移动手机图书馆网站禁用了缓存机制,这是造成代码验证结果中出现另一个中等错误的主要原因,需要进一步优化改进。对于Web缓存的控制,主要通过设置HTTP头信息(HTTP Headers)中的Expires、Cache-Control和Last-Modified等属性来实现,具体实现方法可以参考文献[ 16]。

③精简代码

由于移动网络的局限性,网页中多余的空格和注释将会使加载速度变慢以及增加不必要的使用开销。而通过mobileOK Checker检测发现,四川移动手机图书馆网站上超过10%的页面字符是多余的(空格或注释),因此需要对页面代码进行精简,去除多余的和不必要的字符(注释、空格、换行、Tab缩进等),以减小文件的大小。笔者采用了目前使用较为广泛的HTML Tidy工具[ 17]对网页代码进行批量精简和验证。

通过上述优化策略的实施,四川移动手机图书馆主页已经通过了mobileOK Checker的所有测试,如图3所示:

图3 优化后主页的代码验证结果

这表明该主页能兼容大多数的移动设备,并能为用户提供一种统一的基本用户体验。然而,正如W3C所指出的一样,随着移动终端设备在性能上的提升,通过mobileOK Checker测试的网站并不能保证在高端移动设备上能实现最佳用户体验[ 18]。因此,为了充分利用高端移动设备的性能优势,有必要针对高端移动设备对移动图书馆网站进行二次优化。

3.3 智能版移动图书馆网站的优化

智能版移动图书馆网站的服务对象为使用高端移动设备的用户。然而,面对众多具有不同硬件规格和操作系统的高端移动设备,智能版移动图书馆网站应当具备既能兼容所有主流的高端移动设备平台,又能在不同高端移动设备平台上分别实现最佳用户体验的能力。因此,笔者采用了支持渐进增强特性的jQuery Mobile框架来实现智能版移动图书馆网站的优化。

(1)jQuery Mobile框架介绍

jQuery Mobile旨在为用户提供一个触摸优化、统一用户界面并能无缝跨所有主流的移动平台运行的移动Web开发框架[ 19]。jQuery Mobile框架最主要的特性为采用了渐进增强的策略,使网页的基本内容能够在所有的移动设备、平板电脑和桌面平台上正常显示,同时该框架还能在主流高端移动平台(如iOS, Android及Windows Phone 7等)上实现丰富的、类似于应用程序的用户体验。

(2)优化实施

智能版移动图书馆网站优化主要包括网站前端的优化和网站功能的拓展两方面:

①网站前端的优化

作为一种移动JavaScript框架,jQuery Mobile主要通过对前端性能的优化来提升移动网站的可用性[ 20]。因此,在实施优化时只需对普通版移动图书馆网站的前端代码(表示层)进行修改,而保留其逻辑控制层和模型层。通过在每个页面的头部分别引用jQuery核心库文件jquery.js、jQuery Mobile库文件jquery.mobile.js以及样式表文件jquery.mobile.css即可将jQuery Mobile框架添加到移动网站中。jQuery Mobile框架大量地使用HTML 5规范中的自定义数据属性data-*[ 21]来实现对网页元素的选取和控制。例如,jQuery Mobile要求每个网页的结构必须采用一种分层Div结构,每个页面都由一个data-role属性值为“page”的Div容器以及三个data-role属性值分别为“header”、“content”和“footer”的Div子容器构成。在实施优化时,普通版移动图书馆网站上每个页面的代码必须按照上述结构进行改写,并添加相应的内容到各个Div容器中。另外,jQuery Mobile还提供了一个包含5种预设色板(Swatches)的主题框架,每一种色板都包含了一套风格统一的色彩样式,通过设置data-theme属性可以灵活地为网页元素制定显示样式,这是确保移动网站能实现良好可用性的基础。

②网站功能的拓展

对智能版移动图书馆网站实施功能拓展的目的是充分利用高端移动设备的性能优势和新技术来更好地满足用户需求。由于采用jQuery Mobile框架,利用众多的jQuery插件可以方便地对移动网站的功能进行拓展。例如,笔者采用了Google Code上的jquery-ui-map插件[ 22]来实现地图导航功能,可以为读者提供实时定位以及显示到馆的最近路线服务。

jquery-ui-map插件对Google Maps JavaScript API V3进行了封装,并提供了一系列简化的API来实现对Google Map API的控制。该插件创建地图应用的基本格式为('#map_square').gmap(),其中map_square是用于显示地图的DOM元素(一般为Div)的ID值,而封装函数.gmap()则包含了所有对API的引用。实现地图导航功能的基本思路为首先利用jquery-ui-map插件API中的getCurrentPosition方法获取读者的当前地理位置,再分别将当前地理位置和预设的图书馆地理位置传入displayDirections方法以计算两地之间路线,其关键实现代码如下:

﹩('#map_canvas_1').gmap('getCurrentPosition', function(position, status){

//调用getCurrentPosition API

if (status === 'OK') {

var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude)

//获取用户当前地理位置

﹩('#map_canvas_1').gmap('get', 'map').panTo(latlng);

﹩('#map_canvas_1').gmap('search', { 'location': latlng }, function(results, status) {

//在地图上搜索用户位置

if (status === 'OK') {

﹩('#from').val(results[0].formatted_address);//返回用户当前地址

}});...

﹩('#map_canvas_1').gmap('displayDirections', { 'origin':﹩ ('#from').val(), 'destination': ﹩('#to').val(), 'travelMode': google.maps.DirectionsTravelMode.DRIVING }, { 'panel': document.getElementById('directions')}, function(success, response) {…};

//调用displayDirections API,计算两地之间路线

地图导航实现界面如图4所示:

图4 地图导航实现界面

4 平台优化效果测试

在对移动手机图书馆实施优化后,开展对优化效果的测试,以便及时发现平台优化后存在的缺陷, 从而为平台的不断完善提供更有针对性的参考对策。测试的范围包括两方面:

(1)平台兼容性测试

由于普通版移动图书馆网站通过了mobileOK Checker的所有测试,而智能版移动图书馆网站是基于jQuery Mobile框架构建,这在很大程度上保证了这两个网站对于不同移动平台的兼容性,因此将平台兼容性测试的重点放在对内容适配模块兼容性的测试,主要考察检测算法是否能对不同移动浏览器进行正确识别和重定向。在测试中分别选择了具有代表性低端移动设备(Sony Ericsson T715)、高端移动设备(Motorola Me525)以及桌面PC统一访问图书馆网站(http://lib.cmc.edu.cn),测试结果表明内容适配模块能够正确识别上述设备并重定向到相应版本的网站,测试结果如图5所示:

图5 平台兼容性测试结果

(2)平台可用性测试

有研究表明, 邀请3位人员参加测试就能确认系统在可用性方面的主要问题, 而一个典型的可用性测试需要6-12 位参与者[ 23]。因此,笔者在校园内随机选取了10位读者现场测试平台的可用性。测试的内容为要求被测者现场通过手机访问图书馆网站,并完成包括查找图书、查看图书馆的开馆时间、联系方式以及公告在内的各种不同的任务。从测试后读者的反馈意见来看,有70%的被测者对优化后的移动图书馆网站表示基本满意,尤其是使用高端移动设备的4名被测者中有3名被测者表示对智能版的移动图书馆网站非常满意,有力地说明优化后的移动图书馆网站用户体验良好,其信息资源的可获得性和平台的易用性值得肯定。

5 结 语

本研究虽然只是着眼于提升四川移动手机图书馆项目的用户体验进行研究,但是笔者提出的优化思路、改进建议和优化策略具有一定的普遍适用性,可以应用于不同类型的移动图书馆网站。

从目前移动图书馆网站优化后的运行情况来看,仍然存在少量早期的低端移动设备不能被正确识别的问题。为此,可考虑两点改进措施:

(1)通过在网站上为用户提供反馈功能,及时发现未能被正确识别的移动平台并将其添加到移动平台列表中;

(2)可采用数据更为全面的WURFL移动设备数据库[ 24]替代现有的移动平台列表。

另外,智能版移动图书馆网站中采用的jQuery Mobile框架及其相关插件共有近200KB的大小,有必要对其进行精简,以提高网站的加载速度。例如, jQuery Mobile框架的样式表文件中预设了5种主题模板,但在实际项目中只用到了其中的2种,可考虑删除多余的主题模板。

参考文献
[1] I SO9241-2102010 Ergonomics of Human-system Interaction[S]. International Stand ards Organization——Part 210Human-centred Design for Interactive Systems, 2008. [本文引用:1]
[2] Mobile Usability Update[EB/OL]. [ 2011-09-20]. Mobile Usability Update[EB/OL]. [2011-09-20]. http://www.useit.com/alertbox/mobile-usability.html. [本文引用:1]
[3] 宋恩梅, 袁琳. 移动的书海: 国内移动图书馆现状及发展趋势[J]. 中国图书馆学报, 2010, 36(5): 34-38. [本文引用:2]
[4] 程孝良, 李勇, 钟刚毅, . 手机图书馆: 理念、模式与策略[J]. 情报杂志, 2009, 28(Z1): 175-177, 161. [本文引用:1]
[5] Fling B. 移动应用的设计与开发[M]. 马晶慧译. 北京: 电子工业出版社, 2010: 165-166. [本文引用:1]
[6] Device Independence and Content Adaptation[EB/OL]. [2011-09-28]. http://www.w3.org/standards/webofdevices/independence. [本文引用:1]
[7] Griggs K, Bridges L M, Rempel H G. Library/Mobile: Tips on Designing and Developing Mobile Web Sites[J]. Code4lib, 2009(8): 11-23. [本文引用:2]
[8] goMobi[EB/OL]. [2011-10-28]. http://gomobi.info/home.html. [本文引用:1]
[9] Morfeo MyMobileWeb[EB/OL]. [ 2011-09-28]. Morfeo MyMobileWeb[EB/OL]. [2011-09-28]. http://mymobileweb.morfeo-project.org/mymobileweb. [本文引用:1]
[10] Detect Mobile Browsers[EB/OL]. [2011-10-03]. http://detectmobilebrowsers.com/. [本文引用:1]
[11] Ryan B. Developing Library Websites Optimized for Mobile Devices[J]. The Reference Librarian, 2010, 52(1-2): 128-135. [本文引用:1]
[12] . Practices 1. 0[EB/OL]. [2011-10-03]. http://www.w3.org/TR/mobile-bp/. [本文引用:1]
[13] W3C mobileOK Checker[EB/OL]. [2011-10-03]. http://validator.w3.org/mobile/. [本文引用:1]
[14] Introduction to Mobile Web[EB/OL]. [2011-10-09]. http://www.w3.org/wiki/Introduction_to_mobile_web. [本文引用:1]
[15] WML to XHTML Migration[EB/OL]. [2011-10-09]. http://debian.fmi.uni-sofia.bg/~jecho/WAP/Documentation/WML_to_XHTML_Migration_v2_1_en.pdf. [本文引用:1]
[16] Caching Tutorial[EB/OL]. [2011-10-10]. http://www.mnot.net/cache_docs/. [本文引用:1]
[17] HTML Tidy Library Project[EB/OL]. [2011-10-13]. http://tidy.sourceforge.net. [本文引用:1]
[18] W3C mobileOK Basic Tests 1. 0[EB/OL]. . [2011-10-13]. http://www.w3.org/TR/mobileOK-basic10-tests/. [本文引用:1]
[19] jQuery Mobile[EB/OL]. [2011-10-17]. http://jquerymobile.com/. [本文引用:1]
[20] Gebistorf B. Enhancement of Website Usability for Mobile Phones[D]. Zurich: Swiss Federal Institute of Technology, 2011. [本文引用:1]
[21] Embedding Custom Non-visible Data with the Data-* Attributes[EB/OL]. [2011-10-25]. http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visible-data-with-the-data-attributes. [本文引用:1]
[22] jquery-ui-map[EB/OL]. [2011-11-03]. http://code.google.com/p/jquery-ui-map/. [本文引用:1]
[23] Lagier J. Measuring Usage and Usability of Online Databases at Hartnell College: An Evaluation of Selected Electronic Resources[D]. Florida: Nova Southeastern University, 2002. [本文引用:1]
[24] WURFL-Mobile Device Detection by ScientiaMobile[EB/OL]. [2011-11-15]. http://wurfl.sourceforge.net/. [本文引用:1]