用户界面应该基于用户的心理模型,而不能基于实现模型

—— 摘自《About Face 3:交互设计精髓》

实现模型

实现模型指的是软件产品内部实现的机制,也就是一些算法和代码。

心理模型

人们在使用产品的时候并不需要了解其中复杂机构实际运作的所有细节,因此人们创造出一种认知上的简捷的解释方式,就是用户的心理模型,这种方式虽然并不一定能够反映产品实际的内部工作机制,但对于人们与产品的交互来说已经足够用了。

表现模型

由程序员和设计师创造出来的软件都有一个行为外表,通过这个行为外表将程序的功能展现给用户,这就是表现模型。表现模型越接近于用户心理模型,用户就会感觉到程序越容易使用和理解,通常,在用户操作任务的用户心理模型不同于软件的实现模型的情况下,表现模型如果过于接近实现模型,就会严重地削弱用户学习和使用该软件的能力。

文件系统

文件系统的实现模型和所有用户对于文件系统的心理模型相反,大多数用户将电子文档想象成真实世界中印刷出来的文档,并且完全被这些真实对象的行为特征所迷惑,用最简单的术语说,用户想象只存在一个文档,文件系统实现模型违反了这个规则,每一个数据文件、文档,甚至应用软件,在由计算机使用时都同时存在于两个位置,即硬盘和内存,然而,用户将其文档想象成书架上的书,比如,用户偶尔从书架上拿下一本杂志,将某些内容添加在其中,只有一本杂志,或者在书架上,或者在用户的手中,在计算机中,硬盘相当于书架,内存相当于编辑发生的位置,等价于用户的手,但在计算机世界中,杂志没有从书架上拿下,相反,它复制了一份,该复制驻留在计算机内存中,当用户修改文档时,他实际上是在修改内存中的文档,而原始的复制没有修改,当用户完成对文档的修改并且关闭文档时,程序面临两种选择,是用内存中的复制取代硬盘上的原始复制,还是放弃修改的复制?从程序员的角度看,存在着同样的可能性,两种选择都可以,从软件的实现模型的角度看,两种选择都可以,然而从用户的角度看,根本没有什么决定可做,他做出修改,接着放好文档,如果这种情形发生在物理世界的纸质杂志上,用户从书架上拿下书,用铅笔加上一些内容,然后放回书架,而上面的情况仿佛书架突然开口说话,问他是否真的想保留这些修改。

我们可以展现统一的存储模型,而不是分叉的磁盘和内存的实现模型,如自动保存文档,用户修改文件内容就保存到磁盘中,用户就会感觉到只存在一个文档,Mac OS X Lion 实现了自动保存功能。

操作系统能不能不带文件系统。

就拿电子邮件来说,现在就有一种很好的方法来找到它。用户根本不用在自己的文件系统中保存电子邮件。电子邮件应用可以很好地管理电子邮件。以 iTunes 为例,iTunes 就是一项突破,用户不用在文件系统中保存音乐文件,这听起来有点疯狂。用户可以在专门的应用中保存音乐文件,并能以不同的方法找到这些文件。同样,对于照片文件来说,也有专门管理照片的应用。这些应用自己管理着它们的文件存储。最终,文件系统管理只是一项应用程序,用户不必使用它。

—— 乔布斯老爷子在 2005 年的 D3 数字大会上的发言

苹果公司在呈现 iPhone 上运行的 iOS 系统时,很成功地隐藏了文件系统,用户在使用 iPhone 应用时,只用关心自己要完成的任务,不必关心写完备忘录还要保存到那个文件夹。