步子太大容易扯着某些东西
过 去的5到10年间,苹果公司已经进入了语音识别、地图和健康医疗等新领域。这些产品被数以亿计的用户所使用,另外还要兼顾不同语言和文化中的本土化。然 而,这期间苹果软件部门的增长并不明显。又要兼顾这么多的软件产品,又要这些软件工程师更高效的工作,所带来的后果可想而知。作为一名码农,你天天催我交 代码,催到最后只能应付了事。 当然,苹果软件质量到底为什么下滑,这里只是妄断。从历史上看,苹果的软件测试十分严格。正所谓好软件靠测 试,过去苹果软件的bug数量很少,即使有严重程度也非常低。但如今不光是iOS,另一核心产品OS X也是bug多的一塌糊涂。Yosemite推出了新的网络管理进程Discoveryd结果搞挂了OS X的DNS和Wifi,最后不得不换回老的mDNSResponder进程。真不知道苹果是怎么想的,更换根(root)进程自己都不用测一下的吗? 近两年,苹果的软件开发策略有点激进,有时基本完全不管后向兼容的问题了。正常来说,如果一个软件工程师告诉自己的主管说,我有一特牛B的想法,但是要废掉原来所有的功能。估计主管立马喷你一脸。但是,苹果真的就这么干了。 典 型的例子就是iWork的。iWork套件里的Pages、Keynote和Numbers虽然不像微软Office应用那样强大,但作为剔除长尾功能 的产品,在满足一般办公用途上可圈可点。iWork 09的成熟度更是在一般应用场景下超越Office。Keynote在许多方面优于Powerpoint不是一点半点。Pages的页面排版、海报和宣传 册功能,以及它的印刷控制使之真正的成为具有差异化的文字处理产品,相比微软Word毫不逊色。但是,2013年,苹果公司重新制定了iWork的开发 策略,减少功能选项向Google Doc靠拢。希望将自己的办公套件搬进自己并不受欢迎的iCloud服务中。在此过程中,苹果删减了300项的功能,甚至包括所有那些真正具有差异化的功 能。新的iWork应用完全失去了对老文件格式的兼容。而且老版的iWork马上下架,惊的是一众iWork用户目瞪口呆。但是,面对用户的抱怨,库 克的苹果根本完全理都不理。小编作为iWork的爱用者,只是觉得库克的步子有点大,难道他不觉得痛吗? 作为Machitosh的老用户, 小编另一款很喜欢的应用就是照片管理工具iPhoto。结果,今年苹果直接把iPhoto下架了,Aperture也遭受诛连。苹果像蹂躏iWork 一样蹂躏了iPhoto。新产品鸡肋应用Photos将iOS照片应用的功能直接搬到了桌面。然后,苹果放弃了免费策略,开始力推来自第三方的Adobe Lightroom。钱都让老对手Adobe给挣了,库克是癔症发作吗?苹果这些年废掉的软件还有Shake、Color、DVD Studio Pro、Final Cut Server、Keynote 09,Pages 09、iWeb和iDVD等。 操作系统是免费了,结果所有的软件都要收费了,要不然就只能使用很多鸡肋的垃圾软件。还记得OS X Tiger到OS X Leopard的更新花了5年时间,结果现在一年一个新版本,各个有问题。库克的苹果以市场为导向,赚钱为目的,但这一切的结果就是,苹果公司正在破坏他 们iOS和OS X平台的价值。市场主导对软件开发真的有益吗?
苹果公司的软件部门主管,自从换了Craig Federighi之后,就重新制定了市场主导的软件策略,重新聚焦大众用户身上。聚焦大众用户没有问题,但是为了满足用户不断增长的需求,Craig在软件质量和新功能平衡的把控上已经失控。 如 今的苹果公司,市场导向似乎已经成了最高优先级。库克没事老往中国跑就能充分说明问题。如今,好像为了WWDC上有些可说的,每年都有重要的新版本和大量 的新功能发布。显然软件工程团队要跟上这种节奏就很难同时保持品质。iOS每年推一个新版本,而OS X Lion之后每个OS X版本的发布间隔已经缩短到13个月。而Bertrand Serlet时代,OS X Puma到OS X Lion的新版本发布间隔为19个月。 而 且前段时间苹果工程师的爆料也印证了这些猜想。今年一月,一名苹果软件开发工程师表示,“Bertrand Serlet换成Craig Federighi之后开发方法发生了翻天覆地的变化。Bertrand时代,每个开发小组,只有在完全准备好了之后才会将代码交付到主Branch上。 最明显的是,当时Snow Leopord的Xcode obejctive-C内存回收出了问题,结果30几个小组的代码交付被延迟了好几天,直到Xcode的bug被修复。虽然当时的发布延后了快一个月,但 是交付之后,我们的大部分的Bug都被我们提前修复了。 Craig来了之后引入了敏捷开发,我们花两个星期开发一个新功能,然后花一个星期修bug。很多时候再修bug的同时就会有新的功能引入。不过这有一个好处是Craig所承诺的大部分新功能都能按时交付。 目前苹果已经完全采用了敏捷开发,不过这不是问题。最大的问题是苹果现在的精力分散到了太多的无用功能上,而牺牲了核心功能的质量。” 苹 果在后乔布斯时代估计可能被“创新”二字逼疯了吧。乔布斯时代的创新是乔布斯独断专行式的,乔帮主会带领整个公司去做颠覆式创新。而现在的苹果好像无头苍 蝇乱撞,这里试试,那里试试,看看能不能撞出个创新的功能。但是这样的代价就是,软件开发人员的精力被无谓的浪费了,到时软件质量出现问题不可避免。 也许,苹果要停下来想想了。在明年WWDC大会上,再来一次“0 New Features”的Keynote,也比发个iOS 10或iOS X搞挂一批iPhone强。曾经的iOS和OS X
苹 果当年的软件无疑是最好的,这话不是我说的,比尔盖茨说的,要有异议找他。比尔盖茨当年就是为苹果电脑开发软件的。而iOS无疑算的上是改变世界的操作系 统。论影响力应该无人能出其右。基于开源操作系统Darwin的iOS在软件开发社区中,也是拥有极高的口碑。虽然Objective-C难搞一点,但是 如今已经被Swift取代,开发节奏明显畅快许多。 另外,就是iOS的应用商店模式几乎彻底的颠覆了软件开发的生态。2014年苹果在应用商店方面的进账已经达到了45亿美元。而苹果在应用销售的分成只占30%。单单靠苹果应用商店就养活了一大批码农。不得不说,乔布斯是商业上的天才。 而OS X的主要优势在于它的UNIX内核。不算OS X的父亲Macintosh,OSX的历史也有14年了。2001年3月24日,Apple正式发布了Mac OS X v 10.0 Cheetah。14年间,苹果对用户界面、图形和声音方面,做了大量优化。如果不算价格因素,超长的待机时间和Unix式的操作环境,OS X作为最好的软件开发平台并不为过。 当然Linux有Linux的优势,但是Linux软件的无序性也是够恼人的。小编不是游戏爱好者,如果网友非要拿这 点来辩论Windows更强,小编举双手投降。另外,如果有人认为OS X不是UNIX的话。不好意思,从Snow Leopard开始Mac OS X得到了The Open Group的“Single UNIX Specification”认证,成为正式的UNIX。 OS X算是乔布斯的心血之作,是被踢出苹果后,另立门户所研发之产品。1997年不光香港回归了,Apple收购NeXT,乔布斯也正式回归苹 果。Apple的工程师们开始使用NeXTSTEP 4.2作为Macintosh OS的起点,开始了为期三年的研发,将Unix核心的操作系统传化为一般消费者能够接受的产品。甚至为了与消费者贴的更近,早期的OS X的浏览器是IE。当时的乔布斯将OS X当自己的孩子一般生养,软件品质达到前所未有高度。特别是在图像处理领域,很多专业软件成为了媒体和电影工业的标配。 苹果的软件目前还不能说是差,毕竟工业设计设计和优秀硬件的支撑还摆在那里。只是说苹果软件质量的每况愈下,让人有点忧心忡忡。革命性创新不在,更新个软件还老出问题,乔帮主打下的大好江山没准就在这用户体验的慢慢损耗中消失殆尽。希望库克不要把苹果的软件部门搞得太软,要不然未来九泉之下,你有何颜面去见乔布斯?