图书馆手机客户端的探索实践
朱雯晶, 张磊, 王晔斌, 赵亮
上海图书馆上海科学技术情报研究所 上海 200031
摘要

介绍目前国内外图书馆智能手机客户端的调研以及智能手机客户端的现状,并列举手机客户端与手机网站的异同,说明手机客户端优势所在;同时以上海图书馆新近推出的智能手机客户端程序为范例,总结在手机客户端研发中,前台界面设计、架构和业务逻辑设计以及后台服务平台设计和探索的实践和经验,并探讨智能手机如何利用其优势整合图书馆业务,在未来与移动计算实现更好的结合和发展。

关键词: 移动设备客户端; 图书馆手机应用程序; 智能手机软件; 移动服务
中图分类号:TN929.53
Exploration on Library Smartphone Application
Zhu Wenjing, Zhang Lei, Wang Yebin, Zhao Liang
Institute of Scientific and Technical Information of Shanghai, Shanghai Library, Shanghai 200031, China
Abstract

This paper introduces global library’s mobile application and its development, listing the differences between mobile application and mobile website, and concludes the advantages of mobile application. Using Shanghai Library’s new mobile device application as an example, it explains the exploration and experience during the UI design, logic design and Web service design. In the end, the further usage and development by combining library services and mobile computing are discussed.

Keyword: Mobile device client; Library mobile application; Smartphone application; Mobile service
1 引 言

近年来,随着谷歌 Android 手机和苹果 iPhone 手机热销,智能手机和移动设备普及程度显著提升。国际数据公司(IDC) 2010年第4季度智能手机报告显示,全球智能手机出货量达1.009亿台[ 1],单季度出货量首次上亿,并且全球智能手机出货量首次超过个人电脑。2011年1月,中国互联网信息中心(CNNIC)发布第27次《中国互联网络发展报告》指出:“我国手机网民规模达3.03亿,较2009年底增加6 930万人。手机网民在总体网民中比例进一步提高,从2009年末的60.8%提升至66.2% ”[ 2]。正是智能手机和移动设备的普及和发展,为它们在更多领域的广泛应用奠定了更加坚实的基础。

上海图书馆上海科学技术情报研究所紧跟智能手机发展趋势,率先在2010年下半年先后推出国内首款基于Google Android和Apple iOS平台图书馆手机客户端。这些手机客户端软件的开发,发挥了移动设备即时移动等先进特性,为广大读者提供更多元、便捷、实用的服务。

2 全球图书馆移动客户端现状概述
2.1 苹果App Store与谷歌Android Market中各图书馆手机客户端调查

截至2011年3月31日,笔者调研苹果App Store与谷歌Android Market中公开发布的一系列图书馆相关应用程序,并对它们进行使用,将其功能归纳和整理,如表1表4所示。

表1 苹果App Store 亚太地区图书馆相关应用表
表2 苹果App Store 欧美地区图书馆相关应用表
表3 谷歌Android Market亚太地区图书馆相关应用表
表4 谷歌Android Market欧美地区图书馆相关应用表

由上述列表看出,目前全球范围内图书馆客户端应用很少,大多集中在欧美发达国家,其中很大部分是各大学图书馆应用程序,公共图书馆所占比例更小。下载使用各图书馆手机客户端后,笔者发现目前它们最主要的功能是“书目查询”,可使读者随时随地查询馆藏书目详细信息。在大部分客户端应用中,还有新闻公告、开馆时间和地图等多项服务内容。

2.2 国内外手机图书馆建设现状

美国手机图书馆发展已具一定规模,主要是手机图书馆网站、手机版书目检索系统、移动馆藏、手机图书馆参考咨询服务和手机图书馆参观指引服务等,主要以手机网站、手机短信等方式为读者服务[ 3]。电子书阅读、手机支付、手机教学功能等也是美国高校图书馆未来的发展方向[ 4]

国外有许多成功的手机应用程序开发案例和经验,如Takeuchi等[ 5]的iPhone手机地图类应用程序开发,从注册开发者账号开始,介绍开发手机应用所需条件、步骤和最后发布全过程。文献[5]指出,iPhone手机应用将会持续较高增长,在开发应用程序时,要同时考虑两个问题:“最好地利用新技术”以及“地图类应用程序应最好地满足用户需要”。

Serhani等也对开发手机应用程序及其后台服务和架构进行研究和探索,提出建立有效安全手机应用程序框架及其具体实施步骤和实例。他们将手机应用后台服务器概括为8个模块,同时将手机客户端环境概括为6个模块,并以手机电影系统为例,阐述其主要开发思想和架构[ 6]

近年来,国内图书馆也在手机图书馆研究和建设领域取得很大进展。除WAP网站、短信服务外,还借助3G网络与智能手机拓展图书馆服务,其内容包括图书预约续借、参考咨询、个性化定制服务、手机阅读、手机定位、多媒体服务、手机支付、手机图书采购、远程维护、学科服务等多种适于读者和图书馆员的服务[ 7, 8, 9]。国内也有不少手机应用开发案例,如张仕成在Android平台上利用地理定位服务获取当前设备地理位置的应用,具体介绍了Android平台中Google Map API功能和Android应用程序基本开发流程[ 10]。上海图书馆上海科学技术情报研究所也在推出手机网站基础上,吸取国内外成功经验,积极研发手机客户端软件,其应用数量初具规模。

2.3 智能手机客户端与手机网站对比分析

(1)智能手机客户端与手机网站的异同

①开发语言:智能手机客户端由各系统平台决定,如iOS平台Objective-C语言,Android平台Java语言等;手机网站则采用HTML,JavaScript,CSS等语言。

②架构:智能手机客户端有自身的系统架构,如 iOS 系统架构等;手机网站架构则主要是MVC方式。

③使用方式:智能手机客户端使用更灵活,可利用手机各功能特性;手机网站则必须由浏览器展现和执行,支持功能较少,交互方式较单一。

④运行方式:智能手机客户端可在支持系统平台上运行,无论是否具有网络连接都可执行全部或者部分操作功能;手机网站则必须联网操作,无法脱机使用。

⑤发布位置:智能手机客户端可作为应用程序,在各网络位置供使用者下载,并安装到手机中,其运行可部分依赖或完全不依赖后台服务器支持;手机网站则必须发布在固定域名Web服务器上,只有访问相应的Web服务器才能使用其服务。

国外研究者也深入分析了这些问题,如Rodrigues等就传统网页应用与新智能手机应用进行比较,包括界面布局、层次架构、数据请求,并针对两者异同提出改进建议和方法[ 11]

(2)智能手机客户端的优势分析

①即时移动性能:手机客户端软件可安装在读者智能手机中,作为独立应用程序使用。在需要相关服务时,读者可打开手机客户端直接操作,如查询书目、续借图书等。这样,原本只能通过计算机上网使用的服务通过手机即可完成,不但省时省力,还可为读者提供更快捷和方便的新体验。

②强大移动计算能力:随着智能手机的普及,其性能越来越高,强大的硬件配置和操作系统功能均使移动计算成为可能。读者运行图书馆移动客户端时,可利用手机自身计算和处理能力支持图书馆各种服务,以改善使用手机访问手机图书馆等网页时,因等待服务器计算返回结果与网络带宽限制而导致的响应速度慢和稳定性差等问题,这对提高响应时间和业务处理连续性、稳定性都有非常重要的作用。

③较低网络通信成本:手机客户端可在手机内存中保留相应数据,并加工和处理所接收数据,因此可将需要反复在浏览器中加载的操作简化为网络数据连接和传送,从而明显降低上网数据流量,提高操作成功率。通过缓存方式还可把用户浏览和使用的通信成本有效控制在较低水平,而且用户在无网络连接时也可使用部分服务和功能。

3 上海图书馆手机客户端开发

上海图书馆上海科学技术情报研究所在2010年初开始探索研究智能手机客户端程序,并在2010年下半年,先后推出基于谷歌 Android平台和苹果iOS平台的两款手机客户端软件。研发团队在设计和开发中先后克服的困难和障碍主要涉及以下三大部分:

3.1 客户端界面设计

界面设计直接关系用户体验,移动设备因受屏幕尺寸制约,不能像电脑屏幕那样展示很多内容,这就需要投入相对较多的时间和精力,分析在与用户交互中出现的各种因素,并不断进行修改和纠正,以期最终完成合理美观的界面设计[ 12]

根据界面功能和内容,应当选择恰当的布局方式。在每个界面上均应包括明显交互控件,如按钮、菜单和文本框等。类型展示界面也应设计导航与返回等基本功能,避免进入界面后无法返回和退出。

在布局设计上,手机客户端程序不同于电脑应用程序,主要区别在于手机显示区域较小,不能将所有功能都放在同一界面上。主界面设计应当以简洁为主,屏幕上方可作为标题和导航区域,中间大块区域是最主要功能交互操作,以显示最主要功能,并按照图标与菜单方式排列,方便使用者选取。在各分层功能界面中,如果某一界面操作比较多,无法直接在界面交互区域中完成,即可考虑在界面底部增加工具栏,并在工具栏上提供不同操作按钮,便于使用,如图1所示:

图1 手机客户端主界面与分层界面布局方式与实际效果

3.2 程序架构和逻辑设计

移动应用开发领域有许多框架和方法。Kim 分析和研究了移动开发过程以及架构设计模型和方法,提出以用户需求模型驱动的开发方式和系统模块重用的开发方式等[ 13]。Unhelkar等也提出一种移动应用开发框架(MADF),他们按照复杂程度将移动应用种类分成5层金字塔结构和6层MADF框架[ 14]。这样的MADF框架可让开发应用目的变得更明确、更有效率。

客户端程序架构设计十分重要。良好的架构能够降低程序运行因各种原因而导致的问题,业务逻辑设计清晰与否也会影响程序的响应速度和效率,并在发生异常时有助于快速定位和判断原因。因此,需要充分考虑移动设备的特点。

在通信层,要对数据结构和更新机制进行详细设计。数据结构和更新机制的确定应遵循尽可能减少网络连接次数和流量原则,避免数据通信因受网络限制而降低其可用性。在业务逻辑设计中,还应尽量选择异步方式,避免因后台执行运算或处于联网中而导致前台假死和无限制等待,防止程序最终停止响应。

图2 Android系统平台架构图[ 15]

图2是Android系统平台架构图[ 15],其应用程序运行在独立虚拟机上,通过调用核心库即可完成大部分功能。主要设计工作分为前台交互、后台处理和网络通信三个层面。前台交互主要是在设计好完整界面基础上,为控件设置合理、完备响应功能代码,如短按、长按、滑动等;后台处理则是业务逻辑主要部分,需要完成数据处理和前台响应展示。网络连接则需要确定采用何种方式连接、请求和发送数据的时机和内容等。

设计中还应重新规划和定义前、后台业务逻辑,平衡前台客户端与后台Web服务端负载和处理能力,并利用客户端自身移动计算和处理能力来处理相关内容。如在地图导航时搜寻周边一定范围内的图书馆,需要获取用户当前位置信息,发送给服务端,由服务端实时计算得出其与所有图书馆距离后,再返回要求距离内图书馆。这样,计算压力集中在服务器端,且由于需要网络连接,将会影响到响应时间。如果将计算与各分馆距离的逻辑放置到客户端中由手机自行计算,将会获得更好的效果。除可避免频繁的数据交互外,还可随着用户移动,获取其当前实时位置,进行动态计算,使地图导航的实用功能更臻完善。

3.3 客户端后台支撑环境设计与构建

在MADF框架中,后台支撑环境设计是指中间件层的设计和开发。手机客户端作为在移动设备上运行的前台程序,需要有相应后台服务进行支持。在后台开发中,需要整合图书馆现有应用服务,并对部分应用系统升级改造,设计和开发相应WebServices,以供不同移动客户端调用。

在移动客户端与后台交互时,后台服务器端可采用诸如SSH架构等方式开发,将Spring管理的事物业务通过Servlet和前台客户端进行交互[ 16]。但在实际实施时,这种方式可能面临许多问题。如果将传统前台与后台对应关系改变为新的SOA体系架构,使后台服务独立于具体设备平台,则可降低研究开发和运行维护的成本与难度。

图3 上海图书馆后台WebServices架构示意图

上海图书馆上海科学技术情报研究所在开发手机客户端时,按照SOA架构设计移动手机客户端后台WebServices接口。如图3所示,各平台手机客户端均可通过互联网访问WebServices接口,并通过调用不同接口,达到访问不同功能和应用系统的目的。这些Web服务设计形成相互独立的功能,互不影响。由于WebServices的独立性,有新的应用服务和功能需要加入手机客户端时,可通过开发相应Web服务接口来实现,而对其他Web服务接口没有影响。用户只要进行简单升级即可使用最新功能。

4 图书馆移动客户端功能探索
4.1 需要考虑因素

(1)屏幕尺寸:按照屏幕尺寸,目前可将移动设备划分为以手机为主和以平板电脑为主两大类别。对于不同屏幕,在设计时应当充分考虑到用户使用习惯,如小屏幕设备查看大尺寸图片和视频等会产生不便;而在大屏幕设备上,如果仅提供以文字为主的内容,也会显得单薄和信息量不足。

(2)主要用途:智能手机与上网设备主要用途各有不同。国内手机大多利用GSM网络进行通信,上网设备主要以3G网络与无线网络为基本通信方式。这样,大多数非3G网络手机用户仍然面临着上网流量和带宽限制问题。因此,手机客户端设计要更多地考虑通信成本与流量;而上网设备则要更多地考虑融合各项新功能,包括流媒体服务等。

(3)系统平台:智能手机和上网设备操作系统有许多分类,而各系统开发控件也有不尽相同的系统接口。Gavalas等对Java ME、Net CF、Flash Lite和Android几种开发平台进行详细对比,通过这些对比,可让开发者对常见开发平台拥有更全面认识[ 17]。因此,在开发不同系统平台时,需要考虑自身特点,并根据具体型号进行定制设计,包括界面显示和操作方式等。

(4)服务对象 :图书馆移动客户端不仅可以为读者服务,也可以为图书馆馆员服务,以提高工作效率。现在智能手机客户端基本上是为用户服务而设计,包括在线参考咨询等服务功能;如果围绕着以图书馆员为中心而扩展这些功能,增加手机在线回复、远程应用维护等功能,更能够使图书馆、图书馆员和广大读者这三者之间,架设起更为紧密和牢固的沟通桥梁[ 7]

4.2 探索图书馆业务资源与移动客户端相结合

图书馆与客户端相结合,可向读者提供图书馆信息查询、预约续借、视频点播、参考咨询、账号维护与个性化服务等服务[ 8, 9]。笔者对图书馆目前提供的各种资源服务进行分类,并对每类服务与客户端软件整合程度进行比较,具体如表5所示:

表5 图书馆各类资源和服务与客户端软件之间整合程度

表5可见,目前客户端软件仍有许多有待提高和改进之处。随着智能手机性能和功能提升,将有更多服务和功能会在客户端软件上实现,如视频点播、消息推送、虚拟导航等。通过这些功能可使读者在图书馆中实时获知所在阅览室信息,并接受图书馆推送的即时消息和提醒。

图书馆客户端应用也可以与当下走红的微博、SNS社区、论坛博客、视频网站等众多Web2.0新业务相结合,使应用程序从以读者服务为主转变为可供在读者之间和读者与馆员之间进行各种交流、分享和互动的实用平台。

4.3 整合过程中的可能困难

(1)服务器等后台硬件设备负载能力不足

移动设备无疑会大大方便读者使用图书馆各种服务,但某些服务在高峰时期可能出现较大并发使用,这将加大服务器压力;而一旦服务器性能在高峰时不足以支撑运行,又会影响系统稳定性和业务连续性。为此,可通过增加设备投入、将服务器虚拟化和整合计算资源等方法加以改善;也可采用更高效技术来提升服务质量,如Shiddiqi等研究在智能手机上采用JSR 135(MMAPI)控制手机视频点播,与传统方式相比,其点播质量有较大提升[ 18]

(2)现有系统繁杂,接口不规范

随着计算机技术迅猛发展,每年都会有新技术不断诞生和投入使用。因此,一些时间较久远的图书馆系统在设计之初可能并没有预留接口供移动客户端使用,还有一些系统虽然在开发时预留了接口和方法,但因新旧技术、各程序语言和运行机制之间互不相同,也会造成无法正常使用。这些问题都增加了移动客户端与现有系统的整合难度和复杂程度。这些问题可通过系统二次开发,将系统用户接口直接嵌入客户端程序或开发中间件,设计相关Web服务接口来解决。

(3)移动设备与计算机客观条件制约

文中提及了移动设备在屏幕大小、主要用途和系统平台不同分类方面需要考虑的因素,它们会使开发移动客户端难度超过开发同样功能的计算机软件。由于移动设备在资源和性能等方面均落后于计算机发展水平,必须在设计时慎重考虑,反复修改与测试,才能使软件达到最优效果。

5 结 语

在移动设备迅速普及的今天,图书馆服务与移动设备整合将进一步完善图书馆移动服务平台,借以达到为广大读者更好服务的目标。通过智能手机客户端开发和应用,上海图书馆上海科学技术情报研究所在移动服务领域取得一定实际成果,未来将有更多图书馆服务被整合到手机客户端中,包括最近非常流行的微博、SNS社区等,为读者带来更多更新的体验,以便拉近传统图书馆业务与广大读者之间的距离,使人们将图书馆装进口袋中的梦想逐步变成现实。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献
[1] IDC. Worldwide Quarterly Mobile Phone Tracker[R/OL]. [2011-02-07]. http://www.idc.com/research/viewfactsheet.jsp?containerId=IDC_P8397. [本文引用:1]
[2] 中国互联网信息中心. 中国互联网络发展状况统计报告[R/OL]. [2011-03-01]. http://www.cnnic.net.cn/dtygg/dtgg/201101/P020110119328960192287.pdf. [本文引用:1]
[3] 张文彦, 刘钟美, 张瑞贤. 美国手机图书馆的发展概况[J]. 图书馆建设, 2009 (11): 96-98, 101. [本文引用:1]
[4] Lippincott J K. A Mobile Future for Academic Libraries[J]. Reference Services Review, 2010, 38(2): 205-213. [本文引用:1]
[5] Takeuchi K, Kennelly P J. Making iPhone Mapping Applications Using GeoGears[J]. Cartographic Perspectives, 2010, 66(3): 73-84. [本文引用:1]
[6] Serhani M A, Benharref A, Dssouli R, et al. Toward an Efficient Framework for Designing, Developing, and Using Secure Mobile Applications[C]. In: Proceedings of World Academy of Science, Engineering and Technology, 2009, 40(4): 122-128. [本文引用:1]
[7] 陆承兆. 智能手机图书馆——基于3G的手机图书馆新发展[J]. 图书馆学研究, 2010 (2): 96-98. [本文引用:2]
[8] 鄢小燕, 李名洋. 国内图书馆手机移动信息服务现状研究[J]. 图书馆学研究, 2010 (2): 63-66. [本文引用:2]
[9] 唐海萍, 方胜华. 基于移动通信网络的手机图书馆[J]. 图书馆, 2010 (3): 114-115. [本文引用:2]
[10] 张仕成. 基于Google Android平台的应用程序开发与研究[J]. 电脑知识与技术, 2009, 5(28): 7959-7962. [本文引用:1]
[11] Rodrigues J J P C, Oliveira M, Vaidya B. New Trends on Ubiquitous Mobile Multimedia Applications[J]. EURASIP Journal on Wireless Communications and Networking-Special Issue on Multimedia Communications over Next Generation Wireless Networks, 2010: 1-11. [本文引用:1]
[12] 罗仕鉴, 龚蓉蓉, 朱上上. 面向用户体验的手持移动设备软件界面设计[J]. 计算机辅助设计与图形学学报, 2010, 22(6): 1033-1041. [本文引用:1]
[13] Kim H K. Frameworks of Process Improvement for Mobile Applications[J]. Engineering Letters, 2008, 16(4): 550-555. [本文引用:1]
[14] Unhelkar B, Murugesan S. The Enterprise Mobile Applications Development Framework[J]. IT Professional, 2010, 12(3): 33-39. [本文引用:1] [JCR: 0.482]
[15] File: Diagram Android. png [EB/OL]. [2009-03-23]. http://en.wikipedia.org/wiki/File:Diagram_android.pngfilelinks. [本文引用:1]
[16] 刘平. Android手机访问服务器的一种数据交互方法[J]. 电子设计工程, 2010, 18(9): 96-98, 102. [本文引用:1]
[17] Gavalas D, Economou D. Development Platforms for Mobile Applications: Status and Trends[J]. IEEE Software, 2011, 28(1): 77-86. [本文引用:1] [JCR: 1.616]
[18] Shiddiqi A M, Pratama H, Ciptaningtyas H T. A Video Streaming Application Using Mobile Media Application Programming Interface[J]. Telkomnika, 2010, 8(3): 293-300. [本文引用:1]