苹果的错误
Original2009 年 11 月
我不认为苹果意识到 App Store 审批流程有多糟糕。或者更确切地说,我不认为他们意识到它有多糟糕。
苹果运营 App Store 的方式比他们所做的一切都更损害了他们在程序员中的声誉。他们以前在程序员中的声誉很好。过去,你听到的最常见的关于苹果的抱怨是,他们的粉丝对他们过于盲目崇拜。App Store 改变了这一点。现在很多程序员开始把苹果看作邪恶的。
苹果曾经在程序员中拥有的多少善意因为 App Store 而丧失了?三分之一?一半?而且这仅仅是到目前为止。App Store 是一个持续的业力泄漏。
苹果是如何陷入这种困境的?他们的根本问题是他们不理解软件。
他们对待 iPhone 应用的方式就像对待他们通过 iTunes 出售的音乐一样。苹果是渠道;他们拥有用户;如果你想接触用户,你必须按照他们的条件来做。唱片公司勉强同意了。但这种模式不适用于软件。它不适用于让中间商拥有用户。软件行业在 1980 年代初期就意识到了这一点,当时像 VisiCorp 这样的公司表明,虽然“软件”和“出版商”这两个词可以放在一起,但它们背后的概念却不一样。软件不像音乐或书籍。对于第三方来说,在开发人员和用户之间充当中间人太复杂了。然而,这就是苹果试图通过 App Store 做的事情:一个软件出版商。而且是一个特别专横的出版商,有着挑剔的品味和严格执行的风格。
如果软件出版在 1980 年行不通,那么现在软件开发已经从少数几个大型版本演变成持续不断的少量版本,它就更行不通了。但苹果也不理解这一点。他们的产品开发模式源于硬件。他们会一直做某件事,直到他们认为它完成了,然后他们才会发布它。你必须对硬件这样做,但由于软件很容易改变,因此它的设计可以从演变中获益。现在开发应用程序的标准方法是快速发布并迭代。这意味着每次发布新版本时,长时间的随机延迟都是灾难性的。
显然,苹果的态度是,开发人员在向 App Store 提交新版本时应该更加小心。他们会这么说。但他们再强大,也无法逆转技术的发展。程序员不是因为懒惰才使用快速发布和迭代。他们使用它是因为它能带来最好的结果。通过阻碍这一过程,苹果迫使他们做糟糕的工作,程序员对此的厌恶程度与苹果一样。
如果苹果发现 OS X 中存在严重错误,他们会喜欢在不立即发布软件更新的情况下,将代码提交给一个中间商,该中间商会将其保留一个月,然后因为不喜欢其中的图标而拒绝它吗?
通过破坏软件开发,苹果得到了与他们预期相反的结果:目前在 App Store 中可用的应用程序版本往往是旧的和有错误的。一位开发人员告诉我:
由于他们的流程,App Store 充斥着半成品应用程序。我几乎每天都会制作一个新版本,并将其发布给测试用户。App Store 上的版本感觉很旧,很糟糕。我相信很多开发人员都有这种感觉:“我对 App Store 中的内容并不感到自豪”,而且这种感觉还伴随着“这确实是苹果的错”。
另一位写道:
我相信他们认为他们的审批流程通过确保质量来帮助用户。实际上,像我们这样的错误一直都在通过,然后可能需要 4-8 周才能获得该错误修复的批准,这使得用户认为 iPhone 应用有时就是无法正常工作。对苹果来说更糟糕的是,这些应用程序在其他具有立即审批流程的平台上运行良好。
实际上,我认为苹果还有第三个误解:所有关于 App Store 审批的抱怨都不是什么大问题。他们一定听到了开发人员的抱怨。但合作伙伴和供应商总是抱怨。如果他们不抱怨,那将是一个不好的信号;这意味着你对他们太宽容了。与此同时,iPhone 的销量比以往任何时候都好。那么他们为什么要修复任何东西呢?
从短期来看,他们之所以能逃脱虐待开发人员的行为,是因为他们制造了如此出色的硬件。几天前,我刚买了一台新的 27 英寸 iMac。它太棒了。屏幕太亮了,磁盘出奇地响,但它太漂亮了,你无法让自己在意。
所以我买了它,但这是我第一次带着疑虑买它。我感觉就像买了一件在人权记录很差的国家制造的东西。这很新鲜。过去,当我从苹果购买东西时,那是一种纯粹的快乐。太棒了!他们制造了如此出色的东西。这一次,感觉就像一个浮士德式的交易。他们制造了如此出色的东西,但他们真是混蛋。我真的想支持这家公司吗?
苹果应该关心像我这样的人的想法吗?如果他们疏远了他们用户中的一小部分人,会有什么区别?
他们应该关心这一点有两个原因。一个是这些用户是他们想要作为员工的人。如果你的公司看起来很邪恶,最好的程序员就不会为你工作。从 90 年代开始,这对微软造成了很大的伤害。程序员开始对在那里工作感到羞愧。这似乎是出卖了自己的灵魂。当微软的人与其他程序员交谈时,他们会提到自己的工作地点,就会有很多关于自己加入了黑暗势力而自嘲的笑话。但对微软来说,真正的问题不是他们雇佣的人的尴尬。而是他们从未得到的人。你知道是谁得到了他们吗?谷歌和苹果。如果微软是帝国,他们就是反叛联盟。而且,在很大程度上是因为他们得到了更多最优秀的人才,谷歌和苹果今天比微软做得更好。
为什么程序员对他们雇主的道德如此挑剔?部分原因是他们有能力挑剔。最好的程序员可以在任何他们想工作的地方工作。他们不必为一家他们有疑虑的公司工作。
但我认为,程序员挑剔的另一个原因是邪恶会带来愚蠢。一个通过行使权力而获胜的组织,开始失去通过做好工作而获胜的能力。对于一个聪明人来说,在一个最好的想法不是获胜的想法的地方工作,并不是一件有趣的事情。我认为谷歌如此热衷地接受“不作恶”的原因,与其说是为了给外界留下深刻印象,不如说是为了让自己免受傲慢的侵蚀。 [1]
到目前为止,这对谷歌来说是有效的。他们变得更加官僚,但除此之外,他们似乎一直坚持自己的最初原则。苹果似乎并非如此。当你看到著名的 1984 年广告 时,现在更容易想象苹果是屏幕上的独裁者,而不是拿着锤子的女人。 [2] 事实上,如果你读独裁者的演讲,它听起来很像对 App Store 的预言。
我们已经战胜了不讲原则的事实传播。
我们有史以来第一次创造了一个纯粹意识形态的花园,在那里,每个工人可以安全地从矛盾和混乱的真相的害虫中绽放。
苹果应该关心程序员对他们的看法,另一个原因是,当你销售一个平台时,开发人员是成败的关键。如果有人应该知道这一点,那就是苹果。VisiCalc 创造了 Apple II。
而程序员为他们使用的平台构建应用程序。大多数应用程序——可能大多数初创公司——都是从个人项目发展而来的。苹果本身也是如此。苹果制造微型计算机,因为那是史蒂夫·沃兹尼亚克想要为自己做的。他买不起小型机。 [3] 同样,微软最初也是为小型微型计算机制作解释器,因为 比尔·盖茨和保罗·艾伦有兴趣使用它们。很少有初创公司不构建创始人自己使用的产品。
iPhone 应用如此之多的主要原因是,如此之多的程序员拥有 iPhone。他们可能知道,因为他们在文章中读到过,黑莓拥有这样的市场份额。但实际上,RIM 就像不存在一样。如果他们要构建一些东西,他们希望能够自己使用它,这意味着构建一个 iPhone 应用。
因此,程序员继续开发 iPhone 应用,即使苹果继续虐待他们。他们就像陷入虐待关系中的人一样。他们对 iPhone 的吸引力如此之大,以至于他们无法离开。但他们正在寻找出路。一位写道:
虽然我喜欢为 iPhone 开发,但他们对 App Store 的控制并没有让我像我希望的那样有动力去开发应用程序。事实上,除非绝对必要,否则我不打算再制作任何 iPhone 应用程序。 [4]
有什么能打破这种循环吗?到目前为止,我还没有看到任何设备能做到。Palm 和 RIM 毫无希望。唯一可信的竞争者是 Android。但 Android 是一个孤儿;谷歌并不真正关心它,不像苹果关心 iPhone 一样。苹果关心 iPhone 的方式就像谷歌关心搜索一样。
手持设备的未来会被苹果锁定吗?这是一个令人担忧的前景。拥有另一个像 1990 年代那样令人沮丧的单一文化将是一件令人沮丧的事情。在 1995 年,为最终用户编写软件实际上等同于编写 Windows 应用程序。我们对这种前景的恐惧是我们开始构建 网络应用程序 的最大动力。
至少我们现在知道打破苹果锁定的方法。你必须让程序员不再使用 iPhone。如果程序员使用其他设备进行移动网络访问,他们就会开始为该设备开发应用程序。
你如何才能制造出程序员比 iPhone 更喜欢的设备?你不太可能制造出设计更好的东西。苹果在这方面没有留下任何空间。因此,这种替代设备可能无法在普遍吸引力方面获胜。它必须凭借对程序员的特殊吸引力而获胜。
吸引程序员的一种方法是使用软件。如果你 能想到程序员必须拥有的应用程序,但它在 iPhone 的有限世界中是不可能的, 你就可以推测他们会切换到该应用程序。
如果程序员开始将手持设备用作开发机器——如果手持设备取代了笔记本电脑,就像笔记本电脑取代了台式机一样——这种情况肯定会发生。你需要对开发机器有比苹果允许你在 iPhone 上拥有的更多控制权。
有人能制造出一种可以像手机一样随身携带的设备,但也能用作开发机器吗?很难想象它会是什么样子。但我已经学会了永远不要对技术说“不”。根据目前的标准,一部可以作为开发机器使用的手机大小的设备,与 1995 年的标准相比,iPhone 本身似乎并不神奇。
我目前的开发机器是 MacBook Air,我在办公室里使用外接显示器和键盘,旅行时单独使用。如果有一个尺寸减半的版本,我更喜欢它。这仍然不足以像手机一样随身携带,但我们相差了 4 倍左右。这个差距肯定是可以弥合的。事实上,让我们把它变成一个 RFS。需求: 拿着锤子的女人。
注释
[1] 当谷歌采用“不作恶”时,他们还很小,没有人会期望他们会这样做。
[2] 顺便说一下,1984 年广告中的独裁者不是微软; 是 IBM。在那些日子里,IBM 似乎更可怕,但 他们对开发人员比现在的苹果更友好。
[3] 他甚至买不起显示器。这就是为什么 Apple I 使用电视作为显示器。
[4] 我与之交谈的几个人提到了他们有多喜欢 iPhone SDK。问题不在于苹果的产品,而在于他们的政策。 幸运的是,政策是软件;如果苹果想改变,他们可以立即改变。很方便,不是吗?
感谢 Sam Altman、Trevor Blackwell、Ross Boucher、 James Bracy、Gabor Cselle、 Patrick Collison、Jason Freedman、John Gruber、Joe Hewitt、Jessica Livingston、 Robert Morris、Teng Siong Ong、Nikhil Pandit、Savraj Singh 和 Jared Tame 阅读了本文的草稿。