几年前,我就迷上了乔治·马丁的《冰与火之歌》,先是看了HBO拍摄的电视剧,被其中宏大的场面以及演员们精彩的表演所吸引。接下来又买了陆续出版的几套书,甚至还收藏了发售的五套一共十五枚徽章,前几天还和女儿一块儿,给你们在微信的朋友圈里面秀了一下。程序员
前几天,突然以为,咱们的软件编写出来也应该是一首冰与火之歌。微信
有人必定会说,是否是要给最终用户冰火两重天的感受啊?在编写以前,把将要实现的东西说的天花乱坠,十全十美,差一点儿就要把它说成是超越什么微软、IBM等等大公司编写的软件的旷世之做,让用户对其充满了期待,那简直就是他的救命稻草,有了新的系统软件,工做效率提高不在话下,大量工做能够在一瞬间完成。但作好了交给用户以后,却让人大失所望,迫不得已地说出一句话:“这东西不是我想要的啊!”这仍是好的,还有一些系统,随便点击几下,崩溃了,报错了,弹出一大堆用户看不懂的天书文字,就像是一大堆冰块儿,砸在用户的头上,头晕目眩,鲜血狂喷……设计
Stop!我所说的冰与火可不能是上面的那个样子,若是都那样的话,广大的程序员朋友们一定会继续处在水深火热之中了。产品
那么卖了半天关子,咱们的冰与火之软件到底应该是什么样子的呢?效率
先来讲冰,我想说的是咱们编写的软件应该像是冰山同样。冰山的特色就是在水面之上的部分只占整个冰山的一小部分,而更多的内容都隐藏在水面之下。咱们的软件也应该这样,暴露给用户使用的只是很简单的界面和操做,甚至说应该是傻瓜级别的,用户甚至不须要说明书就能够直接使用,并且操做也很是少,甚至只是须要点点按钮,全部的工做就完成了。这并不意味着咱们这些程序员没有作有价值的工做,而是说咱们作的更多工做都在“水面之下”,比方说:当进入一个界面的时候,咱们能够根据当前的时间、所处地点、环境等等因素,推测出用户可能输入的内容,用户在进入以后,若是可以说:“哇,这个系统好聪明啊!”(或者好智能啊,好体贴啊之类的话),那么就说明你已经成功创造了一个比较傻瓜级的系统界面了。再比方说,用户在没有系统以前,可能须要作不少重复、机械化的工做来处理一件工做,而处理这类工做正是软件系统的擅长之处啊!因此咱们能够把那些工做都写到程序之中,用户只须要倒一杯茶,而后清闲地打开软件,点击按钮,只听到计算机的硬盘“吱吱”地转上一阵,咱们彷佛看到CPU发出了一道闪光,而后结果就出来了,用户的那杯茶刚喝了一口。古有关公温酒斩华雄,现有咱们的程序在用户茶还没喝完一口的时间内,就完成了原本可能须要一个小时才可以搞定的工做,岂不是一件很让人快乐的事情吗?软件
再来讲火,以前一谈到计算机、程序、系统什么的,都会给人一种冷冰冰的感受。就连早期科幻小说里面的机器人也是同样啊,方方的脑壳,方方的身体,方方的胳膊腿,还有带有奇怪音调的发音,一看、一听,就知道是一个机器人。而在近期的科幻小说或者科幻影视中,机器人再也不是那样了,比方说最近看的《机器之心》里面,机器人不只仅和人长得没有什么区别(电视剧里面的人可以区分真人和机器人,但是我根本就没看出两者之间有什么区别),并且还具有了人的情感,这实在是太厉害了。程序
咱们的程序也是同样,以前,用户一提到软件系统,就会想到一大堆专业术语,让人摸不着头脑,找不到手脚,什么菜单,什么按钮,什么奇奇怪怪的列表框,说出来的话(提示信息)也只有专业的IT人员才可以看懂,比方说:您的数据插入失败,请与管理员联系。因而,用户就明白了,在这个系统背后,有一个管理员,咱们什么问题均可以去找他。等找了以后才发现,这个管理员根本就不知道在哪里,就算找到了,也会和你说上半个小时,而后把你搞晕以后,问题仍是没有解决。数据
那么,咱们应该为本身编写的程序作些什么呢?Apple公司的电子产品都考虑到了用户的情感,你们看到设计的样子,再使用iOS系统,一会儿就会喜欢上它,由于它让人能够感受到方便。咱们的系统也同样,其实大能够不去卖弄本身学过的专业知识,而把提示信息改为与用户现实工做相关的话,给用户看到的内容不只仅是有用,并且很是像是一我的所说的话,那么使用系统的用户必定会有彻底不一样的感觉。若是说咱们可让系统了解到用户操做的心情,而后在合适的时候,作出“热情如火”的响应,那么用户必定会喜欢上这个系统。top
其实,做为读者的你必定也看明白了,我在这里所说的冰与火并非要先给用户一盆火,再泼一盆冰水(那样弄很差会让用户热胀冷缩碎掉的),而是要在设计上既像冰山同样把更多的工做悄悄地帮用户作好,还要在和用户交互的时候有火同样的热情,这才是冰与火之软件。计算机