Alan Cooper就不用介绍了吧,估计对我blog有兴趣的人基本上都会知道。不知道的请Google下去,他有俩头衔:VB之父和交互设计之父。坊间一直流传着一段2001年的Cooper访谈录,原始出处在这里,翻译版的网上也有很多,还请自己Google下去。
2007年的时候,我看过这个访谈录,但是囿于当时的经历,有些还不是理解的很透彻。今天偶然重新认真读了下这个访谈,感到有些要比当初理解的更深一些。所以还是把自己的感受写出来吧。
请看访谈录中的几个对话片段:
extreme: 如果某人想成为一个交互设计师,他应该怎样做呢?
alancooper: 停止编程。
extreme: 为什么要停止编程?
alancooper: 因为程序员和设计师的目标是有冲突的,你不可能同时做好两件事情。
umlchina: “程序员和设计师之间有冲突”:但是他们在同一个团队中。
alancooper: 不,程序员和设计师的“目标”是有冲突的。
fly cat: Cooper先生,你能简要描述一下交互设计的实质吗?
alancooper: 让技术为用户服务,而不是让用户服务技术。
shenqw: 按你的观点,交互设计师必须有一些编程经验吗?
alancooper: 为什么你这样认为呢?
fly cat: 因为如果他没有编程方面的经验,他想让程序员听他的将非常困难。
alancooper: 你的意思是工程师不听从交互设计师的安排?为什么不呢?
hzmajw: 艺术家能从事交互设计师的工作吗?或者办公室助理能从事交互设计工作吗?
alancooper: 交互设计不是艺术。办公助理能写代码吗?交互设计与写代码相比是一个复杂的、老练的、困难的工作。
extreme: 那么,我们到哪里和怎样发现这样的设计师呢?
alancooper: 他们就在那里。可能不在编程人员中,可能在技术支持,测试,文档编写...等人员中。当交互设计师被压抑如此长的时间之后,寻找他们是非常困难的。
我第一次看到这个访谈的时候,很奇怪Cooper说要成为一个交互设计师要做的是“停止编程”,因为他自己也做了15年的程序员,从这么一个可以算得上资深的程序员口中说出“停止编程”,为什么?
按照Cooper的说法,程序员和设计师的目标是有冲突的,程序员关注技术实现,关注逻辑上的完美,交互设计师关注表现,关注用户的感受。
仅仅是这些吗?
在我看来,如果让程序员来做交互设计的话,他们会比交互设计师们更把自己“装”成用户,他们会要求使用者像他们一样从里到外的了解这个产品,知道如何从一堆按钮中找到正确的那个,知道点击每个按钮后的每一种可能的情况,知道如果不按照他们预先设计好的去操作的话将什么都做不成。
这是思维习惯的问题,在一个代码的世界中,不是0,就是1。
为什么说我现在理解的更深,是因为我在过去一个月中优化的就是一个典型的由程序员设计的站点。我遇到了太多让人无奈的流程和交互,下面的一些例子,是我觉得最有代表性的:
1.“关注”某人,这种功能其实是我们更希望用户去做的,社区需要互动,可是这种操作也会弹出一个alert:你确认要关注****吗?
2.购物流程中,临到结帐了,才告诉使用者:你还没有注册,不注册就无法结账,先去注册吧。
3.你在网站上所有的可用操作,我全部都给你,增删查改,至于在哪儿?你自己去找吧。
4.“删除内容、取消互动关系”这种我们并不希望用户去做,可是就会有一个按钮在那里不停地召唤你,或者是一个超级醒目的红叉叉在一个超级醒目的位置上。
5.一个超级长的表单
6.我给你规定好头像图片的大小、文件格式、规格,你就一定要按照我的规则来传,不然?你空着吧!
7.Alert,Alert,Alert.....开着音响走一遍流程,基本上可以演奏出武林外传的片头曲了。
8.惨不忍睹的文案。
9.为什么要让用户改注册邮箱?用户为什么不能消停会?
10.技术能够实现的事情,干吗要人工去做?什么?成本?靠,你小看我技术能力!
一直以来,我都认为程序员出身的人逻辑思维都很严谨,这种优秀的思维习惯有助于事业的成功,很多企业家都是技术出身。只是,千万别忘记一条:越是过分强调与依赖自己的长处,就越会看不到自己的短处。
这句话对交互设计师,对PM,同样适用。。。。