分类
电子商务

为什么做不到KISS?

        这里KISS不是啃(kiss),而是Keep it simple and stupid的缩写,直接翻译过来就是“保持简单和傻瓜化”,这里的傻瓜化和傻瓜相机的傻瓜含义相同。
以前曾经看到Koman敲门写的一篇KISS原则,对此深有感触,大约做技术做久了的人,听到这句话总是颇有一番感慨。
        敲门说,“Keep It Simple and Stupid,保持简单浅显的意思,甚合我意。”“能够将复杂的事情做得非常简单,使用起来非常简单自然,还是需要不少功力的,多从客户角度考虑,保证客户的使用简单,都从框架设计考虑,让复杂的问题简单的表现和处理。只有那些不够自信,急于表现自己,卖弄各种技巧的人才会把简单的事情搞复杂。”
        敲门是从技术复杂性的角度来解释这个问题的,非常赞同,很多时候工作是一个相对固定的东西,你多付出一些,和你合作的人或者客户就能简单一些,让别人高兴的方法常常是多做一些。
        我这里还想从另外一个角度来说说KISS问题,免得KISS被人敬而远之,认为只有敲门这样久经战场的技术高手才能实现。
        如果一件事情本身不简单,保持简单是一件非常难的事情,需要付出的超过别人多倍的努力才能实现,幸好这个世界本身就非常复杂的事情并不多,很多事情是人为弄复杂的。
        如果不是故意,事情变复杂的原因常常是因为忽略了领域特性,错误地使用了另一个领域的语言来描述这个领域。
        记得小时候学英语,常用汉字来帮助朗读,结果发现,如果要准确表示出单词的读音,需要很复杂的表达方式,比如我当时记录脸这个单词face,就用了“费斯,第一个读重,音长,第二个斯低声,刚读出声母停止”的描述,非常麻烦,即便这样,最终念出来的音与标准读音,还是相去甚远。
        导致复杂的原因,是因为标注的方法错误,汉语与英语处在不同的领域,硬要采用汉语来标记英语,罗嗦又不得要旨,我想即便水平高一点的,也不会比我采用的简单哪里去,硬要写成“费斯”倒是简单了,却已经没有了想要的模样,真正简单又有效果的方法则是采用国际音标,那才“对路”。
        软件开发过程中,设计者没有考虑用户的使用领域,是导致问题复杂的一个重要原因,如果考虑到这个过程是由需求、设计、实施、使用等多个环节组成,上一级没有注意下一级的领域都会导致后一级使用不KISS。
        比较一下的google首页定制和新浪博客,我们可以看出不同,用户定制google首页的新闻源时,没有前台和后台的概念,所有的操作都在一起,很直观,而新浪的博客,你要登录到控制面板来做管理工作,把前台和后台分的很鲜明。
        或许对于一个熟悉网络发布的人来说,这种划分并没有理解上的障碍,但管理步骤还是稍显麻烦一些。若是对于计算机本身知识较为陌生的人来说,理解前后台是怎么回事就很困难。一位新浪的朋友对我抱怨,竟然有这样的用户,发了文章后问我们,为什么看不到刚发的文章,用户素质太低了。
        其实,对于一个不懂网络前后台的用户来说,发出文章认为马上就能看到是比较合理的预期,没有这样设计对于用户而言是一个缺陷,或者说,新浪博客的前后台划分本身并不合理,博客用户常常在编写和浏览等工作中频繁切换,让用户感觉有两份东西不仅和用户的常识不符,而且也麻烦。与编辑们处理互联网编辑工作不同,编辑主要是发布新闻,利用前后台功能划分,加快编辑的工作是合理的。看来是新浪不够KISS,才导致用户显得有些傻。
        我当时讲了一个类比给新浪的朋友,你看到镜子中的像,你知道是自己,这是有学习代价的,对于一只猴子或者婴儿,想辨认清楚镜子中到底是自己还是另一只猴子,并不那么容易,总是站在自己的角度上向用户传递信息是不对的。
        在字处理软件的早期,利用控制码来控制打印字体的效果是常用的做法,要打印一篇千字文,排版是一件“够技术”的活,需要忙上个把小时,随着“所见即所得(看到的就是想要的)技术”的实现,能够很直观的拖拽、选择字体,用户按照符合日常逻辑的方式来操作,我想这是计算机能够真正深入普通用户的前提。
保持KISS并不难,只要你用客户的领域语言来描述就可以,真正的难题是,我们常常不愿意把屁股挪到客户那边。

“为什么做不到KISS?”上的13条回复

这篇文章对我们很有借鉴意义。我在一家公司任兼职时,碰到的全是傻瓜类的问题,但是当我们自己设计时似乎又忘了做到傻瓜化!~
就像这个新郎blog,我在输入主页地址时,必须加http://,而sina却不给个提示。靠!
就像一片文章里说的,眼睛要想下看啊。-
————————————
欢迎您光临世界上第一个售卖时间的web2.0网站
http://www.timeismoney.cn
时间就是金钱网站
如果想购买时间,请访问http://www.timeismoney.cn/default.html

说得很好啊。问题是很多时候开发者、设计者不清楚他们的系统所要面对的客户的特性,也就总结不好需求。也不好简单地说把客户当傻瓜,傻也有个程度。而这个程度的把握,就靠的是在行业里面打滚的经验和自己的悟性了。

发表评论