丁宇 | DING Yu

未来的UI设计 2:直接操纵

前几天曾经写(主要是翻译)过一篇“未来的UI设计 1”,在那篇文章的结尾,我提到说打算写一篇关于“直接操纵”(direct manipulation)的文章,那么你现在看到的文字,就是我这两日酝酿的部分结果。

顾名思义,直接操纵就是你按照真实世界中的做法,对物体进行操纵。比如你想看看手机是不是放在抽屉里了,只要打开抽屉就知道了。这听起来好像有点奇怪,因为这不是再正常不过的事情了吗?可是你想想在电脑里,就拿AVG或RPG游戏来说,你扮演的角色要喝水的时候是不是要先用鼠标点杯子,然后在弹出的菜单中选择“喝水”?这就不是直接操纵,并且在GUI中,非直接操纵的交互太普遍了,以致大家都见怪不怪了。

直接操纵的好处很多。最大的好处就是没有或几乎没有学习成本,现实当中的做法和计算机中的没有区别,预期和结果相符;其次就是出错的可能性会大幅度降低,操作时间也会下降,因为所有的结果都是可预期的;最后,直接操纵所带来的乐趣比较大,比如玩游戏的时候。写到这儿突然想起一个绝妙的例子:Westwood的经典名作“C&C”和尚洋工作室的“血狮”。这两款游戏我就不介绍了,老玩家应该都记得,不知道的可以自己Google,我要说的是它们虽然同为战争类的RTS游戏,但操作方式却大相径庭。C&C是对直接操纵的典型应用(虽然很多方面还不是):选中一个物体-比如一辆坦克-然后点击目的地,坦克就会自动开过去;可到了血狮那里,好不容易选中了一辆坦克后(血狮程序有Bug,选东西经常选不中),你还需要在菜单中选择让它干吗-是移动还是攻击?让人哭笑不得,期待了那么久的国产游戏,拿到手后却被拙劣的操作方式搞的兴趣索然(我知道尚洋也是有原因的,作为国产游戏早期的从业者,他们的开拓精神值得尊敬,这里的讨论只是就事论事)。

有人可能会问,直接操纵是不是等于所见即所得(WYSIWYG)?我觉得直接操纵肯定是所见即所得的,但反过来则不一定。比如在Photoshop里调整一个对象大小的操作就是所见即所得的,如果你通过鼠标拉动来调整,这就是直接操纵;如果在工具面板中直接输入对象大小的数值,虽然你也能即时看到结果,但这就不是直接操纵,按照我最最崇拜的HCI专家Shneiderman (1997)和Preece(1994)两口子的观点,这叫做“form fillin”。

直接操纵当然也有很多缺点。对于UI设计师和程序员来说,最大的问题就是对技术要求太高,相比非直接操纵的程序,开发人员需要付出更多努力,这一点极大地阻碍了这一交互方式的普遍应用。幸运的是,Apple公司Core Animation的出现,可能会在整个IT行业加速推动直接操纵的应用。对于普通用户来说,并不是所有操作需要直接操纵。比如按照“文件XX”的形式给一个目录下100个文件改名(其中的XX代表数字编号),直接操纵显然不如命令行来得快。

在应用方面,我接下来会特别谈谈Core Animation,因为它可能会带来一场UI设计上的革命!还是那句话:敬请期待 :)


  1. yezhan @ 2007-12-12 09:02:03 +0800:

    果然是我的问题。
    多刷了几次就好了。

    唉。我的垃圾留言……

  2. yezhan @ 2007-12-12 09:00:19 +0800:

    是我电脑的问题吗。
    打开你Bo的时候,下面看到好多代码。

  3. nerrisa @ 2009-03-20 22:22:21 +0800:

    [emoticon:emu]