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