个性化移动互联网应用平台
个性化移动互联网应用平台华东师范大学第二附属中学指导教师王颂赞王保卫摘要PC具有信息处理能力强,可获取海量Internet信息的优势,但使用不如移动设备便捷;而手机等移动设备则缺乏强大的计算能力,且受资费、网速等限制,目前获取互联网应用相对困个性化移动互联网应用平台,旨在发挥上述两种设备各自的优势,采用传统的C/S架构移动应用平台,将PC的Web体验移植到手机上,由运行于移动设备(主要是手机)的客户端(移动e精灵)与运行于服务器端的众多Web程序构成。对于客户端发出的请求,服务器端相应程序被触发,然后将预处理后的信息发送至客户端,客户端根据接收到的信息将结果呈现给用户。移动精灵采用插件式的架构模式,为不同的互联网应用量身打造不同的插件,用户可以个性化地选择自己需要的插件进行安装与使用,增强信息的针对性与准确性。同时,开发者可以使用本平台提供的开发工具来开发新的插件。普通用户也可以通过提供的几套模板来开发简单的基于RSS的插件。移动精灵的个性化信息定制系统将用户经常浏览的信息聚合在一起,以“彩版首页”的形式呈现给用户;用户也可以将经常使用的插件(包含输入的参数)设定成一个服务,并为其设定触发的时间,从而实现信息的自动“推送”,大大减少了操作次数,更加符合了手机浏览信息的操作方式。 个性化移动互联网应用平台秉承“用户就是开发者,开发者就是用户”及“人人为我,我为人人”的理念,用户可以对功能进行二度开发,也可以对数据进行二度聚合,充分调动用户的集体智慧以及自服务精神来无限扩展移动e精灵的功能。关键字个性化移动互联网平台正文设计缘起及目标1、手机、PC与互联网之间的联系人们的工作、生活越来越多地依赖于Internet:通过一台能够上网的PC,用户能够浏览到最新的资讯;通过即时通讯软件用户可以即时地与朋友们交谈;碰到无法解决的问题,使用搜索引擎可以飞快地寻找到相应的解决方案??我们甚至可以说:互联网“无所不能”!但毕竟PC携带起来不是很方便,即使带了笔记本电脑也不一定有可以使用的网络接入服务。但手机完全没有以上的两个问题:手机体型较PC(甚至最小的笔记本电脑)而言都要小上很多,而且只要有手机信号的地方几乎都可以上网。当然,手机也有很多不足之处:在移动设备上访问Internet,不如在PC上访问方便,并且支持的Web能力也有限;屏幕不够大、网速(2.5G/2.75G)不够快、资费不够便宜等因素导致直接去浏览几十甚至上百KB的互联网应用不太现实。所以,目前各个互联网公司为了使得手机用户也能够使用到自己的服务,无外乎采取两种方式:搭建WAP站点和设计专门的运行于手机上的客户端软件。 前者实现起来简单但由于WAP本身支持的特性较少所以界面十分单调,而且用户需要记住网址;后者使用起来更加顺手却需要很高的技术要求,而且提供的内容只能是自己网站上的,可扩展性较差。但这两者有一点是共同的:需要相关公司更大的物质、技术与人员的投入,需要更多的维护成本,且不能很好地与PC上能够使用的互联网应用相互兼容。那么,让PC与手机互相间取长补短会怎么样呢?2、手机的便携性+互联网的海量信息+个性化的信息定制+服务器端强大的运算能力=个性化移动互联网应用平台于是,作者想到了经典的架构:客户端(手机)需要访问相应互联网服务时,先向服务器发送相关指令,服务器端相应程序执行后将预处理后的结果再发送至客户端,客户端得到这些结果后再把这些信息反馈给用户。这样,就能够利用服务器端(PC)强大的计算能力进行信息整合,从而为客户端(手机)能够随时随地地浏览互联网信息而服务。作者想到了开发一个用户能够自由扩展、定制服务的软件。用户可以自行选择所需要的插件并进行“绿色安装”(只修改文件系统而不改动注册表),而插件的整个目录结构用户同样可以自行安排;而这些插件的功能不仅仅局限于网络信息的浏览,还应当包括本地(即针对操作系统)的优化,如内存、CPU使用率查看,进程管理、联系人搜索等;同时,为了达到服务能够自动“推送”至用户手机而不是让用户不断地去主动操作的效果,应当再开发了一个个性化信息定制系统,用户能够自行定制自己喜欢的服务(如股市实时行情、天气预报等)。 这样,开发者可以通过这样一个强调个性化元素,扩展性、实用性又极强的平台实现很多很多的功能:开发者可以将博客、论坛、资讯、工具类等互联网应用移植到手机上;也可以针对手机的设备特点实现一些专门适宜于手机用户使用的应用,比如扩展手机操作系统的功能、设计手机网络游戏等等。同时,一些无法承担搭建WAP网站和制作手机客户端软件的中小型网站可以通过在平台上开发自己相应服务的插件来达到宣传自己网站的目的;同时也使得用户对于信息来源多样性的需求得到了满足。3、新的理念:“用户就是开发者,开发者就是用户。”大多数手机客户端软件仅仅是提供自己网站的内容,而其中包含的其它网站的信息也大都是广告类信息。这样就造成了各个网站“各自为营”的运作模式,用户需要下载并安装大量客户端才能浏览到较为全面的信息,但这对于手机的存储容量而言又是不小的挑战。为此,作者提出了一个新的理念:“用户就是开发者,开发者就是用户。”即:让用户参与到开发过程中。个性化移动互联网应用平台是面向所有用户(开发者)开放的,用户可以通过平台提供的开发工具去自己开发插件,然后将插件发布在平台上,让所有用户都可以使用。随着用户参与的力度增强,平台的应用体验也会逐步拓展。 这样就避免了“单枪匹马”的开发模式,也使得用户能够从更多的信息源获取更全面、更准确的信息。而且,插件本身是轻量级Web应用,相比起独立的客户端(重量级Web应用)而言要求的硬件资源要小很多。架构简介1、总体架构个性化移动互联网应用平台采用的是传统的C/S架构:运行于客户端的“移动e精灵”通过GPRS方式上网并与服务器进行交互;服务器在处理这些交互的同时还需要派出大量各类“蜘蛛”程序从各个信息源抓取信息并保存在本地,有的还要进行相应的预处理;对于一些Web用(比如远程监控),普通PC也可以作为客户端与服务器端进行交互。(个性化移动互联网应用平台的整体架构图)2、服务器端架构服务器端由五大核心部件组成:用户权限管理、用户数据存储、信息收集、信息处理、客户端交互。用户权限管理:游客模式下,用户可以使用所有不需要进行身份验证的服务,如:门户网站的新闻浏览、天气预报、百度知道等;有些是由作者开发并提供的需要身份验证的服务,如:移动博客、个性化首页、移动网络硬盘等等,需要有用户的身份信息(用户名)来区别。用户权限管理负责用户的注册、登陆、信息更新。用户数据存储:平台给每个用户提供了一个网上的信息存储空间。 当用户以自己的用户名登录“移动e精灵”后,他就可以使用大量基于平台本身的服务,而很多信息就需要存储在服务器上。用户数据存储需要保证用户在服务器上的数据能够被稳定、安全地读信息收集:为了提高服务器的相应速度,增强其同时处理多个请求的能力,很多时效性强的信息需要提前抓取下来。所以,服务器端有大量的网络蜘蛛在不断地从各个网站上 抓取信息并保存在服务器上,以备到时能够及时地将这些信息返回给客户端。 信息处理:信息被抓取下来后并不是原封不动地就以原来的形式保存下来,通常还要对信息进行预处理。几乎针对每个 Web 应用都要做的一步预处理便是:将非主体内容与 HTML 标签等从源文件中抽取出来而只留下重要的正文内容;这样处理后可以大大节省 存储空间,并提高了响应速度。 客户端交互:每秒钟服务器都可能会收到大量来自客户端的请求,此时,服务器上与请求相对应的若干程序需要将信息进行最后的整合,然后将处理好的结果返回给客户端。 3、客户端架构 客户端由五大核心系统构成:插件管理系统、命令集系统、本地数据管理系统、网络交互系 统以及个性化信息定制系统。 (客户端工作原理方框图) 插件管理系统:平台对所有功能采取的均是“开发式分类”,即:由用户决定每个插件归在哪一类,用户可以以自己喜欢的方式设定功能的目录结构,且目录结构的更改很简单, 直接在“移动e 精灵”的存储目录下插件的保存位置进行更改即可。 命令集系统:用户可以通过软件开发套件(SDK)自己来开发一个插件。而客户端在手机上能够使用的功能就被包含在命令集系统中。作者已经对很多常用功能进行了封装, 减小了用户开发插件的难度及成本。当前命令集系统中包含的标准功能如下所示: 本地数据访问:收件箱、发件箱中存放的短信;名片夹(联系人卡片的信息);日历;可以访问的部分本地文件; HTTP:通过HTTP协议访问互联网的信息; 多线程:轻量级的线程创建及同步;10) 摄像头:用摄像头拍摄照片、录制视频; 11) 日期、时间:系统日期与时间信息的获取; 12)数据压缩:zip 文件的读写。 本地数据管理系统:保障客户端对于本地数据的读写是合法而安全的。平台的开放势必会导致安全性受到影响,而在手机等移动设备上,最有威胁的就是通过对文件系统的读 写来导致操作系统的崩溃。因此,为了约制插件对于整体的影响,客户端对文件系统的 读写是有一定限制的。而本地数据管理系统则负责这些限制的制定与执行。 网络交互系统:负责与服务器端的交互(发送指令、接收结果)。为了减小GPRS流量, 服务器端对返回的结果已经进行了尽可能的整理和压缩,因此,网络交互系统需要将接 收到的信息转换成要求的格式。 个性服务定制系统个性服务定制系统是移动e 精灵中继插件式功能组织外的又一大创新之举。目前的手机客户 端仍是摆脱不了需要用户主动获取信息的范畴;而在短信(彩信)方面,很多类似的服务已经发 展得比较成熟了。所以,作者在移动e 精灵中加入了用户定制个性功能这一特色,使得用户不再 是主动获取信息,而是可以被动地等待信息被“推送”到面前。 个性服务定制由规划子系统、触发子系统、执行子系统构成。规划子系统负责将用户的需求 (即定制表单)“翻译”成XML 的形式并予以存储;触发子系统负责将存储好的个性功能以XML 格式再次“转录”成相应的参数并设定触发时间,然后在后台监控系统当前时间,当功能的触发 时间到时将该个性功能的所有参数传递给执行子系统;执行子系统将所有的参数转成要执行的代 码并开始解释执行,并将其间发生的异常返回告诉用户;当代码成功执行后,执行子系统还会根 据目前铃声状态“智能”提示用户新信息已经“推送”完成(若为无声状态只会屏幕亮;若为其 它状态则会有提示音)。个性服务定制过程如下所示: (输入名称) (设定原型设定) (设定触发器类型) (输入所有参数) 目前的触发器类型共有4 种,即:每天执行(定时);在具体的时刻执行(一次);每隔一定 时间执行一次(循环);开启程序时启动。 以后可能还会引入更多类型的触发器,比如:有新短 信/来电时;实时执行等来丰富用户的信息定制方式,从而使可以 DIY 出的个性功能更加丰富 多彩。(实际上这里用到了工作流管理系统中常用的“以事件为中心”的想法) 实际上,目前的信息“推送”从原理上来说依旧是用户发送请求至服务器然后服务器端作出 相应响应,但是这一过程完全是由程序自身完成的。用户可以将程序最小化,然后去做其它事情, 甚至将手机先搁置到一旁,然后等待程序自动将内容收发工作完成后将内容呈送上来。同时,这 样能够摆脱以前短信增值服务需要依赖运营商的局限,达到“想要信息时就能看信息”的目标。 (下图显示了“滚动新闻”的推送结果) (查看所有参数)(推送结果:新闻列表) (新闻详细内容) 个性首页定制系统个性服务定制系统实现了信息的自动“推送”,使用户可以在定制大量个性服务后去放心地 任移动 精灵自行工作。但在用户想主动获取信息,尤其是在浏览资讯时,总是希望自己关注的信息能够放在一起显示出来,然后再去逐条详细浏览。为此,作者设计了一个基于关键词的个 性首页定制系统。 用户先要完成配置过程:将自己定制的若干内容以关键词的形式告诉移动 精灵,并且定义好关键词的类型(短语、股票代码、QQ 号、URL 地址等),然后选择一套显示方案后即可。 (已经定制好的关键词) (添加一个新模块) (配置模块信息) (刷新首页) 这样,每次用户只要进入“个性首页”就能看到所有自己定制好的信息。 4、SDK(Software Development Kit)——软件开发套件 目前平台提供的SDK 包含以下两个部件:高级开发环境、简易RSS 开发工具。 高级开发环境:直接书写源代码的开发形式;可以使用所有的API;提供了几个典型的 插件作为例子可进行学习。 (基于RSS的)模板式开发工具:适宜于为提供了RSS Feeds 的Web 应用(大多数 博客、论坛等)快速开发插件;用户只需要填写RSS Feeds 的URL 地址,并选择一套 模板作为界面的显示方案即能自动生成插件。 (基于RSS的模板式开发工具) 移动e精灵典型插件实现简介 1、远程监控摄像头/计算机屏幕 (输入用户名与密码) (监控摄像头) (监控屏幕) 该插件的功能在很多计算机上都能实现,但是用手机作为监控端显然更方便、实用,更符合 使用者随时随地监控的目的。目前同类软件很少,偶尔有的也需要大量的架构成本(如专用摄像 头、专用服务器等),不适合普及。 该插件属于典型的 “网络型”插件。 通过监控端(手机)、服务器端、被监控端三者的信息 交互,来完成监控、发送图片等指令的执行及数据传输。为了实现信息的又快又稳传输,作者的 通过HTTP 的实现方式可以实现任何电脑、任何网络条件(包括路由器穿透)下的监控。 2、百度知道 (输入问题) (选择相关的问题) (查看问题) (查看答案) “百度知道”也是典型的“网络型”插件。服务器端将用户的请求发送给百度的服务器,然后将反馈的结果在服务器端通过“正则表达式”处理后发送至手机上的客户端,方便用户的查看。 由于结果已经在服务器端经过处理,所以客户端只需要将得到的字符串再进行整理,并配以相关 的字体格式(如颜色)将内容呈现给用户即可。通过这种服务方式,得到的结果比直接用上WAP 站点得到结果的速度更快,而且界面更加友好。 3、股票实时行情 (选择菜单项) (输入股票代码名称) (选择“中国软件”) (实时行情一应俱全) 为了让股民们能够在平时没有计算机、不在股市时也能够及时了解实时股市行情的“网络型” 插件。这样,股民们即可随时随地查看自己所关注的股票以及大盘情况了。 市场上一些商家把“炒股手机”作为部分手机的卖点,但根据作者从各方面得到的信息来看, 这些手机只是很普通的手机,且“炒股”功能也只是依靠一个需要产生GPRS 流量的软件来实现 的,且由于配置的繁琐以及服务器的不稳定导致其实际工作效果不佳。 4、移动网络硬盘 (网络硬盘上的文件) (从网络硬盘上下载文件) (从本地上传文件) 移动网络硬盘提供给每个用户一个独立的网络存储空间,可以通过网络共享文件,扩展了普 通网络硬盘的使用范围,这个功能在移动客户端领域实属首创。 本功能与前面介绍的“远程监控”插件类似,可以通过PC、手机、服务器三方进行信息的 交互。用户通过PC 与手机皆可上传或下载文件,服务器负责数据的存储与更新,并在PC 机的客户端发送出相应请求后处理并返回相应结果。5、即时通讯功能(聊天) 与W之间的对话)(菜单项) 发送了新内容)(a接收到的新内容) 移动 精灵的“聊天”插件实现了最基本的即时通讯功能,同时,若接受方不在线,发送的消息将会在下次对方登陆时告知用户。 目前发送一条短信(70 字以内,不订套餐)需要0.15 元;而1KB 的流量(512 个汉字, 不包月)需要0.03 元。通过比较可以发现使用移动e 精灵的“聊天”插件来发送消息比普通的 短信要便宜很多,而且传输速度更快。 6、系统增强套装——快速信息搜索、系统传感器、进程管理器、背光灯设置 (联系人搜索) (系统传感器) (进程管理器) (背光灯设置) 目前手机操作系统的很多功能还并不完善,用户想更好地管理好系统就不得不装更多的软 件,而这不适宜于手机有限的存储容量。 所以,移动e 精灵中还有一大类“系统增强型”插件。 快速信息搜索扩展了操作系统本身的搜索功能,可以实现任意字段的匹配;系统传感器可以查看 系统目前的运行状况;进程管理器可以将无法关闭的程序关闭;背光灯设置可以使得播放视频或 Flash 时不用一直去按某个键让屏幕保持亮的状态。 通过这类插件,用户的手机操作系统无疑更加得强大了。 7、在线益智游戏——移九宫、猜单词 (“猜单词”菜单展开) (查看别人的猜测) (查看游戏概况) 10 (输入猜测) (猜对了!) (设计一轮新的游戏) (经典的“移九宫”游戏) (查看该轮游戏的状况) (查看游戏概况) 目前手机游戏层出不穷,其中动作、角色扮演类型的游戏居多。它们大多是用J2ME 开发的, 其中也不乏精品。这些游戏虽然能够保存当前的进度,但游戏的类型决定了它们并不适宜于手机 的特点。手机游戏应当能够随时开始或退出,应该有丰富的统计功能使得玩家能够看到自己的水 平与平均水平和最高水平之间的对比,而且应当拥有符合Web 2.0 的特点:用户创造的内容是关 键——即,玩家是游戏设计者,游戏设计者是玩家。同时手机的便携、小巧使得解谜等益智性较 强的游戏十分适合于手机等移动设备。 同时,游戏的内容、玩法不应该太过于追求视觉效果,玩家的目光应当集中在本身的内涵上。 参考经典的英语填词游戏Crossword(纵横字谜)的游戏状况就能发现:玩法简单但是内容千变 万化且有很强的趣味性的游戏一样可以给玩家带来丰富的体验。作者开发的“移九宫”与“猜单 词”只是起一个抛砖引玉的作用,希望能将Web2.0 的思想完全融入到游戏中。 提出了一种新的理念:“用户就是开发者,开发者就是用户。”用户可以参与插件的开发,以增强平台的应用体验,更好地利用了平台的扩展性; 提出了以插件为基本元素的功能组织形式;用户可以自己编写喜欢的插件进行二度开发;“绿色”安装,不对系统的注册表信息作更改; “网络型”插件通过高效的服务器端整合内容后发送至客户端的方式,将网络流量减小,节省时间,节省资费;同时,内容的表现形式更加美观、丰富;“远程监控”、“股票实时行情” 等功能实用性强,使用十分便捷; 11 个性服务定制系统实现了服务内容、推送时机、推送方式的个性化,兼具各类“推送”增值服务的优点;开创了“以事件为中心”的触发式服务“推送”概念; 从功能体系到具体的个性功能,还有功能定制,用户均可以以自己喜欢的方式进行设置,强调用户的DIY,强调个性化; 个性首页定制系统使得用户能够将自己关注的信息聚合在一起,拥有更华丽的视觉效果与更完美的浏览体验; 融合Web2.0特性的在线游戏强调“寓教于乐”的游戏特性;用户能够设计自己的关卡来 和其他用户相互切磋。 展望未来——移动e城市(移动虚拟社区) 3D 虚拟社区(如美国林登实验室的 Second Life、国内的 HiPiHi 等)已经被越来越多的 人所关注,在这些3D 虚拟社区里,用户可以通过设定创建自己独特的一个虚拟形象,然后开始 在里面漫游;用户可以通过LSL(林登脚本语言)来创造自己的脚本来创造自己的商业价值。 “移动 城市”的一个基础。每个用户亲手DIY 后充满个性的“移动e 精灵”相当于为未来“移动e 城市”中的一个“居民”,而用户自己动手 编写的插件则可以作为“移动 市场”中的商品出售,其他用户可以购买,甚至可以拍卖、申请“移动e 知识产权保护”! 这样,就完成了Web2.0“自媒体”时代向更高级的“自商店”时代的飞跃! 参考文献 “PythonCookbook”, Alex Martelli, Anna Ravenscroft, David Ascher Series60 tutorial”, Jurgen Scheible ForumNokia Wiki (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |