Software in HCI
软件工程08(2)班 LTJ(200830634295)
每次开始接触一门新的学科,老师总要开始介绍有关这门学科的历史。在软件学院快三年的经验告诉自己,只要是围绕计算机展开的学科,它的历史总是随着计算机的历史展开的。不管是操作系统,或是编译原理,或是智能人机交互,它们的发展都离不开计算机的发展。
这就好像是一个配对的过程。有什么样的计算机,就会有相应学科发展的产物。似乎总应该有一种新计算机的出现,才会有相应学科发展的里程碑。身为软件学院的学生,我常常问自己一个问题,软件在这些学科历史发展过程中的位置在哪里?我常常努力寻找历史中软件的身影,我希望看到软件在这些学科发展中独特的历史地位。
计算机究竟是什么?计算机应该是软件与硬件的结合体。我想这个答案应该已经得到了广泛的认可。如今计算机之所以能够在当代人们生活中拥有如此广泛和深刻的影响,正是因为有了软件和硬件的完美配合。智能人机交互,一个看似很新的学科,其实也是从ENIAC开始的,也是在计算机软件和硬件的逐步配合逐步发展的历史中,不断得到突破,不断创造了属于自己的历史。
有人曾用一句话概括了人机交互的历史:人机交互的发展历史,是从人适应计算机到计算机不断地适应人的发展史。很喜欢这句话精炼的表达。作为创造计算机的人,必定应该在人机二者的地位中占据中心位置。人之所以一开始强迫自己适应巨大笨拙的ENIAC,是因为人类清楚自己总有一天会让计算机主动地适应自己,人类就是有这么样的自信。让我们来回顾一下人机交互历史中最著名的也是应用最广泛的发明:鼠标。
之所以选择鼠标作为我们讨论的对象,是因为鼠标和另外一种软件上的人机交互产物密切相关,那就是GUI(Graphical User Interface)。在人机交互历史中,到底是先有了软件系统中GUI的突破,还是先有了硬件系统中鼠标的发明呢?显然,身为软件学院的学生,自己更加愿意倾向于前者。但历史告诉我,鼠标的发明比GUI的出现至少早了快十年(1973年4月, Xerox推出世界上第一部采用图形界面、可操作的Alto电脑)。鼠标的发明者道格·恩格尔巴特(Doug Engelbart)是一个富有远见的人,尽管他在发明鼠标后并没有立即为鼠标找到合适的应用场合,但是他深信鼠标会在今后的计算机舞台上大展拳脚,于是他为鼠标申请了专利。他的奇思妙想与远见卓识让人钦佩。1964年,也许还有很多人不知道鼠标是什么,甚至也许还有很多人觉得鼠标是一个无聊的发明,但是历史最后还是证明了鼠标存在的意义,或者应该说历史最后还是出现了GUI。没有GUI,鼠标也许只能停留在实验室,这就是软件与硬件配合后的神奇效果。
可是为什么最先出现的是鼠标而不是GUI呢?既然没有GUI的鼠标几乎没有舞台,为什么会造成了鼠标早于GUI出现的结果呢?难道只因为道格·恩格尔巴特那超乎常人的远见吗?历史给我的感觉总是如此,总是硬件带出了软件,即使这些硬件在没有软件的情况下几乎没有舞台。我想,这也许与人们早已习惯了的从实实在在的实物出发进行思考的思维逻辑有关吧。人们总喜欢从硬件开始思考我们需要什么,而往往忽略了计算机中同样重要的软件部分。“人机交互”中的计算机不单单指的是硬件,同样也有软件的部分。我们在思考人机交互的发展趋势时,是不是也应该多考虑软件的部分呢?
纵观如今人机交互的最新成果,似乎总在围绕着硬件展开。无论是虚拟现实(VR, Virtual Reality)中的各种输入输出设备,还是普适计算(UbiquitousComputing)中丰富的小型计算设备,大家关注的总是新的硬件产出。在最新提出的多通道交互(Multi2ModalInteraction ,MMI)中,我几乎看不到关于该概念软件支持的部分。在关于增强现实(AR,Augmented Reality)的展望中,我看到的也仅仅是各种各样的诸如MIT Wearable的硬件实体。除了GUI,我在历史中几乎找不到关于软件在人机交互上突破的浓墨重彩。
人们总是在惊叹如此硬件设备是多么的神奇,却往往忘记了背后的软件支持。人机交互的历史从来不缺少软件的身影,只是人们陶醉在了形形色色的硬件发明上,而忘记了同样神奇的软件。
作为一个软件学院的本科生,这是自己很不愿看到的。也许有人会觉得软件的发展必须依赖于硬件的发展。我们不得不承认这有一定的道理,可是谁说这是“必须”的呢?我们是不是应该学着抛开硬件的束缚,学着多从软件上思考问题呢?在人机交互未来的发展上,太多的人想到的是诸如Digital Desk的硬件突破,而太少有人思考在软件上寻求更好的人机交互方法。GUI是软件在人机交互上重大的突破,GUI的出现并没有依赖某件硬件产品,它是完完全全从用户角度出发,站在软件实现平台上的创造。而相反的是,鼠标的广泛应用确确实实依赖了GUI的出现。
计算机之所以可以从科研机构、军事基地中来到我们的生活,就是因为有了软件这个神奇的发明。软件使得计算机单纯的计算能力转换成了解决我们生活问题的能力。单纯的没有软件的计算机确确实实只能用于计算,而有了各种软件包装的计算机才能够真正流行起来。可以说,是软件赋予了计算机更强大的生命力。如果单从功能上说,半个世纪以来,计算机(computer)的功能从没有得到过任何提升。一台只能计算的计算机,不管它运行得有多快,它的存储空间有多大,他也只能停留在实验室、在科研中心。一直在为计算机的普及做出贡献的是软件。与其说软件的发展需要依赖硬件的发展,我们不如换一个说法,硬件的前进需要软件给予动力。
这么看来,人与计算机真正沟通的桥梁在于软件。
计算机能够流行起来,真正的原因在于软件与硬件在人机交互上完美的配合。历史没有选择发明办公机、音乐机、购物机等各种各样的“机”(纯硬件设备,或附带极少软件),而是选择了让软件在已有计算机上做出再创造。“再创造”正是软件的魅力所在。换言之,如今流行的各种各样的人机交互新硬件产品,他未必就能够达到软件“再创造”的效果。
我们需要的机器不在多,而在于它的功能强大。
当然,硬件在人机交互上的贡献功不可没。没有传感器,哪里有现代的机器人?没有触摸屏,哪里有如今“指点江山”的便捷?一系列的例子数不胜数。作为一个软件学院的学生,我希望的是,人们在看到硬件的同时可以看到软件的存在,了解到普适计算中的TUI(Tangible User Interface)也有软件的一席之地。同时,作为一个学习软件的本科生,我觉得我们更应该从软件的角度去思考人机交互的问题。我们更应该关注的是现有硬件技术上的软件再创造。这也是我在这一门崭新的学科中所期望了解并学习到的。我们该如何进行再创造?如何架构我们的软件产品?如何用算法解决人机交互的问题?我想,这些是我们应该思考并学习的。有太多人问过我软件学院与计算机学院的区别,我想,区别就在于对同一个问题不同的思考角度吧。
我期待着下一个GUI般神话的到来!
Comments:
1. The software runs on the device, and it enhances the device. The software bridges the gap between the user and the device.
2. The hero behind the software is nothing but the mental model of the developer.
3. The mental model depicits the interaction of the user and the device, e.g. the goal, task and dialog, which is proved by the effectiveness and efficiency of the interaction.