冰与火之软件

几年前,我就迷上了乔治·马丁的《冰与火之歌》,先是看了HBO拍摄的电视剧,被其中宏大的场面以及演员们精彩的表演所吸引。接下来又买了陆续出版的几套书,甚至还收藏了发售的五套一共十五枚徽章,前几天还和女儿一起,给大家在微信的朋友圈里面秀了一下。

 

前几天,忽然觉得,我们的软件编写出来也应该是一首冰与火之歌。

 

有人一定会说,是不是要给最终用户冰火两重天的感觉啊?在编写之前,把将要实现的东西说的天花乱坠,十全十美,差一点儿就要把它说成是超越什么微软、IBM等等大公司编写的软件的旷世之作,让用户对其充满了期待,那简直就是他的救命稻草,有了新的系统软件,工作效率提升不在话下,大量工作可以在一瞬间完成。但做好了交给用户之后,却让人大失所望,无可奈何地说出一句话:“这东西不是我想要的啊!”这还是好的,还有一些系统,随便点击几下,崩溃了,报错了,弹出一大堆用户看不懂的天书文字,就像是一大堆冰块儿,砸在用户的头上,头晕目眩,鲜血狂喷……

 

Stop!我所说的冰与火可不能是上面的那个样子,如果都那样的话,广大的程序员朋友们必定会继续处在水深火热之中了。

 

那么卖了半天关子,我们的冰与火之软件到底应该是什么样子的呢?

 

先来说冰,我想说的是我们编写的软件应该像是冰山一样。冰山的特点就是在水面之上的部分只占整个冰山的一小部分,而更多的内容都隐藏在水面之下。我们的软件也应该这样,暴露给用户使用的只是很简单的界面和操作,甚至说应该是傻瓜级别的,用户甚至不需要说明书就可以直接使用,而且操作也非常少,甚至只是需要点点按钮,所有的工作就完成了。这并不意味着我们这些程序员没有做有价值的工作,而是说我们做的更多工作都在“水面之下”,比方说:当进入一个界面的时候,我们可以根据当前的时间、所处地点、环境等等因素,推测出用户可能输入的内容,用户在进入之后,如果能够说:“哇,这个系统好聪明啊!”(或者好智能啊,好体贴啊之类的话),那么就说明你已经成功创造了一个比较傻瓜级的系统界面了。再比方说,用户在没有系统之前,可能需要做很多重复、机械化的工作来处理一件工作,而处理这类工作正是软件系统的擅长之处啊!所以我们可以把那些工作都写到程序之中,用户只需要倒一杯茶,然后悠闲地打开软件,点击按钮,只听到计算机的硬盘“吱吱”地转上一阵,我们似乎看到CPU发出了一道闪光,然后结果就出来了,用户的那杯茶刚喝了一口。古有关公温酒斩华雄,现有我们的程序在用户茶还没喝完一口的时间内,就完成了本来可能需要一个小时才能够搞定的工作,岂不是一件很让人快乐的事情吗?

 

再来说火,之前一谈到计算机、程序、系统什么的,都会给人一种冷冰冰的感觉。就连早期科幻小说里面的机器人也是一样啊,方方的脑袋,方方的身体,方方的胳膊腿,还有带有奇怪音调的发音,一看、一听,就知道是一个机器人。而在近期的科幻小说或者科幻影视中,机器人不再是那样了,比方说最近看的《机器之心》里面,机器人不仅仅和人长得没有什么区别(电视剧里面的人能够区分真人和机器人,可是我根本就没看出二者之间有什么区别),而且还具备了人的情感,这实在是太厉害了。

 

我们的程序也是一样,之前,用户一提到软件系统,就会想到一大堆专业术语,让人摸不着头脑,找不到手脚,什么菜单,什么按钮,什么奇奇怪怪的列表框,说出来的话(提示信息)也只有专业的IT人员才能够看懂,比方说:您的数据插入失败,请与管理员联系。于是,用户就明白了,在这个系统背后,有一个管理员,我们什么问题都可以去找他。等找了之后才发现,这个管理员根本就不知道在哪里,就算找到了,也会和你说上半个小时,然后把你搞晕之后,问题还是没有解决。

 

那么,我们应该为自己编写的程序做些什么呢?Apple公司的电子产品都考虑到了用户的情感,大家看到设计的样子,再使用iOS系统,一下子就会喜欢上它,因为它让人可以感觉到方便。我们的系统也一样,其实大可以不去卖弄自己学过的专业知识,而把提示信息改成与用户现实工作相关的话,给用户看到的内容不仅仅是有用,而且非常像是一个人所说的话,那么使用系统的用户一定会有完全不同的感受。如果说我们可以让系统了解到用户操作的心情,然后在合适的时候,做出“热情如火”的响应,那么用户一定会喜欢上这个系统。

 

其实,作为读者的你一定也看明白了,我在这里所说的冰与火并不是要先给用户一盆火,再泼一盆冰水(那样弄不好会让用户热胀冷缩碎掉的),而是要在设计上既像冰山一样把更多的工作悄悄地帮用户做好,还要在和用户交互的时候有火一样的热情,这才是冰与火之软件。

posted @ 2013-12-04 17:40  侯伯薇  阅读(1099)  评论(0编辑  收藏  举报