基于移动应用的图书馆服务设计与实现
——以“国家数字图书馆”移动应用为例
2014-10-13牛现云刘术华苏明忠
牛现云,刘术华,苏明忠
(国家图书馆,北京 100081)
基于移动应用的图书馆服务设计与实现
——以“国家数字图书馆”移动应用为例
牛现云,刘术华,苏明忠
(国家图书馆,北京 100081)
移动应用属于一种客户端形式的服务。在线类移动应用基于C/S架构,在其设计与实现中要从客户端和服务器端两个方面考虑,并进行性能优化,尤其是客户端与服务端的交互实现。“国家数字图书馆”移动应用将检索服务、阅读服务等图书馆基础服务拓展到移动终端,并与开放平台进行融合,实现了外部功能在图书馆系统中的嵌入式服务。将具有移动应用特色的信息推送服务引入到图书馆移动服务中,当有最新消息时,为读者提供更新通知。同时使用widget技术,将书目检索与阅读服务功能做成桌面插件形式,用户可以将之放到桌面,“一键式”使用具体服务功能。
移动应用;移动应用架构设计;移动服务;移动数字图书馆
近年来,移动互联网的快速发展,正在改变着人们获取信息的方式,影响着人们的生活。截至2013年6月底,我国手机网民规模达4.64亿,较2012年底增加4379万人,网民中使用手机上网的人群占比提升至78.5%[1]。在智能化大潮下,中国手机网民用户规模已经逐渐逼近PC网民规模,预计2014年第一季度,中国手机网民规模将超过整体PC网民规模,手机第一上网终端地位将更为稳固[2]。
2008年苹果应用程序商店模式诞生以来,移动应用获得了爆炸式的发展,得到了用户的认可。国内一些大型图书馆也开始尝试利用APP等工具为用户提供移动服务。据艾瑞数据显示,从2012年8月至2013年4月,移动APP日均覆盖人数增长达39.4%,而同期PC客户端日均覆盖人数增长仅为8.5%,APP给手机电商带来的流量已经远远超过了传统互联网端的流量。目前,企业、政府、科研机构、博物馆等各类文化传播机构都已经加入到APP服务队伍中[3]。荷兰应用商店分析机构Distimo的分析报告显示,全球前100强企业中,91%都已经在移动应用程序商店发布自己的APP。
1 我国图书馆移动APP发展概述
近年来,国内一些大型图书馆陆续利用APP应用向用户提供移动服务,通过对苹果应用程序商店(APP Store)、公共图书馆及高校图书馆网站所提供的APP资源进行统计发现,无论从数量上还是类型上,APP已经成为图书馆开展移动服务的有力工具。截至2013年,我国仅在苹果商店以“图书馆”为名称的移动APP就达60多个,其中独立开发或支撑的移动型APP有40个,包括20个公共图书馆,20个大学图书馆;另外,各数据库商也开始探索与各高校和地方图书馆开展合作,利用自己开发的数据库访问应用平台将各馆的资源推送给广大用户,各个加入平台的图书馆只需提交本馆的馆藏目录即可,以这种形式提供服务的图书馆包括118个公共图书馆、530余个高校图书馆。在这些APP中,服务内容多种多样,基本涉及了传统图书馆所有服务项目和资源,并且学习国外图书馆APP服务的先进经验,拓展了信息素养培训、空间导航、社区互动等多种新功能。
虽然我国图书馆APP不论在数量上还是功能上都较之前有了飞跃发展,不仅提供了基于客户端的基本业务(资源检索、信息公告、信息查询、参考咨询、读者反馈等)服务,还拓展了空间导航、游戏互动等多种功能,但是总体来说我国图书馆APP服务发展还处于粗放型发展阶段,缺乏对用户体验的处理以及精细化的服务设计。例如在检索方面基本上是将OPAC检索进行瘦身;在资源展示环节,缺乏从发布到展示整体的流程处理过程,有些是直接将PC上的服务形式直接转化成手机形式;在移动应用中没有充分利用移动自身特点,如对信息推送、桌面插件、开放服务利用不足等。在“国家数字图书馆”移动应用中,充分考虑了图书馆所处的开放环境以及移动自身的特点,从用户体验方面进行了更好的设计。
2 移动应用架构设计
国家数字图书馆移动应用分为客户端和服务端两部分,客户端与服务端之间通过接口进行通讯,客户端通过http协议调用服务器端接口获取数据,请求首先到达对应的控制器模块,控制器根据认证服务器,判断客户端请求是否合法,如果为非法请求,则拒绝服务。如果合法则继续,调用缓存系统获取数据,如果缓存没有,则从数据库或者其他存储中调用,然后返回数据。由于JSON是一种轻量级的数据交换格式,客户端与服务端的数据交换采取JSON格式。
图1 移动应用系统架构
2.1 客户端
(1)本地存储层:存储一些相对静态的信息,比如用户个人信息、系统配置信息(首页配置、咨询配置)、缓存业务数据(展览信息、阅读数据信息)等。
(2)逻辑控制层:主要对在客户端层面的逻辑进行处理,比如检索逻辑、阅读逻辑、启动逻辑、查看信息逻辑等。
(3)用户展示层:主要负责用户的UI展示,采取了列表模式,在UI设计中可以动态修改首页的显示内容。默认主要展示OPAC检索、微阅书刊、新闻公告、掌上展厅、讲座预告、留言板、我的国图、一拍图讯、移动咨询、应用荟萃等功能。
2.2 服务器端
(1)接口层:接口层分为系统内接口、系统外接口。系统外接口分为图书馆内系统接口、开放平台接口。
系统内接口主要负责客户端与服务器端的交互,为了使代码能够复用,本系统在设计时采用了Web Services方式,使本系统接口可以为外部应用使用。
图书馆内系统接口主要是本系统与图书馆内其他系统有业务交互的系统之间的接口,主要是Aleph系统接口,实现OPAC检索服务、借阅相关服务;与国家图书馆统一用户管理系统的接口实现用户注册、认证业务。开放平台接口主要实现国家数字图书馆移动应用相关服务的社会化,实现OPAC检索服务的书评参考、购书价格参考等。
(2)缓存层:服务器缓存层主要存储一些相对静态数据以及常用的数据,提升用户访问速度,比如用户经常阅读的图书数据、客户端的首页布局等。
(3)业务层:业务层主要完成前台展示层各个功能模块的核心业务逻辑处理,实现各个功能模块的具体业务功能,也是整个移动应用的核心。
(4)数据层:数据层采用“数据库+文件系统”的方式存储,文件系统主要是存储阅读模块的对象数据、图片等,其余都是采用数据库形式。本系统在设计之初,分析了国家图书馆现有移动服务,对于已经存在的服务采取了复用形式实现。因此,在数据层,本系统还包括其他系统的链接,例如经典视听模块是直接通过URL链接流媒体服务器,减轻了本服务器的负担。
3 移动应用功能设计与实现
3.1 实现环境
(1)客户端
支持Android2.3及以上、iOS4.0及以上平台,终端支持大部分基于Android的手机;iOS平台支持iPhone和iPad,iPhone和iPad在UI层采用界面适配,其他层复用。客户端数据库采用sqlite。
(2)服务端
服务端采用nginx+tomcat作为应用服务器,nginx是做负载均衡和解析静态文件的,如图片等。数据库采用Oracle 10G。
3.2 功能主框架
移动应用在启动时会检查是否在联网状态,如果处于联网状态,进行联网处理,打开移动应用。用户首次打开移动应用时,会将自身的IMEI、UA、IP等信息发送给服务器,服务器根据客户端参数生成唯一标识符UID,作为客户端的身份信息。针对多种类型的移动设备,本应用主要从分辨率方面进行了界面适配。对于Android系统手机,主流的分辨率为480*800、480*854、720*1280、1080*1920,按照宽度进行适配,长度保持比例,设计三套UI,即480、720、1080,用户访问时自动适配体验较好的UI。iOS系统设计了iPhone和iPad两套UI,用户访问时根据设备类型适配比较好的UI。
图2 功能主框架
本系统主要功能框架如图2所示,包括书目检索、微阅书刊、掌上展厅、经典视听、新闻公告、我的国图、应用荟萃、移动咨询、留言板。接下来将选取核心和基础的服务模块进行设计与实现的探讨。
3.3 主要功能设计与实现
3.3.1 检索服务
检索服务主要是书目检索。采用接口对接的方式实现,国家图书馆使用的图书集成管理系统是Aleph系统,接口形式是Web Services。移动应用客户端与服务器端的交互通过JSON over HTTP进行图书检索交互。
检索流程涉及“关键词输入—检索条件—检索结果”三个环节。
图3 检索界面
在APP应用中,要在关键词输入与检索结果展现环节进行重点设计。本应用中,检索词输入方式设计了文字输入、语音识别、条码拍摄三种方式,同时设置了搜索关键词排行,直接点击关键词实现搜索。在检索结果设计方面,采用“简要信息—详细信息”两级页面展示,在简要信息界面分库显示,并且只显示了检索的题名,当点击某个检索结果时可以查看该条结果的详细信息,详细信息中选择了与图书信息非常相关的题名、作者、出版社、ISBN、馆藏信息字段进行展示。在检索结果页面,进行了一些符合当前用户需求和知识化服务的操作设计,主要有收藏、买书和书评,并与图书馆借阅业务紧密结合,检索后可以进行预约操作。
(1)收藏:用户可以将喜欢的或者想要借阅的图书收藏以供日后参考。
(2)买书:买书是为了让读者除了可以借阅图书外,还可以到电商网站购买图书,为读者购买图书提供参考。本应用中可以实现与当当网、亚马逊网站检索图书以及购买对接,按照当当网、亚马逊网的接入流程,通过ISBN号实现图书匹配,可以在应用程序内完成购买流程。与购书网站的对接方式采取了联盟方式,这样实现流程简单、快捷。以当当网为例,需要在当当网联盟主页注册申请,申请流程完成后,按照网站接入规则生成URL,然后在移动应用中通过ISBN号实现书目检索与当当网图书的对应关系。当当网ISBN号检索URL示例:
http://m.dangdang.com/gw_search.php?key={isbn}
(3)书评:本应用将豆瓣书评集成到书目检索的详细页面,采用豆瓣网站公布的API接口将豆瓣书评集成到应用中。首先在豆瓣网上申请一个应用,按照豆瓣网的申请流程进行申请,会得到一个apikey,在以后的接口调用中会使用这个apikey,作为应用使用豆瓣书评的唯一标识。然后获取用户授权,通过授权后可以使用豆瓣书评接口。在此应用中,使用了获取图书的全部书评信息,接口形式为:http://api.douban.com/book/subject/isbn/{isbnID}/reviews,通过向API发送get请求获得豆瓣书评信息。
3.3.2 微阅书刊
关于移动阅读,包括三大移动通信运营商、内容提供商以及互联网内容服务商等在内的企业已经推出专门的阅读类应用,比如中国移动的“和阅读”、方正“Apabi Reader”、“云中书城”等,在服务模式上主要有在线和下载两种。在图书格式上一般采取自有格式,同时兼容其他格式(txt、pdf、epub等),用户可以将本地的图书导入到客户端,应用本身的内容采用自有格式。“国家数字图书馆”应用是一个综合类的移动应用,在阅读格式方面没有开发自己的格式,而是采取了在线服务模式,以规避版权问题,用户不能下载。
微阅书刊主要阅读图书和期刊。图书采用的是本系统自身发布,然后在客户端阅读的方式,期刊采取的是通过WAP嵌入方式实现。
(1)图书阅读
图书阅读采取在线阅读方式,在服务器端进行图书发布,流程如图4所示。
图4 图书发布流程
在服务器端,首先要将元数据和对象数据准备好,对象数据采用Word格式,一本书组织成一个Word,按照章节添加目录索引。组织完成后,将元数据导入到系统中,对象数据上传到服务器,然后启动图书切割流程。图书切割按照章节进行切割,即按照准备好的Word中的目录进行切割,切割后图书按照book_id与元数据进行绑定。最后在服务器管理端完成图书的发布。用户在前端就可以阅读图书了。
用户在阅读时,客户端会将下一章节内容缓存在本地,这样保证用户较为流畅的阅读体验。在阅读过程中,可以跳转到目录的任一章节,可以调整翻页模式、白天夜间模式;系统会自动记录最后阅读位置(自动书签),用户也可以自行设置并管理书签;可以为图书打分、推荐图书、收藏图书;同时,用户可以查看所阅读图书的书评信息。
(2)期刊阅读
目前一些内容提供商如同方知网等已经以WAP形式对外提供服务,图书馆也已经开始将WAP网站引入到移动资源建设中,丰富移动资源的表现形式。在期刊阅读中,由于内容提供商直接提供WAP形式的服务,在移动应用中采取嵌入方式将之嵌入到图书馆移动应用中,使用WebView(网络视图)直接加载内容提供商的URL,授权方式采取用户认证的方式,图书馆与内容提供商通过底层接口约定认证模式,认证通过后即可进行阅读,同时在内容提供商的WAP网站设计返回到移动应用的返回功能,使跳转发生在移动应用程序内部。
(3)身份认证
由于图书和期刊有一定的版权限制,在本应用中,对图书和期刊的阅读权限进行了一定的身份认证。在该应用中设计了两次认证,在客户端登录时,服务端与客户端通过服务端生成的唯一ID进行握手,达到一致就认证通过;在用户阅读具体内容时,用户需要输入正确的用户名和密码,认证通过后才可以阅读。
3.3.3 更新通知
信息更新提醒是APP的一个重要特色,一些手机平台如iOS自身带有消息推送机制,在APP服务设计中,可以利用平台消息推送机制,实现对图书馆动态信息以及应用本身变化信息的推送,使图书馆服务具备了主动性。在国家数字图书馆移动应用中,将新闻公告、展览、讲座预告等信息动态作为更新内容推送给客户端。
在移动应用第一次启动时,与服务器进行通讯,获取后台最新更新的通知;在程序启动后,移动应用在内存常驻时,每天固定时间与服务器通讯,获取服务端的最新更新信息。
3.3.4 Widget服务
Widget即是窗口小部件的意思,App Widget是应用程序窗口小部件(Widget),是微型的应用程序视图,它可以被嵌入到其他应用程序中(比如桌面)并接收周期性的更新[5]。Widget服务目前只有Android平台支持。在国家数字图书馆移动应用设计中,将用户常用的服务——书目检索与微阅书刊模块做成Widget的形式,用户安装移动应用后,可以将这两部分作为小插件形式放在手机桌面,然后点击桌面插件,直接进入相对应的模块页面。这样方便用户对常用功能模块进行快速访问,忽略不经常访问的模块,就相当于PC的桌面快捷方式。
3.4 使用情况分析
“国家数字图书馆”移动应用的iOS、Android版本主要发布在苹果应用程序商店、机锋网和应用汇商店,从总体下载次数来看,平均每月下载量1500次左右,而业界统计数据显示排名前10的应用程序下载量都达到了百万级别。可见,图书馆不但要注重移动应用的开发设计,更要注重其推广和宣传。通过设计移动应用的关键词优化移动应用在应用市场的搜索结果,通过线上线下的活动、社交手段等多种渠道推广和宣传图书馆应用,也可以考虑通过一些商业宣传手段如竞价排名等提升图书馆移动应用的排行,让读者有机会了解到图书馆的移动应用,从而提升图书馆移动应用的使用率。
图5 各栏目使用情况图示
“国家数字图书馆”移动应用是一个综合型的移动应用,各个功能模块的访问情况如图5所示,微阅书刊访问量居第一位,从一定程度上说明目前阅读是图书馆用户的主流需求。这和互联网络信息中心“第33次中国互联网络发展状况统计报告”的调查结果相似,该报告指出“阅读是目前手机浏览器用户的核心诉求,手机阅读半个小时以上的用户比例达到55.2%。”图书馆在进行移动服务时应该优先开展移动阅读服务,可以建设专门的阅读类移动应用。访问量位居第二的是书目检索,这是图书馆传统业务在手机端的拓展,也是图书馆馆藏揭示的重要手段,在移动互联网时代仍然占据一定位置。位居第三位的是掌上展厅,这是以图文为主的展览服务。一般图书馆会定期举办展览,在互联网时代已经将之以“在线展览”的形式推出,在移动互联网时代,移动在线展览仍然是用户喜欢的栏目之一。在本应用中设计了“留言咨询”功能,以便与用户互动,笔者发现,大部分建议仍然是围绕阅读这个主题,可见在移动互联时代移动阅读应成为图书馆的主攻方向。
4 结语
移动应用作为移动互联网时代的重要发展方向,具有方便快捷、随身随时的特性,而且用户粘度比较好,已经成为用户接入互联网的重要入口之一。图书馆应该充分利用移动应用服务模式,将图书馆基础业务、核心业务拓展到移动终端,同时不断进行创新,发展适合移动应用的新型服务内容。在移动应用设计中,除了自身业务外,要充分了解用户的使用习惯和需求,使移动应用符合用户的使用习惯。由于移动应用领域技术发展较快,在移动应用推出后要不断跟踪用户需求,获取用户反馈信息,同时适时引入新技术和新模式,不断更新移动应用。
[1] 中国互联网信息中心.第32次中国互联网络发展状况统计报告[R].北京:中国互联网信息中心,2013.
[2] DinK. iiMedia Research:2013年中国移动互联网发展报告[EB/OL]. [2014-06-24]. http://www.199it.com/archives/171466.html.
[3] 李迎迎.基于移动设备应用程序的图书馆服务研究[J].新世纪图书馆,2013(4):74-76.
[4] 刘浩,武保民.基于APP的图书馆移动服务研究[J].图书馆学研究,2013(11):67-71.
[5] Android之窗口小部件详解 --App Widget [EB/OL].[2013-12-24]. http://www.cnblogs.com/skywang12345/p/3158310.html.
Mobile Application Service Design and Implementation in the Library- Taking the Application Named `the National Digital Library' As an Example
NIU XianYun, LIU ShuHua, SU MingZhong
(National Library of China, Beijing 100081, China)
Mobile application is a kind of service based on client. Online mobile application takes on C/S Architecture, performance of which should be optimized from both the client and server-side in its design and implementation, especially interactive between client and server. Mobile application named "National Digital Library"contains OPAC services, reading services and so on. In the design of that, some services fuses with open platform, which achieves the external functions embedded in the library services. The information push service with mobile application features is introduced to the mobile library service. When there is new information, it can be pushed to users. At the same time, the app uses widget technology, OPAC services and reading services are developed as desktop plug-ins, which can be used one-click.
Mobile application; Mobile application architecture design; Mobile service; Mobile digital library
2014-05-30)
G250.76
10.3772/j.issn.1673—2286.2014.07.007
牛现云,女,1981年生,硕士,国家图书馆工程师,研究方向:移动数字图书馆,E-mail:nxydmx@163.com。
刘术华,女,1985年生,工程师,硕士研究生。