由InfoQ主办的全球***技术盛会QCon 2012 于4月18日到4月20日在北京隆重召开,本次大会上,由传奇的产品工程师,也是世界上最让人头疼的程序员Mike Lee发表了主题为“如何开发靠谱的应用”的演讲。
传奇产品工程师Mike Lee结合自己过往8年的在开发应用方面的经验,包括Delicious Library、Tap Tap Revenge、Obama '08和苹果移动商店等,给大家介绍如何开发靠谱的应用。当然,你会看到不同的烂应用以及针对他们的补救措施,进而领略烂应用之所以烂的原因,从而帮助自己成为远离“烂应用”的研发人员!
Mike Lee近照
取决于成败的是细节
Mike Lee说,一个车牌,他把它颠倒了,S应该是朝向另外一个方向,有时候我买书,比如说电子书是这样的,不管它内容怎么样,实际上你看看表面,大家就不想读了,这是一个不可读的一个读物,经常这种小的错误,也是非常愚蠢的,让你觉得你是个业余人士,但是这个并不是世界末日,小的错误会带来很大的恶果。刚才我们看到机器人叫火星登录人,我有一个朋友也是做类似工作的,他是一个软件的工程师,这是一个报纸上的文章他剪下来了,由于软件错误,使得火箭发射延迟了,那么延迟了一天,一天好象不长,但是因为是火箭发射,所以一天付出的成本很大,如果小错误使你的公司上了报纸,这就是一个很大的错误了。
当然大家都不记得是他犯的错误了,因为还有他的一个同事犯的错误使得火箭爆炸了,而且还有一个火箭是根本没有到达火星,花了几亿美元全付之东流了。为什么?这种小的错误,人们还在嘲笑,小的错误可能会多来极大的后果。这是一个医疗设备,这是一个放射疗法的机器,如果你有肿瘤的话,他们就会用射线来杀死你的肿瘤,但是必须要控制的很好,这样才能挽救你的生命。由于一个软件的错误,有时候放疗机会用巨大的射线把一个病人整死,就是由于软件小小的错误人就会死掉。小小的错误会带来极大的恶果。
但是知道人类心智是这样的,以扑克牌在为例,你看到不这张牌是什么。我以为这是大王,但是上面只是一个小丑,大家知道对自己的错误是看不到,你周围的人能够看得很清楚,他们看不到他们自己的错误,但是你能够看到他们的错误,你的错误对他们来说很显然,就像他们的错误对你来说很显然一样。
如果你想避免犯荒谬错误,你要依赖其他的人给你反馈,你要依赖其他的人看到你在犯的错误。反过来,你要指出别人错误的时候,你要友好一点,你不要说你犯了这么恶心的错误,因为你的错误比他的错误还要两倍的恶心,可是你不知道。有时候我们会让用途糊涂,这是伦敦塔,我知道我需要买一张票,我说OK,非常简单,这是箭头,箭头是指向右边,我也看到这边有个小亭子,我也许应该到这边来买票。不,结果发现我把这个标识看错了,实际上箭头是指在左边。
要做事先做人
Mike Lee表示,要做事先做人,要想做伟大的东西,你先要做一个伟大的人才可以。想了解伟大的事物是如何产生的,不光是西方的创举,还有东方的创举,也不光是***世界的,想获得一个新的视野,想了解同样的问题大家用什么不同的方式去解决的。不光是***世界的解决方案,也要看一看第三世界的解决方案。
还有一个黄金规则,叫己所不欲,勿施于人。在商业世界里面,这条非常非常重要,可以变成己所不卖,勿卖于人。你不要对你们的用户这样做,如果你不喜欢,他们为什么要喜欢?
设计能够化腐朽为神奇,化平庸为非凡
Mike Lee在演讲时说他见过一本书,这本书封面不怎么样,好象这个作者不愿意花钱让别人设计封面,也许他只是请了他的侄子来帮他做。很多时候我们经常说不要靠封面来判断一本书的内容,但是每个人都喜欢这么做,每个人都喜欢通过封面来判断一本书的好坏。Mike Lee说他们一开始打交道的软件,就聘请了一个设计师,设计了一个很好的样子,它实际上是软件当中最成功的一款软件,***赚了数百万美金的利润。为什么会这样呢?在这之间有什么不同?关键在于设计。设计是***的一种能赚钱的方式。
对于开发软件,自己才是软件产品的***的专家,要记住,用户不可能像你一样了解你自己开发的软件,你拥有所有关于软件的知识,这不光是编码,这不光是我们所从事的工作我们还有另外一半,这另外一半就是叫设计。
质量取胜
Mike Lee认为,如果我们要去做这种伟大的特别好的东西,我们必须保持头脑清醒。所以希望大家不要从价格上来进行竞争,因为我们都知道我们不可能通过成本上来进行竞争,因为我们知道中国不可能一直都有这么便宜的成本,我们知道现在中国变得越来越好。如果中国的价格优势没有了,那个时候可能大家会觉得在中国生产的东西太贵了,他们都去柬埔寨。到那个时候,我们就不可能通过价格取胜,我们必须通过质量来取胜。
有可能你会觉得质量好的东西非常贵,但是实际上质量好的东西并不意味着是奢侈品,并不意味着价格很高。而我们希望有一样东西可以一年一年的使用,我们甚至希望这个东西可以传给我们的孩子,或者是传给朋友,能够反复使用。比如说iphone,如果你不愿意用的话,你想升级的话,你可能会把这个iphone传你的朋友,有人愿意买帐,因为它质量非常好。这里并不是关于成本,而是因为价值,如果质量是零的话,那么它的价值就是零。对于我们和我们的客户来说,现实就是非常短,我们没有时间做特别糟糕的东西。