如果要引导用户完成一个复杂而陌生的操作过程,Wizard 隐喻是非常有用的。不幸的是,不少设计者错误地将Wizard 的作用理解为使程序“易于使用”,结果却往往适得其反。
ediSys 的eZip Wizard 就是一个在界面设计中错用了Wizard 的例子。eZip 的功能是创建、修改和解压缩Zip 文件,网虫们对这些操作再熟悉不过了。Zip 压缩基本上可视作一个管理文件的过程,Zip 文件就像一个包含一个或多个文件文件夹,用户打开Zip 文件,并进行读取文件、创建文件夹、加入文件、删除文件等操作。
Wizard 的缺点在eZip 中特别明显,那就是界面由一串强制性的线性序列组成,程序开发者将此序列固化在程序里,而用户必须遵循。对于第一次使用或不常使用的用户来说,这是有帮助的。但对有经验的用户来说则令人反感。在eZip 中,这一序列表现为一串固定的问题:
What do you want to do?
What options do you want?
What name do you want to use?
其他问题
用户必须回答每个问题,才能进入程序内定的下一个步骤。用户第一次使用时,会发现这种结构很好用,但很快程序的僵化死板会令他厌烦,而频繁进行文件创建、修改操作的用户则会感到不可忍受:连简单的加入、删除文件的操作都得象受审讯一般回答一连串问题才行。
Wizard 应用于不常用的复杂流程,比如配置modem 或硬盘分区。如果使用不当,Wizard 会限制用户对程序的控制,并容易给人这样一种印象:把用户当作了傻瓜。作为用户我们当然不希望被当作傻瓜,我们会认为程序愚蠢。
以上讨论的Wizard 隐喻的基础是一个线性的问答模型。下图是CompuServer 的WinCim 程序的数据库搜索操作界面。CompuServer 是一个以关键词搜索的常用问题的数据库。如本例所示,一个简单的搜索要求用户与大量对话框交互,数目之大令人惊奇,并且用户得记住好多步之前显示的指令。
线性隐喻本质上是一个问答过程,许多用户也正如此认为。在这里,只要一个对话框就能方便地完成任务,而不需要如图所示的6 个连接起来的对话框。这清楚地表明程序员只考虑了他(她)编程的方便,而全然无视用户的感受。