您可以阅读我其他的发明创想:
卡车紧急刹车加强系统(发明畅想)
空中投影在汽车上的应用(发明畅想)
使用遥控器控制汽车,实现高难度的泊车(发明畅想)
取款机钱箱没有钱提示(发明畅想)
微型电动轿车(发明畅想)
智能电视的设想(发明畅想)
压缩空气动力自行车
今天我们谈谈我设想的未来计算机体验的模式。
现状与不足
我们现在的用户体验模式中有很多种模式,这里我们将介绍常见的模式。
第一种是最常见的:安装模式,Windows、Office或者AutoCAD等等非常多的软件是此模式,用户需要事先安装这些软件,然后你就可以使用他了,觉得不爽可以卸载掉他,一切皆在你的控制之下(你的电脑也在软件的一切控制之下)。
好处是可以利用现有的所有资源,程序员可以使用任何类库、任何开发语言、任何平台提供的现有支持、任何用户的设备以及等等等等。这个好处也就成了坏处,安全就是一个问题,当然,安装麻烦,DLL混乱我就不提了。
第二种是容器解释器模式,浏览器就是典型,为解决安全问题,这种模式试图使用这样的思路:一切皆在我的控制下。不管是HTML的解释器还是脚本引擎,都是这个概念。安装问题采用页面的概念将功能打散,用到什么下载什么,这样就不必事先将所有的程序下载到客户端。
现在的Flex和.net的富客户端其实也是这个模式,当然他稍微进步了一步,flex本质没有变,使用更复杂的描述语言+脚本,这样做也有好处,按需加载原生支持很很好,.net的富客户端做法像第一种又像第二种,像第一种是因为他是作为一个独立的Application运行的,像第二种是因为他虽然不是解释型,但引导部分也是“一切皆在掌控之中”。
好处是安全,无需实现安装。
解释器模式的好处是安全方面理论上是无懈可击的,之所以是理论上,主要是该死的诸如缓冲区渗出问题造成早期的安全漏洞,这个问题现在基本修完了,而且通过沙箱模型也基本可以根治了。但是另外一个到现在也很难解决的问题是:功能不足的问题,解释器模型终究是在一个限定的语义下,很多应用无法满足,比如需要视频、实时通讯或者3D画面等,怎么办?IE等浏览器就必须使用ActiveX或插件的模型来解决,但是....但是,短板现象,再安全的浏览器,有一个不安全的插件就死翘翘,而用户在看见安全提示时,几乎清一色的点击”是的,我信任这个控件“。你总不能指望用户都是计算机专家吧。
第三种模式是终端模式,你平时看见银行的一些老系统,就是字符终端,Windows从2000开始就内置图形终端了。但很遗憾,很多普通用户都没有听说过,更没有使用过这种模式。我想我可以推导出这种模式比较失败吗?希望不是。
终端模式使用完全不同的思路,终端模式的程序在服务端运行,客户端仅仅显示远端传输过来的画面。所以就根本没有安装的问题,程序在服务器上也以为着安全问题也根本不存在。另外,第一和第二种模式本质上是程序跑在用户的机器上,所以需要消耗客户端的资源。现代程序应用越来越复杂,CPU、内存还有显卡不断的要升级。而终端模式在服务端运行,所以不管应用复杂到什么程度,客户端永远只需要很少硬件,永远不用升级。
哇哉!这么好的东西啊,可是……既然这么好,为什么大家基本上没有看见他的应用呢?一定有“不可告人”的缺点吧?
缺点吗…..我想想。
早期的图形终端颜色不多,就是图像不鲜艳,这个早解决了,不算;
以前都是“猫”,带宽不够,现在怎么说也是ADSL了,应该也不是问题了;
以前本地的打印机在这种模式下不方便,要服务器上安装驱动程序。但是现在Vista已经有了用户模式的驱动概念,应该可以自己装了。vista还支持智能卡、串口、硬盘、可重定向设备。问题不大。但是我担心其他的设备,比如我的摄像头、电视卡等,我的声卡是六声道的,应该也不能支持。这算是个问题;
连接上,好像还有点繁琐,现在的终端服务器连接时除了必要的服务器地址外,还要键入用户名和密码,进入时还有一个登录时的等待时间,当我不想用时还要注销。
还有什么呢?嗯,信息的交换和存储有问题,我如果想将我的很多照片发表出去给所有人看,在终端模式下我该怎么办?回归Web的发布模式吗?在或者,我在一个提供ERP软件的终端服务器下导出一个Excel文件,我该怎么样拿到一个提供Excel软件的另外一台服务器上查看呢?好像没有简单的方法。
此模式在编程上也有一些问题,web程序师无状态连接,比较容易实现负载平衡,甚至现在的云计算。但是终端模式任然是有状态的连接,服务器负载不能很好的均衡。其次,目前的终端应用程序编程模型任然是基于单用户的,没有诸如ASP.NET这样的系统原生支持多人使用的方式,开发巨大用户量的程序不是很方便;
如果站在wintel联盟的角度上来说,他们可不喜欢这个东西。都不升级计算机了,他们还挣什么啊!我想这可能才是终端模式一直无法推动和改进的本质原因吧。
终端模式二代的体验
既然是叫“终端二代”,那么我设想的未来体验,一定是从终端模式下演变过来的。根据现在终端模式的问题,结合当前流行的B/S模式和软件即服务模式,于是诞生了“终端二代”。
怎么画面跟现在的Vista一样呢?是的,要的就是这个效果。
用户打开电脑电源,电脑以最快的速度引导出一个登录画面(微型的操作系统,负责网络的连接和终端画面的连接),用户键入用户名和密码(之前已经设定了桌面接入商),现在立即出现“桌面”。
这个时候你可以打开一个“终端浏览器”,像现在浏览器那样,键入tel.ea.com并回车,”终端浏览器“就立即显示EA的画面,看见一个好的试玩游戏,点击,马上开战!当然,玩的不爽了,叉叉,关闭”终端浏览器“就OK了。
当然,你也可以点击“快速启动”工具栏的”WPS“按钮,它是你经常使用的文字处理软件,所以你收藏在这里了。桌面出现WPS软件,它的画面来自另外一个软件服务提供商,当然他长的更像一个普通的软件,没有上面的地址栏。
至于你平时习惯的任务栏还有吗?当然我现在应该叫他窗口管理器了,事实上,所有的窗口不管是在你本地还是在你的桌面提供商,都没有对应的“进程”,他们只是一个个映射的画面窗口,你需要的是管理打开的一个个画面而已。
关于数据存储
那么我如何保存我编写的文章呢?存在金山(WPS软件的提供商)的服务器上吗?我不想,我更希望文件都存储在统一的地方。其实我不喜欢当前Web的模式,我的Email放在hotmail的服务器,然后照片放在Google的服务器,还好他们是大公司,不然我天天担心我的数据什么时候会丢失,我更希望我的所有数据放在一个我信赖的地方,我能够像本地文件系统一样可以随意备份到光盘就最好了。
OK,那我怎么操作呢?当我点击”保存“按钮时,系统弹出模式的保存对话框(基于安全原因,此功能是终端微型操作系统内置提供的,有点像现在Vista的权限提升对话框),用户选择自己的文件服务器和路径,这样就授权WPS系统一个文件服务器的文件写入权限了。
关于开发模式的影响
作为软件开发商来说,终端二代将带来真正可运作的”软件即服务“模式,特别是对于能够提供大型复杂应用的供应商来说是件非常利好的,例如能够提供逼真3D效果的游戏供应商,提供一整套企业运作软件的提供商。
在编程模型上,终端二代由于运行在服务器端,所以可以充分共享资源,例如在一个超级大的3D场景下所有的材质数据只用加载一份就可以了。再利用云计算的一些技术,相信可以提供更快、更好的应用出来。
文章版权所有,转载请标注来自tansm.cnblogs.com