糟糕UI设计的致命性:因特航空148号班机空难,一次惨痛教训

1992年7月20日,因特航空148号航班在接近法国斯特拉斯堡国际机场的孚日山脉坠毁。96名机组人员和乘客中有87人遇难。那么我为什么要在编程博客上写这么可怕的事故?因为事故的原因。许多因素共同导致了因特航空148号班机撞山坠毁。然而,其中一个主要原因应该引起每一位软件开发或者用户界面(UI)设计师的关注。空客A320拥有世界上最先进的驾驶舱。

(图1)

舱内飞行员所面对的大部分仪表和仪器都是数字化的。

当机长通过厚厚的云层看到接近跑道时,他以为已经在孚日山脉上方,设置了3.3微度的倾角平缓降落。然而,在他无意识的情况下,飞机以每分钟3300英尺的速度下降,比原本的3.3′下降速度快得多。飞机撞击山顶,爆炸了。航空事故调查员注意到这两个数字之间的相似性——飞行员本打算以3.3′的速度下降,但实际下降速度是3300英尺每分钟。

后来人们发现,空客A320使用单屏显示两种不同降落模式——垂直速度(VS)模式和飞行航径角模式(FPA)。飞行航径角用小数点分开的两个数字显示,垂直速度用两位数字显示(他们都有一个减号表示负值)。右边是一个图像显示FPA值为-2.8′ (图1)。在VS状态下没有显示图片,但从研究中你可以发现两个显示图片如此相似——几乎难以区分。

图2

这种简单的设计不当,导致了飞行员坚信他处于某种模式下,而实际处于另一种模式。虽然这不是事故发生的唯一因素,但是如果飞机的用户界面显示更加直观,这次的空难几乎可以肯定不会发生。用户界面设计不当是常见的错误类别之一,称为功能状态错误。

事实上,尽管所有在HCI学习过得人都知道模式非常糟糕,但他们仍然在现在的软件中普遍使用,一如既往的令人讨厌。不幸的是很难找到基于模式交互的替代品。左图是处于两种不同模式下的谷歌浏览器——常规模式和无痕浏览模式。这些模式之间的差别很小——窗口上从未关注区域上的一个差别很小的图片。但是这些模式的实现却非常重要。如果你关闭无痕浏览模式下的一个标签,就不能简单通过Ctrl+shift+T从关闭历史中恢复。该网页已被永久性关闭。浏览器不会记录你的登录详细,亚马逊购物车信息以及浏览历史。显然这是无痕浏览器的意义所在,但同样重要的一点事这种模式很难与常规模式区分开,除非你曾经失误关闭了不想关闭的网页。

图3

当我在完成我的大学毕业设计,一个往返式UML建模工具,遇到模式错误的问题。为了画出两个类之间的关系,用户会从右面板中选择了关系类型,然后画出关系图。但在那之后这个工具应该怎么做呢?为了方便将来使用是否应该保留?由于时间较紧,资源有限,我们没有能够进行太多的可用性测试,但据我观察,没有一个答案是正确的。这些模式非常棘手而且频繁导致错误。依我个人浅见,模态模式已破碎得无法修复。

我不确定第一个讲这个故事的人是谁,但是我想这个故事的寓意是无论何时都尽可能的避免使用模式。哦,如果你想知道,新的空客A320驾驶舱显示器使用两位数显示飞行航径角,而垂直速度时使用4位数字。这不是一个完美的解决,但相比之下要好得多。

有话要说