Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Apple 的错误

原文:Apple’s Mistake
作者:Paul Graham 发表:2009-11
译者:Claude(baoyu-translate)

2009 年 11 月

我觉得 Apple 没意识到 App Store 的审核流程已经烂成什么样了。或者更准确地说,他们没意识到“它已经烂了“这件事到底有多重要。

Apple 经营 App Store 的方式,对它在程序员心目中的口碑造成的伤害,比他们干过的任何事都严重。Apple 在程序员中的口碑过去是非常好的。过去你听到对 Apple 最常见的抱怨,反倒是它的拥趸太不加批判地崇拜它。App Store 改变了这一切。如今很多程序员开始把 Apple 看作“邪恶“。

Apple 因为 App Store 损失了多少在程序员中曾经积下的善意?三分之一?一半?这还只是到目前为止。App Store 是一个还在持续漏掉名声的“业障泄漏点“。

Apple 是怎么把自己搞到这般田地的?根本问题是:他们不懂软件。

他们对待 iPhone App 的方式,和他们通过 iTunes 卖音乐的方式一样。Apple 是渠道;用户归他们所有;你想接触用户,就得按他们的规矩来。唱片公司当年虽然不情愿,最终也接受了这种格式。但这个模式对软件不适用。“中间人占有用户“这套对软件不灵。软件这一行早在 1980 年代初就已经付完学费了——VisiCorp 这样的公司证明了一件事:虽然“软件“和“出版商“两个词搭起来读着很顺,但它们底下的概念其实并不兼容。软件不像音乐和图书。它太复杂了,没法让一个第三方坐在开发者和用户之间当中介。但 Apple 想用 App Store 做的,恰恰就是这件事——做一个软件出版商,而且还是个特别越权的出版商:品味挑剔,“家风“管得严丝合缝。

如果 1980 年时“软件出版商“这套都行不通了,那今天就更行不通了——软件开发已经从“少量大版本“演化为“持续不断的小版本流“。可这一点 Apple 同样不懂。他们的产品开发模式来自硬件:磨一件东西,磨到自己觉得“完成了“再发布。硬件你必须这么做——但软件极易修改,所以软件设计反而能从演化中受益。如今做应用的标准做法是“快速上线、持续迭代“。这意味着:每发一个新版本就要被随机地拖上一长截,对软件开发是灾难性的。

Apple 的态度大概是:开发者在向 App Store 提交新版本时应该再小心一点。他们当然会这么说。但 Apple 再有权势,也大不到能让技术演化倒着走。程序员之所以采用“快速上线、持续迭代“,并不是因为懒,而是因为那是行之有效的最佳做法。Apple 阻碍这个流程,等于在逼程序员做出烂活儿——程序员讨厌这件事的程度跟 Apple 自己一模一样。

Apple 自己又会怎么想这件事呢——假设有一天 Apple 在 OS X 里发现一个严重 bug,但他们不能立刻发更新,必须先把代码交给某个中间人,让他押一个月,然后再以“里面有一个我们不喜欢的图标“为由把代码驳回?

这种“折断软件开发“的做法,给 Apple 带来的结果恰好与他们的本意相反:你现在能在 App Store 里下到的版本,往往是又老又有 bug 的。一位开发者跟我说:

因为他们这套审核流程,App Store 里到处都是半成品。我几乎每天都会做一个新版本发给我的 beta 用户。但 App Store 上那个版本看起来又老又烂。我相信很多开发者都有同样的感受:一种情绪是“我对 App Store 上挂着的那个版本一点也不自豪“,再叠加另一种情绪——“说真的,这是 Apple 的错。”

另一位开发者写道:

我相信他们认为自己的审核流程是在“保证质量、帮助用户“。但事实上,像我们提交的那种 bug 总是能溜过审核——可一旦修复版本提交上去,往往要等 4 到 8 周才能批下来,结果用户就只会觉得 iPhone 上的应用“有时候就是没法用“。对 Apple 更糟糕的是:这些应用在那些“提交立即生效“的其他平台上跑得好好的。

实际上 Apple 大概还有第三种错觉:他们以为开发者关于 App Store 审核的所有抱怨都不是什么严重问题。他们当然听到了开发者在抱怨。但合作方和供应商总是在抱怨啊——如果他们没在抱怨反倒是坏兆头,说明你对他们太好了。与此同时,iPhone 卖得比以往都好,那他们还有什么需要修复的呢?

Apple 在短期内可以一直这样虐待开发者而不出事,是因为他们硬件做得实在太好。我两天前刚买了一台新的 27 英寸 iMac。它好得不像话。屏幕反光太强,硬盘吵得意外大声——但它漂亮到你根本懒得在意这些缺点。

所以我还是买了它,但那是我第一次买它的时候带着犹豫。我感受到的是那种你买一件“产自人权记录糟糕的国家“的商品时的心情。这种感受是新的。过去我从 Apple 买东西时是一种纯粹的快乐——“哎呀!这帮家伙东西做得真棒!”——而这一次感觉像是一笔浮士德式交易(为得到想要的东西而出卖灵魂的交易):他们东西做得是真好,可这帮人混蛋成那样。我真的想用钱包给这家公司投票吗?

Apple 应不应该在乎像我这样的人怎么想?把一小撮用户得罪了对他们来说又有什么差别?

有几个理由说明他们应该在乎。其一:这一小撮人正是 Apple 想招进来当员工的那种人。如果一家公司看起来“邪恶“,最优秀的程序员就不会来。这件事从 90 年代开始把 Microsoft 害得很惨——那时候,去 Microsoft 工作开始让程序员觉得有点羞耻,像是“卖身了“。Microsoft 的人在跟其他程序员聊天、提到自己在哪儿上班的时候,常常自嘲一句“我已经倒戈到黑暗面去啦“——这是 Star Wars 的梗。但 Microsoft 真正的问题不在于他们已经招进来的人有多尴尬,而在于他们“再也没招到的那些人“。你猜这些人去哪了?去了 Google 和 Apple。如果 Microsoft 是帝国,那 Google 和 Apple 就是义军同盟(Star Wars 梗:帝国 vs. 义军同盟)。Google 和 Apple 今天能比 Microsoft 过得好这么多,很大程度上就是因为他们拿到了更多最好的程序员。

为什么程序员对雇主的道德这么挑剔?部分原因是他们挑得起。最好的程序员可以去任何他们想去的地方工作,他们没必要替一家自己看不上的公司干活。

但我觉得程序员之所以挑剔,还有另一个原因:邪恶会催生愚蠢。一家靠“行使权力“取胜的公司,慢慢就会丧失“靠把活儿做得更好“取胜的能力。而对一个聪明人来说,待在一个“最好的点子并不能赢“的地方一点也不好玩。我觉得 Google 当年那么热切地拥抱 “Don’t be evil(不作恶)”,与其说是为了讨好外界,不如说是给自己接种了一支防傲慢的疫苗。

到目前为止这一招对 Google 还行得通。他们的确变得更官僚了,但除此之外,他们似乎还守住了最初的那些原则。Apple 这边就没那么乐观了。今天再回头看 1984 年的那支著名广告(Apple 1984 年发布 Macintosh 时的电视广告:一位女子手持大锤砸碎大屏上的独裁者画面),你会更容易把今天的 Apple 想象成屏幕上的那个独裁者,而不是手持大锤的那位女子。事实上,如果你把那个独裁者的台词读一遍,听起来简直像是 App Store 的预言:

我们已经战胜了对事实的无原则散播。

我们有史以来第一次,创造了一个纯粹意识形态的花园——在这里,每一名工人都得以安全地绽放,免受相互矛盾、令人困惑的真相之害。

Apple 应该在乎程序员怎么看他们的另一个理由是:当你卖的是一个平台时,开发者就是你的生死。说到这个,全世界最该明白这个道理的就是 Apple 自己——是 VisiCalc 把 Apple II 推上去的。

而程序员是在他们自己用的平台上写应用的。绝大多数应用——大概也包括绝大多数创业公司——都是从私人项目里长出来的。Apple 自己就是这样:当年 Apple 做微机,是因为 Steve Wozniak 自己就想要一台微机——他买不起一台小型机。Microsoft 当年开始为小型微机写解释器,也是因为 Bill Gates 和 Paul Allen 自己想用。一家不做点“创始人自己用“的东西的创业公司,是相当罕见的。

iPhone 上之所以有那么多 App,最主要的原因是有那么多程序员手里拿的是 iPhone。他们当然知道——他们读到过那种文章——Blackberry 占多少多少市场份额。但在现实中,RIM 简直就像不存在一样。如果他们要做点什么,他们想自己用得上,那就意味着做一个 iPhone App。

所以即便 Apple 在持续虐待开发者,开发者还是在继续做 iPhone App。他们就像一个被困在一段被虐关系里的人——他们对 iPhone 太着迷,离不开。但他们一直在找出口。一位开发者写道:

虽然为 iPhone 做开发我确实享受过,但他们在 App Store 上施加的那种控制,让我没有动力按自己想要的方式去做应用了。事实上,除非真的不得已,我不打算再做 iPhone App。

有什么能打破这个循环吗?目前为止,我没看到任何一台设备能做到。Palm 和 RIM 已经没什么希望了。唯一可信的对手是 Android。但 Android 是一个孤儿——Google 并没有真正在乎它,至少不像 Apple 在乎 iPhone 那样。Apple 在乎 iPhone 的方式,相当于 Google 在乎搜索的方式。

手持设备的未来会是一个被 Apple 锁住的世界吗?这是一个让人忧虑的前景。要再来一次 90 年代那种黯淡的“单一垄断格局“,可不是好玩的事。1995 年的时候,“为终端用户写软件“实际上就等于“写 Windows 应用”。我们当年正是被这件事吓到,才一头扎去做 Web 应用。

至少我们现在已经知道:要想撬开 Apple 的锁,需要做什么——你得让 iPhone 离开程序员的手。如果程序员开始用别的设备来做移动端的访问,他们就会开始为那个设备做应用了。

可你怎么做出一台让程序员比 iPhone 更喜欢的设备?要在工业设计上做得更好几乎不可能——这条路 Apple 没给你留空间。所以这个替代设备多半不能靠“普遍吸引力“取胜。它得靠“专门对程序员的吸引力“赢。

吸引程序员的一种办法是软件。如果你能想到一种程序员非有不可、但在 iPhone 那个被划好的小天地里又根本做不到的应用,你大概就能让他们换设备。

这件事如果真发生,最大的可能性是:程序员开始把手持设备当开发机用——就像当年笔记本电脑取代台式机那样,手持设备开始取代笔记本。可你需要对一台开发机有更大的控制权,而 Apple 给你对 iPhone 的控制权远远不够。

谁能做出一台“装在口袋里像手机、但同时能当开发机“的设备?很难想象它会长什么样。但我从过去学到的一条教训是:在技术上永远别说“绝不“。一台手机大小、却能用来开发的设备,按今天的标准来看的奇迹程度,不会比 iPhone 在 1995 年那个标准里看起来的奇迹程度更夸张。

我现在的开发机是一台 MacBook Air——在办公室里我外接显示器和键盘,出门就单机用。如果有一台只有它一半大的版本,我会更喜欢。它仍然没小到能像手机那样随身带着,但我们离那个尺度已经只差大概 4 倍了。这道差距肯定可以填上。事实上,让我们把它列为一个 RFS(Request For Startups,YC 公布的“我们希望看到有人做的方向“清单)吧——

招募:手持大锤的女子。