我想苹果还没有意识到应用商店(App Store)的审批过程多么糟糕。或者说,我想他们还没有意识到这件事的重要性。
苹果运营应用商店的方式已经败坏了苹果在程序员中的名声,这是前所未有的。苹果在程序员中的名声曾经不错。过去人们对苹果抱怨最多的一点就是苹果粉丝喜欢苹果到了不加鉴别的地步。苹果应用商店改变了这一点。现在很多程序员已经开始视苹果为邪恶。
应用商店让苹果在程序员中的美誉损失多少呢?三分之一?一半?而这只是目前的情况。苹果应用商店是一场的因果报应。
* * *
苹果是如何陷入这种困境的呢?他们的根本问题在于他们不懂软件。
苹果通过iTunes销售音乐,他们也以这种方式对待软件。苹果是渠道;他们拥有用户;如果你想接触用户,你必须满足苹果的要求。唱片公司勉强同意了。但这种模式不适合软件。中间商拥有用户是不靠谱的。软件公司在20世纪80年代早期就意识到了这一点,当时VisiCorp等公司就已经证明:尽管“软件”和“发布商”可以拼凑到一起,但两者的根本理念格格不入。软件不像音乐或图书。第三方很难在开发者和用户之间充当中介。但苹果想通过应用商店扮演中介的角色:软件发布商。 并且一个异常野心勃勃的软件发布商,品位挑剔,实施严格的出版风格。
如果软件发布在20世纪80年代不靠谱的话,现在更不靠谱,因为在过去,软件开发过程由为数不多的几次重大发布组成,而现在这个过程由连续不断的小规模发布组成。但苹果也不懂得这一点。他们的产品开发模式源于硬件。他们会一直开发产品,直到他们认为产品完成时才对外发布。对于硬件你不得不这么做,但因为软件太容易更改,所以软件设计从不断完善中受益。现在开发软件的标准方式是快速启动不断完善(launch fast and iterate)。换而言之,在每次发布新版本软件时,长时间、随机的拖延是一场灾难。
显然苹果认为开发者在向应用商店提交新版本时应该非常谨慎。苹果当然会这么说。诚然,苹果很强大,但还没有强大到可以逆转科技的进步。程序员不采用“快速启动不断完善”的做法是出于懒惰。如果采用就会产生最佳结果。但通过阻止这个过程,苹果影响了程序员的工作效果,并且程序员和苹果一样讨厌蹩脚的作品。
设想一下,如果苹果在OS X中发现一个严重漏洞,但不能立刻发布一个软件更新,而是不得不把代码提交给一个中介审批,而经过一个月的审批之后,中介拒绝了申请,因为代码中有一个中介不喜欢的图标,苹果会高兴吗?
破坏软件开发过程让苹果事与愿违:应用商店里应用现有的版本往往已经过时、漏洞百出。一名开发者曾对我说:
由于苹果的审核过程,应用商店里到处都是半吊子应用。我几乎每天制作一个新版本,然后发给测试用户。应用商店里的版本看上去陈旧而蹩脚。我相信很多开发者也这么想:一方面“应用商店里的版本我真的拿不出手”,但另一方面“说实话,都是苹果的错”。
另一个人写道:
我相信苹果的批准过程可以保证应用质量,对用户有利。实际上,像我们提交的这些漏洞一直都有,往往需要4-8周漏洞补丁才能获批,这让用户认为iPhone应用有时不靠谱。对苹果更不利的是,这些应用在其它平台上运行正常,因为这些平台拥的批准过程非常快捷。
实际上我认为苹果还存在第三个误区:所有应用商店审批相关的抱怨都无关紧要。他们必须倾听开发者的怨言。但合作伙伴和供应商的抱怨从没停止过。怨言消失将是一个不利的信号,因为这意味着你对他们的要求太宽松了。与此同时iPhone前所未有地畅销。所以,苹果有什么理由去弥补呢?
由于苹果的硬件产品非常棒,短期来看,他们可以侥幸逃过虐待开发者这件事。几天前我刚买了一台新的27英寸iMac。漂亮极了。可屏幕太亮,并且硬盘会发出奇怪的响声,但它太漂亮了,以至于你可以忽略这些瑕疵。
所以,我买了一台iMac,但这是我第一次在抱有疑虑的情况下购买的。如果我购买某国(该国有不良人权纪录)制造的产品也会有类似感受。这是才有的事。过去,当我购买苹果产品时会享受纯粹的快感。天哪!他们居然能做出这么出色的东西。但这次给我的感觉像是一笔浮士德交易【注:Faustian bargain,意指出卖关键性的东西以获取短期利益】。他们居然能做出这么出色的东西,可他们是如此令人生厌。我真想支持这家公司吗?
* * *
ⅶⅶ