触摸屏应用面临的问题
扫描二维码
随时随地手机看文章
通常情况下,触摸屏应用部署于建筑物内,用于向现场访客提供各类资讯,与普通应用最大的区别就是:它的用户不是个人计算机的拥有者本人,而是大众,所以:不要指望他们会小心翼翼地担心机器死机,正好相反,他们常常会没有道理地乱点一气,尤其当程序响应较慢的时候,访客是没有耐心的。因此,应用程序本身必须是非常健壮的,能够经受住考验。例如:清洁工的抹布。
从咨询提供者而言,他们千方百计希望能够限制访客在授权的范围内使用——将系统桌面暴露给素不相识的人,将会是非常危险的事情,尽管善意的访客常常不过是调出纸牌程序娱乐一下(人们有在陌生环境下寻找熟悉经历的冲动,好象他乡遇见故知),事实上这种情况下,他们拥有将系统格式化的权限。
触摸屏本身就是限制访客权限的措施,没有了键盘,就不可能象使用自己的个人电脑那样随心所欲了。
大多数触摸屏应用选择 windows 作为桌面系统,对开发者而言,在 windows 系统上开发应用较容易;而对于多数访客而言,他们也更加熟悉 windows 操作习惯(它已经牢牢地占据了桌面市场)
在部署方式方式上则选择 B/S 方式,由此带来的内容维护和升级上的方便是显而易见的(比较大型的触摸屏应用需要维护数百台机器的内容)。
我们下面的讨论也局限于上述选择。
以下因素常导致触摸屏应用突破访问限制:
1. 系统启动过程中,桌面暴露给访客。——需要锁定鼠标,在应用全屏打开之前禁止任何操作
2. 右键菜单——多数右键菜单并不会考虑触摸屏应用的特殊性,在右键菜单中将诸如“打印”、“在线更新”暴露给用户是常有的事,对于个人用户而言,这是方便,对于触摸屏应用而言却是灾难。
3. 程序被强行关闭, cpu 长时间 100% 占用,访客频繁点击,这时桌面系统可能会给出提示“程序无响应,是否强制关闭?”——应用需要确保永远不会被异常关闭。
除了上述问题之外,触摸屏应用还需要解决以下问题:
1. 系统环境的设置
例如: IE 信任站点的设置、访问策略设置。禁止屏保和省电模式等等。
2. 时间同步机制
在闭馆通知时,相邻的几台触摸屏显示不一样的系统时间,带给访客的只能是困惑。
3. 程序自动更新机制
虽然内容采用了 B/S 形式,但是为了解决上述问题,在桌面安装 C/S 程序是不可避免的。而这个 C/S 程序本身也存在版本升级、更新的问题,不能想象人工维护版本升级的场面。
一个自然的解决上述问题的部署策略如下:
系统由桌面程序和服务两大部分组成,其中桌面程序部署在各个触摸屏终端,包括:
1. 定制的浏览器
采用 CHtmlView 作为 IE 的容器,并按照触摸屏应用的需要对普通的浏览器行为进行定制,包括:
全屏显示
禁止右键菜单
禁止弹出新 IE 窗口
禁止页面选中
禁止出现滚动条
禁止脚本错误对话框
禁止 3d 边框
定制的浏览器以 B/S 方式向内容服务请求并展示内容,并提供页面形式的交互。
2. 终端监控
控制:封装了 http 服务,允许以 http 方式向终端发送控制命令,例如:应急的内容切换 / 返回,显示滚动消息等。
监视:此外,允许以 http 方式请求终端的运行状态,包括:
cpu 占用率
物理内存 / 虚拟内存占用
点击数
屏幕快照
程序版本等。
环境设置:包括 :
鼠标 / 键盘 hook
屏蔽桌面、任务栏
关闭屏幕保护
关闭省电模式
设置 IE 信任站点
页面访问策略等等。
3. 程序更新
对本地文件与远程 ftp 目录文件进行时间戳比较,下载。
下面将分别叙述各个组成部分的实现要点,希望通过能够给初次接触触摸屏应用开发的朋友些许帮助。