步子大了,容易扯淡

  最近在看李开复的《世界因你不同》。书中提到了他在微软时开发windows vista的事情。以下是原文:

微软公司的视窗产品确实是改变人类历史的一项伟大产品。尤其是1995年8月24日,Windows95的发布轰动了整个世界。Windows95的出现带给使用者一个完整的图形化操作与使用概念,使人在电脑前的工作过程不那么枯燥乏味,使用电脑的经历也开始变得有趣。它的出现被认为是人类科技史上具有里程碑意义的事件。随后,微软在视窗的研发投入上力度越来越大。到后来又研发出Windows98、Windows2000、WindowsXP,以及后来的Windows Vista。

  我有幸参与了微软Windows Vista的研发工作。在这个过程中深深地感受到了,我们现在已经使用的微软产品方便、快捷而又智能,但是在科技研发过程中却充满了曲折和困难。尤其是微软的Windows Vista系统,从开始酝酿到最后的发布,用了整整5年的时间,其间甚至经历过一次完全的推翻重写,这个过程,让微软视窗团队的每一个工程师都曾经充满沮丧和煎熬。也许,无论是历史还是科技,这种曲折都是前进的一个组成部分。

  2002年初,我加入了Windows Vista的团队,组建了一个新部门,叫做自然互动服务部。盖茨总是对语音、语言、智能型助手式用户界面情有独钟,于是,他要求全公司在这方面的团队都加入我的队伍。

  这些团队结合起来后,我们针对盖茨的Windows Vista目标,作了详细的策划。盖茨定位的Windows Vista的三大目标是:(1)支持新语言C#,所有操作系统软件都改用C#来写。因为C#语言的运行较慢,但是开发速度很快,这样微软不会落后于多人参与的开源Linux操作系统的发展。(2)开发WinFS (Windows File System),它是新一代档案系统,可以将每一个文件存成数据库。如果WinFS能够成功,慢慢的,全世界的数据就都存到微软的数据库,不但可以击败Oracle、IBM的数据库,也可以防止别的网络公司(例如Google)掌控这些数据。(3)开发 Avalon——新一代显示系统,让用户在浏览器里看到的网站或服务和传统的应用软件感觉一样。如果某网站的服务和用户端软件看起来一样,用户也更难理解网站服务的优点在什么地方。

  这三大目标从战略上来说都非常高明,如果实现了,微软就可以用最强大的武器Windows来攻击Linux、IBM、Oracl、Google,甚至所有的网站。

  但是,这三大目标都是前所未有的技术,从来没有大规模得到商业认证,更没有在这么重要的产品中成为关键。不过最严重的是:这三大目标都是极难的技术问题,很可能多几倍的时间也做不出来。因为技术的瓶颈已经到了极限,很多总监看到这个设想就倒吸了几口凉气:“技术难度太高了!C#这么慢,怎么能做操作系统啊?数据库不够快啊?怎么可能当做档案系统?”还有些研究芯片的专家常常看着Intel的芯片计划就开始担忧:“一定是微软习惯Intel芯片加速的速度,才这么乐观。但是每18个月芯片速度就快上一倍的日子已经过去了,别说2004年推出了的这些芯片,照这样,2007年Intel的芯片都不够快啊。”他们没想到的是,Windows Vista真的迟了几乎三年,直到2007年才推出。

  这三个团队发愁的时候,几乎所有其他的团队都开始挑战极限!大部分的团队,就像我的团队一样,说服自己做了leap of faith (信仰的飞跃),相信在盖茨的督促之下,这三大目标都可以完成。我们开始用尚未建好的基础着手搭建我们的产品。虽然可以预想到会有重重的困难,但是谁知道伟大的产品是不是就产生在不断挑战极限当中呢?

  我和我的团队定了自己的目标:我们要在盖茨规划的基础上,做用户需要的功能。这样我们既能够帮助公司达到战略目标,又可以帮助我们的CEO满足用户第一的价值观,还能帮助公司做出又炫又有用的产品,而且真的能够解决用户问题。我们当时拟定了几个Windows Vista的新功能。

  “视窗智能助手”:它在你随时需要帮助的时候,一点就出来,甚至会聪明地自己出来。它会根据别的用户碰到的问题和犯的错误来推测你可能碰到的问题和犯的错误,然后它会一步步地帮你解决问题。

  “执行助理”:事先编译好的各种指令,只要用户要求就可以执行。例如:“在离我最近的打印机上打印”,“转发给北京分公司的员工”。

  “机器学习”:有些新的指令或工作没有被人工录入,我们增加了机器的学习功能,能够学到这些新的词汇、描述等,让我们的机器助手拥有可以自我学习、补充知识的功能。

  “新档案处理”(就是打开任何文件夹看到的):除了现在静态的档案排序外,我们的软件可以聪明地找到任何你的档案,即根据每个文件的数据库内容,聪明地搜索。例如:“王力宏2000年以后所有的MP3音乐”,“老板今年寄给我的邮件”。这些指令发出之后都会被转换成为WinFS的数据库指令,而形成真正的智能数据库。

  这些工作都还是非常振奋人心的,我的团队从2001年年中到2004年年底,都非常努力地工作。作为Windows Vista开发过程的亲历者,我体验了其中的无比艰辛。大到一点点成果的突破,小到一个团队的组成建立。

经过了三年的奋力拼搏,微软视窗团队的工程师们都已经疲惫不堪。但是,Windows Vista的成功却似乎遥遥无期。其实灾难早就在酝酿,因为大家在一开始就知道,这个伟大的计划实现起来,其执行难度实在是太大了!

  WinFS团队虽然承诺了盖茨提出的三大目标,但是在实际的工作中感到了迷茫。WinFS团队认为他们的任务是“不可能的任务”,但是也不敢告诉盖茨。任何一个接触过Vista团队的人都知道,每次把测试版的Vista搭建出来以后,都发现庞大的系统根本无法运行。

  作为一个亲历者,我只能诚实地回忆,当核心团队看到任务无法完成时,他们不再努力工作,只想着如何推卸责任。当时,几乎每一个团队都沉浸在这样的氛围里。Windows95与WindowsXP全球震撼登场的场景似乎已经飘然而去,而成功的渴望已经变成了对失败的恐惧和对项目的怀疑。我的团队也多次怀疑Vista 能否照预期的时间表推出,另外,还有种种我们团队的工作需要依靠别人的项目的实现才能完成(这称做dependency)。这个时候,团队里的懈怠氛围就更加浓重了。这个时候,我总是告诉团队专注自己的工作,不要去乱猜别人的schedule(时间表)。慢慢的,整个公司都弥漫着一片“皇帝的新衣”的气氛,士气非常低落

  如果成功了,那vista绝对是操作系统历史上一个划时代的作品,一个伟大的里程碑。可惜后来全都推翻重写,所有计划中的功能仅仅完成了1/10。最后在厂商,用户的眼中沦落成一个“过度产品”。这算是一个【大力的悲剧】。vista之前的设计太超前了,超过了这个时代的技术所能承受的范围。它不是一点一点的进行突破,进行革新。它太超前了,步子迈的太大,最后毁了自己。

  这就让我想到,我们设计产品,设计软件的时候,一定要考量自己的能力,考量团队的能力。不要一下子就想做出超出团队能力太多的产品。我觉得google的做法就值得推崇,先有一个简易的版本,在后续的升级中不断的改进,提升,加入新功能。循序渐进,逐步提升,不是一上来就朝着最完美的地方前进。不要急功近利。

  同样的悲剧,我还想到【铱星计划】:

铱星如今被认为是个人卫星通信的里程碑之作,相比于传统运行在35768千米的GEO上的地球同步通信卫星来说,铱星运行的780千米LEO轨道要低很多,这是铱星的一个创新之处。
铱星的另一个创新之处在于通过星群和星座之间的协作处理,不需要单独的地面站,每个地面终端都可以与卫星直接联络,因而有良好的抗灾抗天候特性,并且由于其卫星数量较多,系统的容量也相对于之前的系统更大。
但铱星投入运营之际遇上了GSM,由于GSM系统的覆盖率逐步提高,国际漫游业务的逐渐普遍,GSM在地面上的吸引力更大。再加上铱星本身昂贵的资费和庞大且不便利的终端也让使用者感到非常不方便,导致铱星在商业上是很失败的,只有少部分人有这样的需求,也拖垮了摩托罗拉。

所以说「一流企业卖大楼,二流企业做标准,三流企业造卫星」,但不可否认的是,铱星作为卫星通信中重要的里程碑,其中很多的技术和想法对于乃至今日的通信依然是利远大于弊的,譬如星上处理、星间链路、并且解决了卫星网与地面蜂窝网以及PSTN的协议交换问题。

铱星是世界上第一个满足5W的系统,因而将其称之为辉煌的失败似乎并不过分。

  铱星计划即使放到现在来说,也是一个很伟大的工程。它太超前了,超过了这个时代所能承受的范围。

  道哥黑板报前两天的一篇文章《先有鸡还是先有蛋?》提出了一个问题:先有结果,再设定目标?还是因为有了目标,所以得出了结果?

  我认为我们需要仔细的校准我们的目标,如果一味的制定高目标,完成不了的目标,是不是又会出现【大跃进】的可能?

时间: 2024-08-28 11:45:26

步子大了,容易扯淡的相关文章

【转载】阎焱:90后创业是扯淡 大量O2O和P2P公司濒临倒闭

真正创业成功的大部分是年龄在30岁到38岁之间,很多90后基本什么都不懂.从历史来看,在这样的人口大国,集体性行为,无论是政治的还是经济的,基本都是导致灾难性后果. 10月14日消息,赛富基金创始首席合伙人阎焱日前在香港出席一场活动时表示,互联网行业现在大规模的说假话,做投资人20年的历史上还是第一次见到. 阎焱说,当前一个现实情况是,创业者融资2000万,对外宣称融资2000万美元,不少投资人曾呼吁大家说真话,如今整个互联网行业风向还是大家都在说假话,且假话越说越大. 阎焱表示,“在中国互联网

百度掉出BAT?扯淡前先知道啥是带路党(《越界》连载2)

你认识路当然不需要地图,但问题是在互联网上,就算你是骨灰级网民,也需要带路党.百度就是带路党 这两天,一篇题为百度掉出BAT序列的文章很火,火到我也不知道这玩意为啥那么吸引眼球.因为很标题党,很扯淡,正好我<越界--互联网+时代必先搞懂的大败局>连载到百度历史,不妨摘出来,让大家先看看百度怎么成为网民伟哥的吧. 文/张书乐 <越界--互联网+时代必先搞懂的大败局>连载之一 2010年3月,当时百度在中国最大的竞争对手谷歌以频受黑客攻击为由,关闭了谷歌中国的域名google.cn,并

罗辑思维 140 认钱不认人(刚需是扯淡,一切都是稀缺,人生全是选择)——理性永远都是最珍贵的

18分左右: 1. 刚需是扯淡,包括生命(罗胖举了许多例子)(拒绝选择,拒绝选择带来的代价)2. 一切都是稀缺3. 人生全是选择要承担选择的后果 房价限制不了,市场是一个联通体系,捂住这个口,那就回那个口出来.毁掉房价:1.轰炸 2.限制租金 https://www.youtube.com/watch?v=Oxe757tCimA

HDU 4930 Fighting the Landlords(扯淡模拟题)

Fighting the Landlords 大意: 斗地主....   分别给出两把手牌,肯定都合法.每张牌大小顺序是Y (i.e. colored Joker) > X (i.e. Black & White Joker) > 2 > A (Ace) > K (King) > Q (Queen) > J (Jack) > T (10) > 9 > 8 > 7 > 6 > 5 > 4 > 3. 给你8种组合:1.

【玩转微信公众平台之一】序章(纯粹扯淡)

昨天是我的生日,为了庆祝这一伟大的节日,我决定写个微信公众平台开发的系列教程.看到这里有些人肯定迫不及待的要在下面的评论里写上"祝博主生日快乐"之类的祝福,其实我觉得大可不必,历经沧桑的我对这些形式的东西看轻了许多,我只想说:能不能把钱打到我的支付宝里??! ------------------------- 年初开始接触微信公众平台,那时主要是为了给我姐的服装店搞个订阅号.现在的水平也还是很一般.趁还没将所学的知识忘光,赶紧将还记得的东西写到博客里来. 公众平台是什么大家应该都懂,我

扯淡过滤器之乱码篇

在JavaWeb开发中,Servlet过滤器可以很方便地帮助开发者做很多重复的事情,比如说这里要和大家分享的乱码问题.其实说起乱码自己也没有什么经验可谈,只是东拼西凑来出来的一些代码,这里说过滤器是一方面,另一方面还有其中用到的一些思想上的东西. 乱码产生的原因说来说去就一句话,编码和解码用的码表不同造成.但是要弄清楚这其中的原理,怕是自己也不清楚,只好扬长避短.Web开发中的乱码就发生在服务器和浏览器之间,这样根据乱码的作用者可以分为请求参数乱码和响应内容乱码,响应乱码容易解决,只要respo

无锡美新赵阳:创业18年,一辈子做好一家企业(创业是一种生活方式;为了赚钱而创业,那是扯淡”。最重要的是做自己喜欢做的事情)

会议室的门开了,赵阳大步迈了进来,带着一身的仆仆风尘——助理说,他才和客户谈好业务便匆匆往回赶——这场景,仿佛和七年前重叠起来. 那年,无锡日报记者采访了创新创业人物.身为美新半导体董事长兼CEO的赵阳;如今,还是在高新区新辉环路2号,还是那个头衔,我们的话题却有了更多的延展性. 一晃,当年北大物理系高才生.后赴美国普林斯顿大学攻读物理和电子工程并师从诺奖得主DanielTsui教授获电子工程博士学位的赵阳,在无锡创业已有18年;他带领的美新,也由零起步成长为全球仅有的同时具备 MEMS传感器和

扯淡思维

统计某个时间点前的数据,比如我有10W条数据,包括加班的数据,但我要统计下午5:00前的数据.你第一时间想到的是什么方法呢? 表:tableA 表示时间的字段名称:alltime,字段类型为nvarchar()或者datetime,smalldatetime 以简单的smalldatetiem为例吧: select * from tableA where alltime<'[0-9][0-9][0-9][0-9][0-9][0-9]-0-9][0-9]17' 上面这语句看上去符合逻辑,我用通配符

工作随谈之扯淡

最近由于工作和个人原因没有怎么把收获的记录下来,消沉了快一天,脑子一片混沌,发现是该写写了不然脑子真的可能转不过了! IT是一个大染缸,也是一个比较定义比较广阔的行业,而我从事的工作只是里面的一样--软件测试! 最近因为我的顶头上司直接升为我们项目组的负责人,无疑这是一个大的调整,这也可能是我们整个项目面向互联网进军的脚步要开始加快.web.ipad.iphone各个项目都准备就绪,全线出击,这些项目压下来不知道怎么处理才好,作为一个合格的测试员需要保证上线以及上线后他们的正常,无疑老大给了我一

Java面试题之最扯淡的String

SB里面的toString方法如下,为什么需要这个,查看JVM虚拟机指令用,+号会变成new SB()的,然后调用toString方法 public String toString() { // Create a copy, don't share the array return new String(value, 0, count); } public class ThreadException { public static void main(String[] args) { 没加fin