Apple 的错误

想开始创业吗? 获得Y Combinator的资助。


2009年11月

我认为 Apple 没有意识到 App Store 的审批流程有多糟糕。或者更确切地说,我认为他们没有意识到它有多重要,因为它是坏的。

Apple 运营 App Store 的方式比他们以往所做的任何事情都更损害了他们在程序员中的声誉。他们过去在程序员中的声誉非常好。过去你听到的关于 Apple 最常见的抱怨是他们的粉丝对他们的赞美过于不加批判。App Store 改变了这一点。现在很多程序员开始认为 Apple 是邪恶的。

Apple 在 App Store 上损失了多少曾经在程序员中拥有的善意?三分之一?一半?而且这仅仅是目前为止。App Store 是一个持续的业力泄漏。


Apple 是如何陷入这种困境的?他们的根本问题是他们不了解软件。

他们对待 iPhone 应用程序的方式就像对待他们通过 iTunes 销售的音乐一样。Apple 是渠道;他们拥有用户;如果你想接触用户,你就按照他们的条款来做。唱片公司勉强同意了。但是这种模式不适用于软件。中间商拥有用户是不行的。软件行业在 20 世纪 80 年代初就明白了这一点,当时像 VisiCorp 这样的公司表明,虽然“软件”和“发行商”这两个词可以放在一起,但其基本概念却不行。软件不像音乐或书籍。对于第三方来说,充当开发者和用户之间的中介太复杂了。然而,这正是 Apple 试图通过 App Store 做的事情:成为一家软件发行商。而且是一个特别霸道的发行商,有着挑剔的品味和严格执行的内部风格。

如果软件发行在 1980 年行不通,那么现在就更行不通了,因为软件开发已经从少量的大版本发布演变为持续的小版本发布。但 Apple 也不明白这一点。他们的产品开发模式源于硬件。他们会一直工作,直到他们认为它完成了,然后他们发布它。你必须对硬件这样做,但是因为软件很容易更改,所以它的设计可以从演变中受益。现在开发应用程序的标准方法是快速启动并迭代。这意味着每次发布新版本时都有漫长而随机的延迟是一场灾难。

显然,Apple 的态度是开发者在向 App Store 提交新版本时应该更加小心。他们会这么说。但是,无论他们多么强大,他们都不足以扭转技术的发展。程序员使用快速启动和迭代并不是因为懒惰。他们使用它是因为它可以产生最佳结果。通过阻碍这个过程,Apple 正在让他们做糟糕的工作,程序员和 Apple 一样讨厌这一点。

如果 Apple 发现 OS X 中存在严重错误,他们会怎么想,如果他们不能立即发布软件更新,而是必须将他们的代码提交给一个中间商,这个中间商会搁置一个月,然后因为其中包含他们不喜欢的图标而拒绝它?

通过破坏软件开发,Apple 得到了与他们意图相反的结果:App Store 中当前可用的应用程序版本往往是旧的且有错误的。一位开发者告诉我:

由于他们的流程,App Store 充满了半生不熟的应用程序。我几乎每天都会发布一个新版本给 beta 用户。App Store 上的版本感觉又旧又烂。我确信很多开发者都有这种感觉:一种情绪是“我对 App Store 中的东西并不真正感到自豪”,并且它与“真的,这是 Apple 的错”的情绪结合在一起。

另一位写道:

我相信他们认为他们的审批流程通过确保质量来帮助用户。实际上,像我们这样的错误一直都会通过,然后可能需要 4-8 周才能获得该错误修复的批准,这让用户认为 iPhone 应用程序有时就是无法工作。更糟糕的是,这些应用程序在具有即时审批流程的其他平台上运行良好。

实际上,我想 Apple 还有第三个误解:所有关于 App Store 审批的抱怨都不是一个严重的问题。他们肯定会听到开发者的抱怨。但是合作伙伴和供应商总是在抱怨。如果他们不抱怨,那将是一个糟糕的迹象;这意味着你对他们太容易了。与此同时,iPhone 的销量比以往任何时候都好。那么他们为什么需要修复任何东西呢?

他们在短期内可以逍遥法外地虐待开发者,因为他们制造了如此出色的硬件。我几天前刚买了一台新的 27 英寸 iMac。它太棒了。屏幕太亮了,磁盘的声音出奇的大,但是它太漂亮了,你无法让自己在意。

所以我买了它,但我买了它,这是第一次,带着不安。我感觉就像在购买一个在人权记录不佳的国家制造的东西一样。这是新的。过去,当我从 Apple 购买东西时,这是一种纯粹的乐趣。哦,天哪!他们制造了如此出色的东西。这一次感觉像是一场浮士德式的交易。他们制造了如此出色的东西,但他们是如此混蛋。我真的想支持这家公司吗?


Apple 应该关心像我这样的人的想法吗?如果他们疏远了一小部分用户,那又有什么关系呢?

他们应该关心的原因有两个。一个是这些用户是他们想要作为员工的人。如果你的公司看起来很邪恶,最好的程序员就不会为你工作。从 90 年代开始,这给 Microsoft 带来了很大的伤害。程序员开始为在那里工作感到羞愧。这似乎是出卖自己。当 Microsoft 的人在与其他程序员交谈时,他们提到了他们在哪里工作,有很多关于加入黑暗面的自嘲笑话。但是 Microsoft 的真正问题不是他们雇佣的人的尴尬。而是他们从未得到的人。你知道谁得到了他们吗?Google 和 Apple。如果 Microsoft 是帝国,他们就是反叛联盟。而且很大程度上是因为 Google 和 Apple 获得了更多最优秀的人才,所以他们今天比 Microsoft 做得更好。

为什么程序员对雇主的道德如此挑剔?部分原因是他们有能力这样做。最好的程序员可以在他们想去的任何地方工作。他们不必为一家他们有顾虑的公司工作。

但我认为程序员挑剔的另一个原因是,邪恶滋生愚蠢。一个通过行使权力获胜的组织开始失去通过做更好的工作获胜的能力。对于一个聪明人来说,在一个最好的想法不是获胜的地方工作并不有趣。我认为 Google 如此热切地拥抱“不作恶”的原因与其说是为了给外界留下深刻印象,不如说是为了防止自己变得傲慢。[1]

到目前为止,这对 Google 来说是有效的。他们变得更加官僚,但除此之外,他们似乎仍然忠于他们的原始原则。对于 Apple 来说,情况似乎并非如此。当你现在看著名的1984 年广告时,更容易想象 Apple 是屏幕上的独裁者,而不是拿着锤子的女人。[2] 事实上,如果你阅读独裁者的演讲,它听起来非常像对 App Store 的预言。

我们已经战胜了不道德的事实传播。

我们在历史上第一次创造了一个纯粹意识形态的花园,每个工人都可以安全地免受矛盾和令人困惑的真理的侵害。

Apple 应该关心程序员对他们的想法的另一个原因是,当你销售一个平台时,开发者会成就或毁掉你。如果有人应该知道这一点,Apple 应该知道。VisiCalc 成就了 Apple II。

程序员为他们使用的平台构建应用程序。大多数应用程序——可能大多数创业公司——都源于个人项目。Apple 本身也是如此。Apple 制造微型计算机是因为那是 Steve Wozniak 为自己想要的东西。他买不起小型计算机。[3] 同样,Microsoft 最初是为小型微型计算机制作解释器,因为 Bill Gates 和 Paul Allen 对使用它们感兴趣。很少有创业公司不构建创始人使用的东西。

iPhone 应用程序如此之多的主要原因是如此之多的程序员拥有 iPhone。他们可能知道,因为他们在文章中读到,Blackberry 拥有如此的市场份额。但在实践中,就好像 RIM 不存在一样。如果他们要构建一些东西,他们希望能够自己使用它,这意味着构建一个 iPhone 应用程序。

因此,程序员继续开发 iPhone 应用程序,即使 Apple 继续虐待他们。他们就像陷入虐待关系中的人。他们被 iPhone 如此吸引,以至于他们无法离开。但他们正在寻找出路。一位写道:

虽然我确实喜欢为 iPhone 开发,但他们对 App Store 的控制并没有给我像我希望的那样开发应用程序的动力。事实上,除非绝对必要,否则我不打算制作更多的 iPhone 应用程序。[4]

有什么可以打破这个循环吗?到目前为止,我见过的任何设备都无法做到。Palm 和 RIM 没有希望。唯一可靠的竞争者是 Android。但是 Android 是一个孤儿;Google 并不真正关心它,不像 Apple 关心 iPhone 那样。Apple 关心 iPhone 的方式就像 Google 关心搜索一样。


手持设备的未来是否会被 Apple 锁定?这是一个令人担忧的前景。如果像我们在 20 世纪 90 年代那样再次出现一个严峻的单一文化,那将是一件令人沮丧的事情。在 1995 年,为最终用户编写软件实际上与编写 Windows 应用程序相同。我们对这种前景的恐惧是推动我们开始构建Web 应用程序的最大因素。

至少我们现在知道打破 Apple 锁定的方法。你必须让程序员不再使用 iPhone。如果程序员使用其他设备进行移动 Web 访问,他们将开始为该设备开发应用程序。

你如何制造一种程序员比 iPhone 更喜欢的设备?你不太可能制造出设计更好的东西。Apple 在那里没有留下任何空间。因此,这种替代设备可能无法凭借其普遍吸引力获胜。它必须凭借其对程序员的某种特殊吸引力获胜。

吸引程序员的一种方法是使用软件。如果你能想到一个程序员必须拥有的应用程序,但在 iPhone 的受限世界中是不可能的,你大概可以让他们切换。

如果程序员开始将手持设备用作开发机器——如果手持设备取代笔记本电脑,就像笔记本电脑取代台式机一样,那肯定会发生。你需要比 Apple 允许你在 iPhone 上拥有的更多的开发机器控制权。

是否有人可以制造一种你可以像手机一样放在口袋里随身携带的设备,但也可以用作开发机器?很难想象它会是什么样子。但我已经学会了永远不要对技术说不。按照现在的标准,一个可以作为开发机器的手机大小的设备并不比按照 1995 年的标准来看 iPhone 本身更神奇。

我目前的开发机器是一台 MacBook Air,我在办公室里使用它与外部显示器和键盘一起使用,并在旅行时单独使用。如果有一个一半大小的版本,我会更喜欢它。这仍然不够小,无法像手机一样随身携带,但我们相差大约 4 倍。当然,这个差距是可以弥合的。事实上,让我们把它变成一个RFS。想要:拿着锤子的女人。

注释

[1] 当 Google 采用“不作恶”时,他们仍然很小,以至于没有人会期望他们作恶。

[2] 顺便说一句,1984 年广告中的独裁者不是 Microsoft;而是 IBM。在那些日子里,IBM 看起来更可怕,但他们对开发者比现在的 Apple 更友好。

[3] 他甚至买不起_显示器_。这就是为什么 Apple I 使用电视作为显示器。

[4] 我交谈过的几个人都提到他们有多喜欢 iPhone SDK。问题不在于 Apple 的产品,而在于他们的政策。幸运的是,政策是软件;如果他们愿意,Apple 可以立即更改它们。方便吧,不是吗?

感谢 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 阅读了本文的草稿。