苹果号称他们审核应用的流程是为了“保证它们是可靠的,如期运行的,没有包含攻击性内容的。”但现实中该流程却是既缓慢又专制的。
一般情况下,审核流程不耗费掉你7天时间是不大可能的,多者甚至几个星期。如果当中有需要和开发人员在有关审核规则上进行来回沟通的话,所消耗的时间会更长。这结果从某种程度揭示出苹果所定下的规则是存在模凌两可和过于宽泛的问题的。一些看上去完全合理的应用最终也许会审核失败而得不到通过。这种低效且质量低下的应用审核机制,正在给用户和开发人员带来伤害。
低效的审核速度所带来的两个伤害
审核太慢会反过来损害应用的可靠性。 现实世界中,开发人员不可能对所有的可能导致应用崩溃的边界情况都进行详尽的测试,幸运的是,一旦一个应用投放市场之后,我们就可以从最终用户中获得反馈。但是当我们根据用户的反馈将问题解决后,该解决版本却需要放在等待审核的队列中休眠上至少一个星期的时间。应用的最终用户花了几个星期的时间来和存在问题的老版本应用进行周旋抗争,很不容易等到开发人员把问题解决了,新版本却被苹果以可靠性检查为由扣留住了。
苹果虽然提供了一个专门针对新修改的补丁审核流程,但这同样也只是给它们的用户带来更多的失望而已,因为就算仅仅增加了一个新功能,所需的审核时间基本上都会超过一天的时间。
也许有人会反驳说,如果开发人员知道要发布他们的改动所需要等待的时间是如此漫长的话,他们就会对这些改动更加小心翼翼,以保证其正确性。这也许在某种程度上是正确的,但要知道世上并不存在完全没有bug的软件,大家应该很清楚,你对一个改动越是如履薄冰胆惊心颤的,就越容易引发出另外一个问题出来。
缓慢的审核过程拖慢创新的步伐。 我们今天看到的主流网站基本上每一两天就会发布一些小更新,这是效率和快速调整适应的一个体现。反观苹果,它却把所有在它的平台上面开发软件的公司和开发 人员都拖入了它那尚处于90年代的大而全的发布风格里面去,让今天盛行的快速迭代根本无从谈起。如果所有的网站都像苹果这样只有正常的1/7或者1/14 的迭代速度的话,那么你现在最喜欢的网站有可能发展到如今的样子吗?
特殊的审核规则令情况越加恶化
苹果将自己自诩为品味和言论的裁判。 想想如果你要买辆车,但对方却告诉你这辆车是不允许开到脱衣舞夜总会的;或者说你现在去买个电视,但这个电视却不允许播放福克斯新闻频道。那么现在你意识到我们其实也是在完全遵循着那个市场占有率达40个百分比的公司强加给你的规则了吧?
想当年因为看中了其出色的相机功能,一不小心选择了苹果的这个手机平台,这就意味着你将完全被禁锢在对方强加给你的观点里面了。我们都有父母,我们都有着用脚都能投票的权利,但是苹果却用“将有存在揶揄公共人物的头像的或者过分暴露皮肤的应用拒之门外”这一条凌驾在我们以上提及的所有这些权利之上,还美其名曰为了保护用户。
除此之外,苹果还有一些其他一些类似的条文, 如应用不能有招聘主题,不能有就算合法的大麻的信息,不能有枪支图片,不能有搜索引擎,不采纳Drones应用(编者注:苹果对无人机Drones应用的否决已经不是一朝一夕的事情了,有兴趣的大家可以看看这篇文章)。
乔布斯曾经辩称他是在为我们提供真正的自由,远离色情的自由。苹果宣称:
“如果你想要评判一个宗教,那么写本书吧。如果你想要描写性,写本书或者写首歌,再或者创作一个医疗应用程序。它可以很复杂,但是我们决定不允许某些类型的内容在苹果商店中出现……我们将拒绝任何包含越界内容或行为的应用程序。”
但是你要知道,应用是一个当代人类进行交流的非常有力的一个表现形式,而作为这些应用的开发人员,我们应该有足够的自由来表达我们的观点。
苹果的审核规则将苹果自身置于用户之上。 这里最好的例子就是对应用内部购买功能的限制了,想来苹果是给金钱冲昏了头脑了,竟然因为内部购买功能不能分给它30%的收益而禁止该功能的出现,导致用户不能在Kindle应用上面购买书籍,或在Youtube应用上面不能购买视频,以及在漫画应用上面不能购买漫画,而这些功能在安卓上面是完全没有问题的。
在苹果应用商店初期,苹果拒绝收录一个应用的原因,竟然仅仅是因为那些应用和苹果自身内置的应用存在竞争关系。苹果的态度问题其实众所周知,比如它把从开发人员卖出去的应用中分一杯羹的事情,说成冠冕堂皇的“苹果给开发人员发钱”,而事实上更应该是“开发人员通过自己的劳动赚取收入,而苹果从中硬生生的切了一块走“。
苹果的审核过于主观且执行力不强。 一个软件从第一版出来开始,其中存在不少的问题是在所难免的,所以我们才需要不停的将问题进行解决,并进行快速迭代发布。但是可能审核人员会因为以他的专业眼光理解不了你的应用,而将你的应用发布给拒绝掉,或者突然间就通知你需要加一些额外的声明,或者因为你没有遵循苹果的TouchID API的调用方法而将你的应用刷下来。这些规则都是如此的空泛:商店中的应用必须是没有bug的,不能有隐藏功能的,必须有持久价值的——这种泛泛而谈的东西相当于将所有东西一网打尽囊括其中,任凭你苹果如何判定而已。
苹果的申诉流程同样也是缓慢且充满不确定因素的,所以开发人员只能边等待边祈祷了。那么大家放眼望去,苹果商店中依然充斥着大量有bug和不安全的应用,如果苹果审核真的要求无bug化的话,这不是自己打自己嘴巴吗?你审核的标准究竟在哪里呢?苹果在它们的审核条款中是这样空泛的回答的:“当你触碰到了自然你就知道了我们的标准在哪里了”。
苹果当初之所以能存在并发展起来,皆因其创始人是在一个“任何地方的的任何开发人员都可以编写应用给任何地方的任何用户使用”的世界中成长起来的,开发人员和用户之间并不需要一个媒人进行牵桥搭线。
大家是否还记得1984年的那个著名的苹果商业广告中,苹果是如何自诩为自由之音的。但现在大家可以看到的事实是,苹果站在了自由的对立面,站在了控制者的那一边,强力推行集权主义来限制用户该如何在它的条条框框下使用它的设备。任何人如果有参加过编程马拉松的话应该都会碰到这种情况,马拉松结束后你的应用可以在安卓平台上当天就提供给用户进行下载使用,而在苹果的iOS平台上的话,抱歉,你只需要等上一个星 期,所以你如果要玩编程马拉松的话,请还是别考虑在苹果平台上玩了。所以,在苹果流畅的动画和闪亮轻薄的外观的背后,我看到我们正在走的是一条黑暗的不归路。
愤怒有理
近来媒体已经为其他一些控制与反控制的硝烟消耗了不少的笔墨,比如 Amazon vs. Hachette之争, TimeWarner vs CBS之争, Verizon vs. net neutrality之争, Google vs. Yelp之争。现在也许是时候费点笔墨在苹果这个苹果应用商店的守门人身上了,这扇门还要是那么一扇你只能进不能出的禁闭之门(编者注:作者想表达的意思应该是:一旦你成为苹果用户,里面就有太多的条条框框强加在你身上,从而你就会对其平台有高度的依赖性。当我们过度依赖一个东西的时候,往往我们就很难逃离 其中),而该守门人对开发人员关上方便门的唯一一个原因竟然是因为他们的独权主义和自满骄傲的心态,而这比因为收益底下而将应用拒之门外来得更加糟糕。
我们很多人都会担心我们这样的对苹果进行高谈阔论、进行批评会引来对方的报复。难以置信的是,苹果确实曾经写出过这样的威胁:“如果你的应用被拒绝,你可以向我们的审核理事会进行投诉。坦白告诉你们,你们跑去媒体那抨击我们是无济于事的。”如果苹果真的因为开发人员的公开言论而对其进行处罚限制,那么我们又能向谁申诉呢?
而这里还存在其他的一些人是被苹果的美观俘获,以致可以对苹果的所有不合理的冒犯行为视而不见。
改善建议
苹果运用其手上的巨大的资源去实现审核自动化,或者雇佣更多的人来加快审核流程就真的这么难吗?(你看人家谷歌就做到了应用的审核接近实时的速度,而这个世界也没有因此而末日到来啊?)
更好点的做法是苹果放松应用内容审核的限制。为什么不让用户自己决定该应用是否让人恶心呢?该应用是否有用呢?该应用是否太多bug呢?而不是你苹果主动请缨的来做我们的保姆。还有一点就是苹果将自己开发的应用列入白名单,放在显眼的位置让用户最快能找到,而我们开发人员写的应用必须由用户搜索或者通过连接才能找到。
考虑进一步对TestFlight进行补充完善,让大家可以更方便的发布测试版的应用,而不会影响正常的审核流程,这样用户就不需要每次都等待漫长的审核流程才能拿到测试版应用进行体验了,相似的这种做法其实在安卓早期就已经毫无疑问的提供给用户了。
此外,我现在给不出其他更具体的解决方案出来。但问题就摆在面前,期待苹果和大家共同努力来将问题进行解决。有时我甚至极端的希望所有的主流应用开发人员联合起来一起将苹果商店上的应用下架一天,以给苹果施压,告诉苹果他们这种缓慢的审核流程给我们带来的伤害是不容忽视的。
如果我当时还在公司任职的时候写下这篇文章,这无疑等同于我向公司写下了封辞职信,但现在我已经离开了该公司了,所以我的这些言论应该不会给之前的公司带来任何的伤害了。作为一个苹果应用的开发人员,我觉得我现在非常有必要好好谈谈苹果这种审核制度,带给我们所有开发人员的伤害,所以才有了这篇文章的诞生。
后记
在我将本文推送到推特后,很快就收到了不少看起来值得讨论的反馈,这里我列举一些出来并一一进行回复。
1、“苹果商店还是非常有用的,你看看其他商店上面所充斥的动不动就崩溃及恶意的软件就知道了”。
苹果的审核流程当然在保护用户和开发人员方面也不是一无是处的,但:
至少根据我多年的应用开发和使用经验来看,所谓安卓上面充斥大量的容易崩溃可和有恶意行为的应用这个观点是夸大其词的。
很难去提供可信的考证来证明究竟哪个平台的应用更稳定。
当前缓慢的审核流程,其实远远超过了为了保持商店的整洁迷人所需要的程度。反观安卓等其他平台的措施,比如说,引入审核自动化,以及给优秀开发人员提供白名单就是个不错的改进措施。
你苹果总不能因为开发人员公开对你进行批判你就对开发人员发表威胁言论吧
自由有时确实会比控制带来更多的混乱,但别忘记了控制只是过程,最终我们的终极目标还是需要走向自由的。
2、“是用户自己要选择苹果产品的,又没有人拿着枪强迫他们了。”
如果用户知道苹果商店里面的应用连对政治人物开玩笑的内容都不让出现的话,按照美国的自由思想,你觉得还有多少用人愿意购买iPhone呢?而你又觉得有多少人知道iPhone和其他智能手机提供差不多的功能后依然会选择购买呢?
用户在选择iPhone的同时,也不会意识到他选择使用苹果商店上面的应用会带给开发人员多少的麻烦,而这其实最终又会反过来对用户所使用的应用的质量造成冲击。
3、 “听起来你这家伙其实并不知道这究竟是怎么回事。”
事实胜于雄辩。本文是在本人多年开发了不少的流行应用的过程中思考的结晶,你也可以去找其他同行大公司的开发人员打听下,看下他们是不是也是一样的看法。
如果大家还有任何相关疑问的,你可以到我的推特上看那大量的评论,当然,如果你喜欢的话,你也可以在上面进行评论。
在本文发布后,我收到了网友发过来的一篇文章“苹果会对公开对其诟病的开发人员发出威胁言论"(编者注:本人将计划提供该文的中文版,敬请大家在本站或本人公众号期待),该文在Hacker News获得了最高的”Heartbreaking"级别的评级:
“我是一个17岁的苹果应用的开发人员。苹果的应用商店透明度太低,让人感觉讳莫如深。 就好像一个深不见底的黑洞一样,我将我的应用的修改丢到该黑洞之后,往往有如石沉大海,根本收不到任何的回响和没有任何的控制权。苹果决定着我什么时候得到回报,决定着我的应用什么时候一夜之间会被连根拔起,而作为开发人员的我,对此竟毫不知情。"
4、“你应该为苹果建立这个应用商店而偷笑了,没有了它你的应用可以覆盖这么多人群吗?”
我们不能因为苹果商店在某一个方面做的出色就可以一白遮百丑吧?况且,在这一点上你不去比较下安卓商店以及互联网上覆盖更多用户的情况?这种情况下人家还没有你苹果的这么多条条框框的控制了,你怎么不说呢?
最后也许大家值得认真的好好去思考下究竟怎么样才是合理且必须的。