操作系统走向3D桌面的深度体验编辑本段回目录
对于那些硬件性能足够强大的电脑,Windows Vista为计算机提供了一种全新的体验,而为了能产生吸引人的Aero界面,微软的旗舰操作系统也需要更高性能的硬件。但这真的就是GUI(Graphical User Interface,图形用户界面)设计的顶峰吗?
根据一些创新的研究和开发人员所说,这还远远不够。已经有一大批正式发布的产品、开源软件以及研究项目都在试图挑战微软在桌面领域的成就。
那么目前除了Vista,还有其他类似产品出现吗?更重要的是,这些产品可以满足我们目前和将来几年与计算机交互的需要吗?这些产品对我们现在的影响能否像以前鼠标对打字员的影响那样深远?
抛开这些不说,未来我们到底希望有怎样的全新用户界面?似乎有多少研究组在研究如何改进我们和计算机的交互方式,这个问题就有多少答案。有一个研究组已经找到了一种方式来取代鼠标,进而可以让我们不再使用双手,直接就能和屏幕上显示的内容进行交互。其他人则希望能够通过改进,让我们不用再进行物理上的接触。而微软自己目前的趋势是有朝一日人们使用计算机的过程就像在参观画廊。
今天色彩鲜艳、使用便利的桌面和应用程序看起来和早期的计算机已经有了翻天覆地的区别,但实际上,第一个符合我们今天的定义的GUI界面却出现在四十多年前。
二十世纪六十年代,研究人员开始考虑计算机是否可以帮助我们按照人类而非计算机的方式组织知识和概念。位于加州斯坦福研究院ARC(Augmentation Research Center,扩大研究中心)的一项计划就对今天的计算机领域产生了深远影响。
由美国的计算机科学家Douglas Engelbart发起,Online System计划(NLS)为组织和共享知识开发了一种计算机协作系统。这个系统最先使用了早期的三键鼠标(由Engelbart发明),这套系统就以在显示控制台上显示基本的窗口系统为特色,而且为了在项目之间导航,这套系统还带有超文本系统(1968 NLS演示视频可以在http://tinyurl.com/9km7在线观看)。
也许更有远见的地方在于,这套系统使用了一套叫做Journal的协作软件。这个软件是由研究员David Evans为他的斯坦福大学博士论文编写的,1970年初被加入了NLS。Journal的功能被认为是今天的Wiki软件的雏形(Wiki是一种协作系统,由Wikipedia开发,详见www.wikipedia.org)。
二十世纪七十年代早期,因为债务问题,该项目的关键人物离开ARC,加入了施乐的帕洛阿尔托研究中心(Palo Alto Research Center,PARC)。正在这时,GUI借着加州的阳光正式起飞,PARC成为今天很多计算机技术的诞生地。位映像图(Bitmapped graphic)、窗口、图标、鼠标,以及指向和点击操作,都是1973年在施乐的Alto计算机上诞生的。
主要由项目领导Chuck Thacker开发的Alto体积约等于一个小型的冰箱,最大支持512KB内存和2.5MB硬盘。奇怪的是,Alto的图像显示模式是纵向的,而不是我们后来常用的横向。
支持鼠标和GUI,Xerox Alto引发了计算领域的一场革命,但高达100000美元的售价则是它的失败之处。(上) |
我们期待的所有特性都在这里得到了体现,Xerox PARC Star影响了Apple的Lisa计算机。(下) |
众所周知,鼠标对Alto用户具有很大的吸引力,尤其是这台机器还具有窗口环境。使用位图显示方式还使得这台机器可以运行第一套桌面出版系统。唯一的问题在于100000美元的售价。
1981年,PARC发布了Star,一种普及型的Alto计算机。这时的GUI模拟出了办公环境的常见对象。这样,用户就可以看到文件夹和文件。删除一个文档只需要把这个文档移动到屏幕上的垃圾箱中,点击一个文档则可以打开相应的程序,这样人们就不用考虑这种类型的文档到底要用哪个软件来打开。
Star的设计者还使用过对象穿越(objects throughout)的概念。例如,在电子表格程序中创建的图表对象可以被包含在另外一个报告文档中。这台计算机还使用了PARC设计的以太网络系统。不过同样,唯一的问题还是售价,高达16000美元的售价意味着为一个繁忙的办公室买两三台这样的计算机的代价还显得有些高。
基于Xerox PARC的成果,1983年发布的Apple Lisa的GUI曾引起轰动。(上) |
因为有易于使用的GUI和大量应用程序,Apple Mac把生产力软件带给了非计算机用户。(下) |
Apple公司很快意识到Star计算机的功能中包含的市场潜力,但这有一个前提就是售价不能太高。1983年发布的Apple Lisa是第一台使用了GUI和鼠标的低成本(9995美元)商业台式机。
虽然在商业上完全失败了,不过Lisa让所有人都能够使用电脑,而且也见证了它的继任者,1984年发布的,售价2495美元的Macintosh计算机的成功。
差不多在同一时间,很多Unix社区也开始考虑GUI。因为有极端强大但也异常复杂的命令行用户界面,Unix曾是程序员的梦想,但却是最终用户的梦魇。Unix需要GUI。
最初于1984年诞生在麻省理工(MIT)的X Windows则包含了一些更灵活的功能,这些功能可以被看作今天Unix以及Linux桌面的基础。X Windows本身并不是GUI,而只是一个服务工具包,帮助其他程序创建用户界面和桌面环境。这种灵活性导致了相关图形界面的多样化,而且还促成了我们会在下文介绍的和其他界面技术和平共处的高级用户界面。但是这是怎么做到的?
1985年经过广泛的宣传后,微软的Windows 1.0取代了其前辈DOS,成为一个具有友好图形界面的前端操作系统,给了PC用户和Mac用户一样的计算机使用乐趣。1987年12月Windows 2.0的发布巩固了微软在桌面操作系统方面的地位。随后,Windows 3.11于1990年发布,该系统的界面经过修改,而且第一次支持网络存储。
多任务操作系统Windows 95的发布证明,至少在PC平台上,微软是唯一的胜利者。在发布了Windows 98后,这家公司在四天内就卖出了一百万份拷贝。自那时起,从前端到操作系统的转变在Windows 2000发布后彻底完成了,随后微软还发布了Windows XP以及现在的Vista。
虽然人们普遍认为最早的鼠标是1963年由加州斯坦福研究院的Douglas Engelbart发明的,不过二十世纪四五十年代就有可以真正使用的鼠标了。二战后,雷达和计算机技术发展迅速,而且很快这两方面就紧密联系在了一起。工程师需要一种在雷达屏幕上快速简便选中对象,而且易于计算机理解的方法。
虽然看起来很原始,但是Engelbart的第一个鼠标引发了一场革命。 |
为了解决这个问题,加拿大电子公司Ferranti Canada的两位研究员Tom Cranston和Fred Longstaff发明了轨迹球,这种装置实际上是一个小球放置在两个排列成一定角度的转轮上。每个转轮上有小孔,由光线照着,转轮转动引起光线的变化,根据小球在X和Y轴上的转动变化,光线被转换成电脉冲。
Engelbart也曾尝试过用转轮传递代表鼠标在X和Y轴上的位置信息数据,不过用一个小球取代了转轮,这样鼠标就可以在桌面这样有表面的物体上使用了。
直到二十世纪七十年代早期,轨迹球和代表位置变化的转轮才一起出现在滚轮鼠标中,这种鼠标是施乐PARC的Bill English发明的,被用在比较有影响力的Xerox Alto和Star计算机中,和第一代GUI配合使用,这时鼠标才得到了真正的应用。
鼠标方面最大的改进还是对移动的感觉。其中光学鼠标是最受欢迎的,不过这种鼠标真正在技术上的实现还是在1980年。在早期的型号,尤其是Mouse Systems Corporation发布的产品中,曾经使用过一种特殊的鼠标垫,可以反射红外光到鼠标内部的接收器中,并将鼠标的移动数据对应到坐标系中。因为有了嵌入式处理器,因此这种方式的处理速度更快。
后来的鼠标几乎可以工作在任何表面上,并将移动方向转变成数据。而现代的光学鼠标则是通过对工作表面拍摄快照的方式处理鼠标的移动信息。
微软的新操作系统宣称具有最好的图形效果,但对硬件的要求也很高。 |
Vista是一个强大,对硬件性能要求高的操作系统,要求计算机至少有1GHz主频的处理器以及1GB内存。同时该操作系统还要求有支持DirectX 9的显卡,并且最少有128MB显存。这个操作系统的安装本身需要40GB硬盘空间,另外还需要额外的15GB空间来运行。
尽管如此,Vista提供的Aero用户界面也是一次趋势的重大转变,它为我们提供了感受名为桌面窗口管理器(Desktop Window Manager,DWM)能力的一个机会。
因为不再需要将自己的输出内容绘制到单屏幕缓冲区,因此当应用程序发出调用让子系统绘制它的界面时,输出内容会自动发送给一系列专用缓冲区(private buffers)之一,每个程序都有一个这样的专用缓冲区。然后DWM把这些需要绘制的内容组合起来,并在屏幕上显示出用户最终看到的内容。
如果需要在屏幕上移动应用程序的窗口,只需要DWM重绘该程序专用缓冲区中的内容,然后发送到显卡缓存中就可以了,不再需要每个被影响到的程序都重绘自己的界面,而且只要系统当前不是很繁忙,移动窗口的时候通常都不会在窗口四周留下难看的拖影。因为DWM控制了相对独立的视频缓冲区,因此还可以生成以往应用程序自己直接生成窗口时难于实现的一些特殊效果。
例如,DWM可以轻松地给界面应用透明效果。让多个具有透明效果的窗口堆叠在桌面上,原本需要每个应用程序单独计算并生成对应窗口的透明效果,但有了DWM后,这个计算只要进行一次,然后根据专用缓冲区的全部内容来生成即可。
这种更加高效的方式能够让处理器用于产生其他更高质量的效果。例如,Vista中窗口上表现出来的Aero Glass效果就能表现出一种很明显的半透明质感。该功能可以表现出被表层像素覆盖的内容,就好像光线透过前端的玻璃照射到后面的窗口一样。很多层窗口重叠在一起之后还能表现出柔化的效果,这让整个屏幕更真实,更立体。
因为这时候应用程序都会将自己的图形输出内容发送到专用缓冲区,因此DWM就可以通过多种方式转换并使用这些数据。例如,DWM可以翻转窗口,或者重设窗口大小,甚至还可以用立体的方式堆叠显示所有窗口。为每个应用程序使用各自独立的视频缓冲区的另外一个好处是DWM可以缩放缓冲区的内容,而这一特性也具有很多功能。
例如,高分辨率显示器用户有时候会觉得,因为屏幕的分辨率太大,所以应用程序的界面看起来有些小。DWM则可以自动缩放窗口以及窗口中内容的大小,以符合屏幕的面积,而不是像以前那样仅仅增大屏幕上元素之间的间距。
缩放的另一个用途是,为每一个运行的程序在任务栏上显示一个缩略图。这样用户就可以直接看到每个窗口中当前的内容,而不用每一次先把程序的窗口最大化。缩略图还可以实时更新,因为应用程序会实时更新自己的缓冲区,例如Windows Media Player虽然可以最小化,但是依然在播放视频,而这时我们就可以通过任务栏的缩略图按钮看到播放的视频内容。
Windows Vista中DirectX的版本也升级到了10,这也是使用高性能显卡的另一个原因(关于DirectX 10的详细信息,请参考《个人电脑》2007年5期174页)。DirectX不再评估你的显卡性能,然后根据评估结果表现出相应的功能。相反,它会直接假设你的显卡可以支持自己的全部特性。
DirectX 10的一项有用功能是硬件虚拟化(hardware virtualization)技术的应用。这个功能的使用使得不同应用程序使用显卡的时候都感觉到只有自己在使用这块显卡。这意味着,一些程序,例如流媒体视频程序“认为”自己可以对显卡进行独占访问,以满足自己的需要。虽然Windows Vista有如此多的创新功能,对于大部分人来说,Aero只是一批研究项目之一,而这个项目也已经投入了实际应用,并承诺可以给我们使用计算机的方式带来一场革命。
Atari ST的用户感觉更熟悉,GEM挑战过微软的Windows,至少是在Amstrad PC平台上。 |
GEM由Digital Research公司的Lee Lorenzen领导的开发小组开发,可能是当时受欢迎的Atari ST家用计算机上最常见的GUI界面。另外,GEM还是IBM兼容计算机上的第一个GUI,捆绑在低端的Amstrad 1512上销售。GEM首次公开是在1983年秋季的Comdex展会上,不过Digital Research不相信GUI有多大市场,因此展会上对该产品的推广也不是很努力。
更糟糕的是,Gem和Mac桌面有一些莫名其妙的相似性,而Apple也因为该系统的外观和体验控告了Digital Research。Digital Research无奈只能更换GEM的组成元素,包括同一时间只允许最多两个窗口出现在桌面上。
不过至少在Atari ST上,Gem的开发一直持续到二十世纪九十年代早期,但是在PC平台上,由于Digital Research眼光的短浅最终促成了微软的成功。
Sun已经完全放弃了传统的,平面的桌面,转而使用一种真正的3D空间,就连墙纸也是空间的3D照片。随着视角拉近或者停留,背景的墙纸也会有相应的变化,就像一张3D照片,因此你可以随意改变自己的位置,例如停留在大峡谷欣赏日落,或者在星系之间查看自己感兴趣的行星。
这就是3D环境,如果你打开了窗口也不必着急,开发人员的努力让你可以不仅可以把窗口移动到屏幕边缘,还可以把窗口推到远方或者拉向你。
和微软的Aero界面类似,在Looking Glass项目中,你也可以调整窗口的透明度。而且可以做的还有更多:你可以让指针移向被覆盖的窗口后面,让前端放置的窗口透明显示,这样你就可以看到被覆盖的内容了。
Looking Glass项目的创新并不仅仅体现在用户界面上。假设你想要给某人写一个便条,内容是有关你将要用邮件发出的一个文档,只要直接打开这个文档,然后翻转窗口显示后面被覆盖的内容,这时候你就可以看到另外一个电子记事本,在那里你可以写你的便条。
Looking Glass项目目前是开源的,而且可以用于Solaris x86以及Linux上。为了吸引开发人员,该项目还有一个3D的应用程序开发环境。
除了Windows Vista,SphereXP为我们提供了另一种选择。(上) |
借助XGL,Linux用户也可以享受3D工作空间。(下) |
安装这个软件后,桌面就变成了一个巨大的球体,窗口和图标都放置在球体内部。你的位置就好像坐在球心处,可以上下左右转动这个球体。如果你的屏幕很杂乱,还可以把应用程序窗口推向一边,还可以推着它们在球体上转,这样在三维视角上这些窗口就离开我们的视野了。你可以旋转或翻转窗口,并将窗口放到你希望的位置。双击一个应用程序后,这个程序的窗口就会跳到我们面前。当你处理完一个窗口的内容后,只要按下Ctrl-W,这个窗口就会重新变为SphereXP界面上的一个对象。
SphereXP中每个应用程序的图案实际上是可缩放的屏幕截图,这个截图是在你按下特定组合热键的时候截取的。听上去这和Windows Aero相比有些原始,但该功能所需的内存和处理器资源都要少很多。一个最基本的具有64MB显存的3D显卡以及256MB内存就足够了,同时还需要有.Net framework 2.0。
这样Linux用户就可以用到一些独一无二的功能和交互方式。例如,哪怕屏幕的分辨率很高,桌面也有可能变得很杂乱。为了解决这个问题,XGL可以让用户将窗口滑动到屏幕边缘之外。然后你还可以旋转整个桌面,整个桌面类似一个立方体。这样被推到屏幕外面的窗口就会出现在立方体上相邻的面上。用这种方式,整个桌面就变成了一个漫长并且连续的长条,组成长条的每个面都是立方体的面映射来的。
如果和其他OpenGL桌面,例如Compiz配合使用,底层的XGL软件还可以应用不同的桌面风格,甚至包括一个外观和体验都类似Windows Aero界面的风格。例如透明窗口,就可以让你知道在当前程序的窗口下面正在发生什么,而不用你移动或最小化当前窗口。
很多这些创新都具有类似的方式,或者说,在不同开发者看来,3D桌面和环境都是差不多的,但不同人使用自己的方式进行了开发,但是一些研究人员觉得其中某个更好,并且开始考虑从这些改变开始,我们到底应该怎样和计算机交互。不过现在我们知道了,他们的工作现在看起来似乎比较超前,但随着时间的流逝,这其中的某些创新和设计可能变成交互的标准方式。到时候我们甚至可能会忘记了鼠标的存在。
Han的多向触控交互(Multi-touch interaction)研究已经远远超越了目前类似在售货终端的触摸屏表面上进行的简单的点击操作。他的小组已经生产出完全可以进行交互的多向触控环境,这意味着用户可以同时使用两只手甚至多个物体来操作桌面。例如对于一组照片,将一只手指放在其中一张照片上方,然后移动这只手指,这张照片也会同时移动。将食指放在照片的对角线位置的顶点,外拉手指则可以放大照片,同时内推手指可以缩小照片。在画图程序中,用多只手指在屏幕上拖动就可以画出多条不同颜色的波浪线。
Microsoft对未来的看法,其中包括具有多个桌面的虚拟空间。 |
Han的小组已经使用一种叫做受抑全内反射(Frustrated Total Internal Reflection)的技术创造出了这样的多向触控表面。两层透明丙烯酸纤维板作为表面,之间放置了互成角度的LED照明灯,这样就确保了光线不会外泄。另外,两层表面有弹性,通过触摸这个屏幕,顶层表面因为压力产生轻微的形变。形变会导致反射光线的角度发生变化,这样探测器就可以检测到用户按下了哪里导致的形变,以及导致形变的力度大小。
这项技术和用于生物扫描辨认指纹的技术有点类似,而Han的小组目前正在寻找方法判断由不同手指做出的不同动作。例如,食指按下一个按钮可以代表一次鼠标左键点击,而中指则可以代表右键点击。虽然多向触控交互电脑的家用化时间还遥遥无期,不过现在我们依然可以使用Tablet PC部分实现这个功能。
参与多伦多大学Dynamic Graphics项目的科学家Anand Agarawala和Ravin Balakrishnan正在试图把Tablet PC的功能和自己的项目Bump Top(http://honeybrown.ca/Pubs/BumpTop.html)联系在一起,并能实现用笔或者其他物体进行3D交互操作的功能。
Bump Top项目的外在表现是一个真正的桌面,甚至有些散乱,这种技术可以将信息以更加直观的方式表现给用户。例如,一串文档因为一些原因被组在一起,可以针对这一串文件进行操作。分散在桌面各处的图片和文档也可以被组在一起,并放在任何地方。Agarawala和Balakrishnan说,普通计算机提供的整洁桌面令用户失去了把所有物体(文档、文件夹等)随意放置的乐趣。
这两位老兄正在试图创建类似真正桌面的计算机桌面环境,捡起一个文件并在Bump Top的桌面上把文件扔出去,这个文件就会出现在桌面的另一端,也许还会撞进其他文件,并让其他文件产生轻微的移动。将一组文件扔到屏幕的角落,这组文件的排列就会松散很多,就像在现实世界中一样。把一个文件放在另一个上面,这些文件就会排成一串。
有一项很先进的技术,叫做Task Gallery(http://research.microsoft.com/adapt/TaskGallery),不像其他类似项目只有一个桌面,Task Gallery支持多桌面,桌面互相围绕成一个3D的环境,就好像美术馆的房间(图8)。不过这个房间的墙上挂的不是画,每个“展品”实际上都是一个桌面。从屏幕上看过去,用户可以站立、转身,甚至走到其他桌面上打开不同的应用程序。
微软使用了一些行为心理学技术来评估人们会如何使用gallery。有趣的是,研究发现,很多人觉得这是一个真正的3D环境,而没有发现这其实只是一个有意思的桌面主题。例如,他们会想起来,自己曾把一个浏览器窗口留在了左边的墙面上,而右边的墙面上有Word。
这些项目的开发需要知道这个问题的答案:“Windows Vista之后会有什么?”,不管会有什么,只要有越多的开发人员参与寻找其他交互方法,找到的可能性就越大。但是历史证明,今天的胜者明天不一定会胜利。随着开源软件的崛起,也许可用性和公众的口味有一天会变得和市场宣传以及业界地位一样有影响力。
打造自己的酷炫3D桌面 编辑本段回目录
2006年,一个有关BumpTop软件的视频曾掀起一场轰动,这个视频向我们展示了一个现实的且拥有一个新型的菜单系统的3D 桌面。历经两年半的开发,BumpTop的开发者Anand Agarawala和他的团队终于对外发布BumpTop(仅限Windows用户),最新的BumpTop添加了大量的酷炫设计
2006年,一个有关BumpTop软件的视频曾掀起一场轰动,这个视频向我们展示了一个现实的且拥有一个新型的菜单系统的3D 桌面。历经两年半的开发,BumpTop的开发者Anand Agarawala和他的团队终于对外发布BumpTop(仅限Windows用户),最新的BumpTop添加了大量的酷炫设计。
BumpTop有两个版本发行:一个有功能限制的免费版和一个全功能无限制的专业版。
下面我将和大家一道走进BumpTop:
安装
目前,BumpTop还没有中文版。笔者将从安装开始讲起。
点击安装文件,选择下一步
进入许可协议窗口,选择接受
上面的选项为创建快捷方式,下面的选项是开机启动,用户根据自己需要选择(建议不选择开机启动,这样会影响启动速度)
选择文件安装盘,下方是设置BumpTop的使用权限(任何人或自己),点击下一步就可以完成安装
BumpTop设置
1.桌面右击菜单
进入BumpTop桌面后,你可能会发现它与Windows桌面环境有一个很大的不同——桌面右击菜单(如下图)。
上部的Sticky Note(便签)选项可以在桌面创建一个新的便签,Search(搜索)项可以搜索文件,Pile by Type项可以按类型叠放文件(如下图)
如果你需要文件恢复原样,可以右击叠放的文件夹,选择Break Pile项,文件会自动散开。
2.图标右击菜单
Shrink可以缩小图标,Grow可以扩大图标,More选项中有Rename(重命名)、Reset size (重设大小)、Change Icon(自定义图标)和Filename Toggle(选择是否显示文件名)
3. BumpTop设置菜单
更改“普通”栏的整合选项
Layout布局设置中的Infinite Desktop Mode(无边桌面模式)既可以让用户充分领略3D桌面带来的乐趣,又可以让用户回归到熟悉的Windows样式。
用户可以随意拖动图标,体验BumpTop带来的空间感
如果你希望幻灯片切换快一些,时间可以调为调低(Cycle photo every)。桌面默认小工具可以不选。
建议选择Always Bump(总是碰撞)选项
选择后点击应用,你便可以在桌面上拖动图标,撞击其他图标,效果好像纸片在桌面上相互撞击
主题栏包括3个默认主题(Theme Packs), 你也可以点击Theme Packs下面的链接进入BumpTop官网下载新的主题。用户还可以自定义墙纸,从上到下的顺序为地板、前墙、左墙、右墙及后墙。Icons和Sticky分别可以设置图标和便签的字体。
下面是设置后的桌面:
笔者介绍的只是BumpTop免费版,很多其他功能只有在BumpTop专业版(付费)才能实现,下面是免费版与专业版的功能对比: