iPhone应用商店轮盘赌:一个被拒绝的故事

苹果的iPhone应用程序审批随机规则是微不足道的应用程序和疏远开发者提供的食谱

回想1995年5月26日。史蒂夫•乔布斯(Steve Jobs)在沙漠中游荡,与一家名为皮克斯(Pixar)的公司打交道,这家公司制作了关于跳舞台灯的动画电影,并为next制定了下一步计划。比尔·盖茨统治了计算机世界,并写了一份著名的备忘录,宣布微软在互联网的统治地位上严重落后,盖茨确信这将是一股“浪潮”。Microsoft control was slipping and he could feel it.

我的大脑不断返回时刻时,盖茨承认在控制世界的创作冲动的困难 - 因为我一直在闲得无聊等待苹果批准我的书,我的iPhone应用程序的版本,“免费提供给所有。“

[有很多,你会不会在App Store中找到有价值的生产力应用程序。看到“苹果不希望在你的iPhone上使用的21个应用程序。”]

很久以前的三月,我制定了一个简单的计划。我将把我关于开源运动的书的原始文本转储到HTML中,在iPhone屏幕上呈现HTML,并分发副本。为了让读者笑一笑,我还会为这本书写一个新的转发,叫它金色版,每本收费1美元,并将所有收入捐给保护记者委员会,一个如今似乎值得拥有的慈善机构。

这是并不需要了解许多关于iPhone API的棘手的部分,如加速计或摄像头一个简单的想法。它所需要的是一个UIWebView对象打了几个电话,iPhone的操作系统,实现了WebKit的HTML渲染引擎的一部分。轰 - 它的完成。

这项计划的程序很简单,但分布也几乎是不可能的。苹果的App Store是与世界分享你的应用程序的唯一方法,它是由致力于保持对平台的控制监护人的高深莫测的团队专横霸道了。在过去的四个月中,我花费在应用程序本身很少有时间工作,几乎所有的那段时间等待苹果回应。

一个男人,一个计划,一个应用程序商店如果你想把你的应用程序给一个朋友,你可以跳过App Store,但即使这样也需要得到苹果的批准。在启动任何二进制代码之前,iPhone想要看到它的母亲以加密方式签署的便条。特别分发机制严格限制了100份拷贝,并要求每一部iPhone的唯一识别码拷贝与数字签名捆绑在一起。任何认为密码学将解放世界的人都大错特错了。

[如果您无法看到这篇文章中的图像,请点击这里。]

还有一个企业的计划,可能会帮助公司,但它只是一个网站,旨在解决此相同的基本限制:iPhone手机不会做的东西,除非苹果公司允许它。此外,还有一些非常有才华的人专门破解iPhone的安全层,并采取了iPhone的完全控制权,他们所谓的过程“越狱,但这个选项对大多数用户或大多数开发人员来说并不实际。

所以,每个人都被套牢在App Store。在过去的三个月中,我已经提交略有不同的版本我的电子书阅读器的苹果接近了十几次,但代码已被批准只有两次。

如果这个数字听起来有点粗略,那是因为它确实是。在准备这篇文章时,我刚刚发现itunesconnect.apple.com上的一个数据库告诉我,我的申请的金色版本被拒绝了。但两天前我收到的电子邮件中说,它“需要额外的审查时间”。Is it rejected or am I just waiting for the reviewer to come back from a meeting? Other developers confirm that notes like this are the equivalent of a sailor on shore leave in Marseilles saying, "I'll call you."

我的两个应用程序之一 - 免费版本没有新的前锋 - 被接受和几个月拒绝后在App Store发布。我喜欢认为这是即使与新的前进的慈善版本再次被否决大约在同一时间的胜利。唯一的区别是文本的一个额外的块。它甚至不是HTML - 只是ASCII。不知怎的,巡逻的绒绳壮汉决定,双胞胎中的一个略有shaggier头发不能在酒吧加入其他。

[如果不是iPhone,那又是什么?看到“如何选择一个移动开发平台”“的智能电话平台甲developer's眼图”和“跨平台选项:智能手机的Web应用程序。”]

即使是这样的成功也让我感到沮丧,因为一些用户开始抱怨我用JavaScript实现的滚动机制。我喜欢在屏幕的顶部或底部轻轻点击就能让HTML向上或向下滚动的想法。新用户发现的问题从来没有在测试中出现过,毫无疑问,因为测试人员对应用程序太熟悉了(记住,特别的分布规则使得招募测试人员很麻烦)。

还有其他的问题。如果我分发软件,我可以与客户直接沟通。bug报告会来找我。将会有直接的联系。苹果,但是,控制所有的相互作用。用户投诉只有在商品评论出现。有在商店中列出的支持URL,但苹果拥有客户。

所以,我猜了一下,重复了一些用户的问题,并冲出一个bug修复。有没有必要争夺,不过,因为App Store的团队花了大约两周的时间批准十几的我已经加入到我的应用程序代码,因此新线。是什么敲竹杠?谁知道,但用户仍然感到沮丧,即使我知道他们是谁我不能得到新的代码给他们。其他开发商报告同样的问题试图修复错误。

即使你看起来轻松自在,其实不然。在第一次接受版本的两个月后,在批准1.0.2版本的几周后,神秘的保密大师们认定代码中有一些非常糟糕的东西。应用程序商店再次拒绝了该应用程序。我不知道现在是什么情况。

新的和新的再审批过程中的瓶颈被应用商店与Craigslist共享的奇怪结构效应放大了。最新的应用程序在应用商店的首页上得到了最大的发挥,所以每个人都有动力尽可能频繁地上传一个新版本。很明显,iPhone用户的大部分浏览时间都花在了最新的应用程序上;获得新版本的批准会带来销售的激增。(忘了“长尾理论”吧)Craigslist没有过滤功能,但应用程序商店有,这就意味着门卫要做更多的工作。每个人都在疯狂地试图重新获得批准,所以工作量是无穷无尽的。

一些开发商认为,审查人员推迟审批是为了减少这种呼吁关注的影响。这与我经常在提交应用程序后几乎整整一周就收到拒绝通知的做法是一致的。我个人的阴谋论是通过统计数据对审批团队进行评级,比如有多少申请在提交后一周内得到了处理。但也许是别的什么。我们知道了迪克·切尼在中央情报局的计划,但有些秘密得到了更好的保护。

我会更好地感到对App Store的决定,如果他们是可以理解的,可预测的,当他们终于到了,但他们似乎反复无常,往往完全错误的。有些拒绝信声称我是滥用的UIWebView。他们列举了该协议的第3.3.1节:“应用程序只能在苹果规定的方式使用发布的API,不得使用或调用任何未公开或私有的API”

我的应用只是在UIWebView中转储纯HTML。当我回复并展示了苹果文档中以完全相同的方式使用api的例子时,我什么也没听到。当苹果为iPhone开发者创建客户服务团队时,它并没有“不一样的想法”。该公司只是从世界上最糟糕的官僚机构(比如苏联时代的俄罗斯车管所)借鉴了标准的操作程序。然后,它把这个过程放在电子邮件墙后面,让这些异想天开的法西斯分子能够在不接触他们的猫玩具的情况下进行操作。至少在《别人的生活》中,老苏联时代的官僚们不得不看着他们的游戏产生的影响。

一些延迟来是因为我选择了建立我的所谓的PhoneGap的开源项目中的应用。这个项目是围绕一个UIWebView对象的一个​​瘦包装。你写你的HTML和JavaScript代码加载到UIWebView的应用程序,和。这样可以节省你构建出所有的可可代码的麻烦。

您可能认为苹果会欢迎像PhoneGap这样的工具包,因为这样的开源项目可以减少开发人员在一开始遇到的许多常见bug——但这并不是很多人的体验。虽然苹果并没有明确禁止使用PhoneGap,但很明显,他们拒绝了很多——但不是所有——使用它的项目。许多PhoneGap用户报告说他们在拒绝信中收到了和我一样的文字:PhoneGap是一个“外部框架”,这些是被禁止的。

PhoneGap的一些开发商已经取得了一些成功,他们已经与他人分享这一点。幕后的男人和女人只能看链接表看到对象的名称。因此,有人写了一个Python脚本,将用自己编造的包名称取代“PhoneGap的”。瞧 - 它往往工作。

但也要确保从HTML中删除像“gap”这样的词,因为苹果强大的反phonegap工具(grep)可以嗅出它们。当我修改代码以摆脱外部框架时,我无意中在一个HTML页面中留下了一封给PhoneGap团队的感谢邮件。哦。那个文件很快就被标记了。所以我删除了这封感谢信,然后又静下心来等了几个星期。

最新的转折是,我的应用程序被再次拒绝(被批准在几周后),因为PhoneGap的现正式禁止。有希望,不过,因为苹果公司说,这是在与Nitobi的PhoneGap的组织者沟通。当我与Nitobi的人检查,他们告诉我,PhoneGap的是符合100%,而他们在教育苹果合作。但苹果已经告诉他们发狠要注意的规则。

学校的规则在所有这些过程中,我几乎没有从苹果那里得到任何指导。每当我询问需要多长时间进行评测时,我都会收到一封礼貌但毫无价值的电子邮件,上面说“每个提交给苹果的应用程序都有不同的功能、特点和复杂性,这意味着每个应用程序的评测时间都不同。”一旦申请审核过程完成,你将收到一封电子邮件通知。”

如果我问一些深奥的问题——比如为什么他们认为开放源代码是必须禁止的外部框架——我得不到答案。我开始开玩笑说iPhone的开发就像小学一样。你必须自己做所有的工作。不要考虑从Apache代码中复制该方法,因为这可能被视为“私有API”。(Yes, I know that Apple cribbed much of the OS X running on the iPhone from the BSD project, but again this is like elementary school. The teachers can photocopy the worksheets, but the students need to do everything on their own.)

还有一些令人费解的拒绝信。我所做的就是在UIWebView中转储HTML,有一次App Store的Magic-8 ball责备我说:“应用程序本身不能通过任何方式安装或启动其他可执行代码,包括但不限于使用插件架构,调用其他框架,其他api或其他方式。”除由苹果发布的api和内置解释器解释和运行的代码外,应用程序中不得下载和使用解释代码。”

任何谁花了很多时间试图了解计算机科学的更多哲学方面将在本不可能区分怀疑。在最抽象的模型,有一个程序和数据之间没有什么区别。这给出了一个地址,一个餐厅的数据可以被认为是用于绘制地图,反之亦然紧凑的程序。虽然我敢肯定,每个人都认为“好”是“好”与“坏”是“坏”,我也肯定没有保证检测程序,它是要下载好的数据或坏的节目的方式。

不用说,对于应用程序开发此块许多有用的机制。你不能下载旧的错误新的修补程序,甚至包括像在你的应用程序窗口功能。它还块巨大的应用程序,如旧的Commodore 64的游戏模拟器。我觉得谁显然去麻烦得到有效准将许可证只能由一个疯狂的规则被拒绝开发商抱歉。

苹果在这一点上极不一致。一些像AdMob和Medialets这样的广告公司发布从互联网下载复杂广告的预编译代码似乎没有问题。这些程序是明确设计来改变他们的行为,可能违反了苹果的规定,但不知怎么的媒体已经设法与iphone互动10亿倍。还有一个最重要的原因是:Mac和PC用户可以一直依靠自动更新的应用程序生存。

过了一段时间,我开始去打扰我认识的在苹果工作的每一个人,告诉他们整个过程是多么武断和令人恼火。少数人很有礼貌,但他们似乎被要求像良好的企业公民那样行事所束缚。

123. 第1页
第1页共3页
工资调查:结果在