操作系统设计/人机交互的演变:超越 WIMP
人机交互 (HCI) 涉及人们如何与计算机交互以完成任务。在本章中,我们将探讨计算机交互是如何演变的。
霍勒瑞斯穿孔卡片基于雅卡尔提花机的概念,其中织物的图案由带孔的卡片定义,这些孔触发提花机上的提花线,改变经线位于纬线的前面还是后面。雅卡尔对蒸汽提花机所做的事情,霍勒瑞斯可以用电力来实现,从而使操作员能够在穿孔卡片机上输入文本行,并在卡片读取器中将其转换为电信号。
从 20 世纪 50 年代开始,计算机开始连接到电传打字机。电传打字机允许用户通过输入命令来执行任务,而不是使用穿孔卡片来输入指令。此后不久,被称为“终端”的基于文本的显示器取代了打印机作为通信信息的工具。如今,计算机继续模拟电传打字机,同时添加了新的功能和特性,称为命令行界面 (CLI)。
WIMP(窗口、图标、菜单和指针)是在 20 世纪 70 年代后期为 Smalltalk 发明的。从那时起,它一直在稳步地殖民现代操作系统。不幸的是,几乎所有 WIMP 的实现都是不完整的变体,没有 CLI 的全部可编程能力。一些可以轻松添加到 WIMP 的简单 CLI 概念包括管道、脚本和图形位置历史记录。如果这些都包含在内,CLI 就可以消失了。[需要引用]
尽管 WIMP 已经衰败,但自 1980 年以来,主流 OS 的 HCI 并没有取得任何有意义的进步。[需要引用] 几十年来的停滞不前,期间只有虚拟桌面和上下文菜单等微小的创新。最新出现在市场上的微不足道的事情是图标逐渐被对象缩略图取代。幸运的是,尽管主流 OS 设计师的能力低下,[需要引用] 但 HCI 领域的研究仍然以蜗牛般的速度前进。
硬件已经存在,可以随时使用,但操作系统没有充分利用它。语音识别是 HCI 中最未充分利用的机会。
语音识别存在许多问题。许多环境都很吵闹,导致识别不准确,因此很危险。不断使用语音识别会导致人们失声。语音识别存在隐私和烦扰问题。想象一下,当你试图集中精力工作时,听到你的老板说“打开个人文件。将‘农场色情’复制到 CD-ROM 上。删除‘农场色情’。关闭个人文件。”
其中一些问题可以部分避免。例如,用户可能会说“将这个复制到那个”,其中这个和那个是由鼠标在那个特定时间点所指向的对象。语音过度使用的问题可以通过减少语音识别的使用来缓解,让语音成为补充输入模式而不是主要输入模式。
这个想法的起源可以追溯到最早的 MUD 程序 ADVENT,甚至可以追溯到 ELIZA,这是一种心理治疗师模拟程序,它已发展成为 ALICE 和其他自然语言处理器。语音识别软件实际上将建立在这个技术之上,尽管需要添加其他语义规则,以便与口语而不是书面语言识别一起使用。
这种类型的界面已经在“Ask Jeeves”和“WikiAnswers”等网站以及其他类似的搜索工具中实现,在这些工具中,您可以使用正常的自然语言问题来询问计算机信息,而不是使用某种结构化的查询语句,例如 SQL。这确实消除了隐私问题,但需要更先进的 AI 研究才能成功。
这个 HCI 模型的一个有趣方面是,它通常被认为是 CLI 的回归,它是命令式的。具有讽刺意味的是,正是语音识别严格地命令式,而语言处理应该是超越这种狭隘交互模型的。无论如何,自然语言交互一直是许多早期操作系统设计师甚至计算机编程语言设计师的最终目标。
这个 HCI 模型在科幻作家弗雷德里克·波尔 (Frederick Pohl) 的《星际之门》(Gateway) 系列小说中得到了部分探索,其中主人公嫁给了一位软件工程师,后者使用改进的自然语言界面进行编程。
这种方法的主要问题是,能够有效地处理大多数自然语言查询的语义信息原始数据库需要非常庞大。从某种意义上说,它比当前许多 GUI 操作系统大一个数量级。自然语言软件开发环境仍然需要具有一定的形式化结构,以避免模棱两可甚至矛盾的语义含义。编写 SQRT(SIN(X^3)/PI*7.55) 也比将函数描述为“X 的三次方正弦的平方根除以 PI 乘以 7.55 的量”更容易。即使在这里,所涉及的语义问题也会弄乱等式,但至少可以作为起点,看看自然语言编程语言将是什么样子。
任何界面都将具有默认分辨率,可能与屏幕分辨率和大小相关联。然而,相当一部分人口存在视力问题,需要更大的字符才能阅读。可缩放界面的理念是,界面不受限于默认分辨率,可以放大以增强尺寸,或缩小以获得概览。
此概念在操作系统的多屏幕实现中也很有用。能够缩小以查看多屏幕视图,然后放大以查看单屏视图,在复杂的用户环境(如工作站和建筑程序)中非常有用,您可能希望将不同的立面放置在不同的屏幕上,并在它们之间来回切换以查看更改对其他立面的影响。
尽管有潜力,3D 除非用于非常专业的生物化学家 HCI,否则从未被用作超过噱头的任何东西。存在一些阻碍此界面概念的问题,包括缺乏针对 3D 环境的强大模型,例如 2D 环境中的桌面模型。大多数 3D 环境只是此桌面模型的扩展,并且具有明显的“噱头”质量,无法证明提供此类环境所需的增加计算资源是合理的。
很少有真正的 3D 设备可以由计算机实时操作,这也限制了这个方向。虽然您可以获得电影中看到的真实 3D 全息图,但这些显示系统在某些情况下需要花费数百万美元才能设置和部署,并且目前非常脆弱,容易发生故障。主要用于军事以及可以证明成本的场所(例如迪士尼乐园),即使在这些场所,它们也只是一个演示设备,具有非常有限的实际用途,只暗示了它们最终可能会成为什么。对于大多数使用 3D 设备环境的人来说,它几乎总是位于普通的 2D 计算机屏幕上,有时被称为 2.5D,以承认它不仅仅是纯粹的二维显示,但还没有达到完整的第三维度。
一个似乎引起了相当多兴趣的著名模型最初在尼尔·斯蒂芬森的《雪崩》一书中进行了描述。虽然这本书涵盖了很多内容,“元宇宙”是一个多用户 3D 环境,它使用头像通过虚拟现实环境进行社交互动。这本书催生了 VRML 的发展,它借鉴了更早的 3D 渲染格式。
也许值得注意的是,一个名为阿尔法世界的虚拟世界在 1990 年代中期迎来了巨大的流行,但经济问题困扰着托管运行所有后台信息的服务器的公司。阿尔法世界承认其源自元宇宙,包括它对头像的使用以及出现在阿尔法世界中的一些环境,包括最初在《雪崩》中描述的一些建筑。阿尔法世界的一个显著特点是,用户可以“认领”房地产并在世界中建造功能和地标,在某些情况下拒绝他们不喜欢用户的访问权限。从远处看,绘制出各种用户项目的布局,阿尔法世界的外观与世界各地现代城市的城市蔓延非常相似。阿尔法世界技术上仍在开发中,但最初创建它的开发团队早已离开,软件所有权已多次易手。
从用户角度来看,3D 技术最有可能的使用是在元宇宙之类的虚拟世界中,或是在《无尽的任务》或《魔兽世界》之类的多人在线角色扮演游戏中。虽然可以通过此类环境直接操作计算机数据,但似乎没有令人信服的兴趣开发一个必须以这种性质开发软件的编译器。
直接操控是本·施奈德曼在 1983 年创造的一个术语,涵盖了界面应该反映正常体验的想法,以便用户直观地理解界面。他对 GUI 的设计感兴趣,但这个术语已经扩展到指任何旨在比 WIMP GUI 更直观的界面。这种类型接口的实现方式有很多,由于这种多样性,它包含了大量的子主题。其他主题包括界面应该向用户提供反馈,就像真实事物一样,例如方向盘应该在快速转弯时抵抗用户,刹车踏板应该指示刹车是否锁死,或像现实一样以防抱死装置的节奏跳动。另一个想法是,您应该使用球杆来进行高尔夫球或网球,而不是鼠标或操纵杆,Wii 游戏盒引入了这种系统。另一个例子是手机中的加速度计,它允许用户通过倾斜手机来控制游戏。
人们喜欢定制他们的计算机系统。正如在其他计算机上工作的技术人员可以证明的那样,有时很难在过度定制的计算机中找到自己的方位。熟悉的程序可以呈现出新的、令人困惑的特征,结果是,当您第一次坐在别人的计算机前时,您可能无法认出它们。
允许用户随意放置图形组件,为用户提供了意外更改图形组件放置位置的机会,而不知道他们是如何做到的,因此不知道如何将其更改回来。操作系统设计人员必须仔细考虑如何实现手动放置。拖放机制是为 WIMP 开发的,这是一个例子,说明这种情况如何出错。如果每个图形元素都可以移动,那么我们会得到有趣的效果,例如将工具栏从屏幕顶部拖到屏幕侧面,并将其垂直对齐而不是水平对齐。
许多用户不了解拖放技术,并且经常按住鼠标按钮,同时移动鼠标,从而拖动他们不想拖动的东西,或者相反,必须抬起鼠标以扩展其范围,并且意外地将对象放置在不能解释为有效放置位置的位置。例如,如果工具栏放置在页面下方,它应该具有什么配置?
此外,通常可以移动前景中的某个东西并影响背景中对象的放置,例如使用两个窗口,并垂直操纵它们,以便您可以拖放窗口之间,有时会弄乱 Windows 桌面上图标的放置。为了处理遮挡一个图标与另一个图标的效果,通常需要使用捕捉到网格的技术,根据网格顶点放置元素。但是,已知很长的图标名称会遮挡其他图标,这使得裁剪图标名称很有用,但会消除理解图标功能所需的信息。然后需要某种悬停机制,以便在不实际选择图标的情况下扩展完整的文件名。由于这些考虑因素,每个图形组件都应该是用户可调整的,或者必须仔细考虑调整的极端情况,以决定哪些图形元素将捕捉到网格,哪些将只接受有效位置,哪些将具有完全的灵活性以放置在用户想要的位置。
虽然这种类型的输入仍然是实验性的,并且它的标准还没有制定,但使用[1] 自组织映射在植入物和机械臂之间进行接口,表明将来有可能将指向设备管理起来,就像它是人体的一部分一样。虽然这还没有达到读心术的水平,但它可以为像截瘫患者这样无法使用普通指向设备的人提供一种接口。
- ↑ Teuvo Kohonen, 自组织映射 Springer (2001) ISBN 3540679219