I began working on this article several months ago, but other things took priority and I pretty much forgot about it. The recent bout of blogorrhea over Apple and its DRACONIAN CONROL!! of the App Store prompted me to dust it off. For the record, I am in agreement with those who argue that there are problems with the App Store. Months ago I wrote that I thought the entire process was being mismanaged. On the other hand, I have yet to hear a proposal to “fix” the App Store that I think would actually work. So, since I’m just arrogant enough to think that I can do better, read on to hear my proposal for correcting the issues with the App Store—if you dare.
Assumptions and Background
Before getting to the recommendations I think that it’s a good idea to define the ground rules. Without a shared understanding of the playing field, any discussion is bound to fail under the weight of incorrect assumptions.
The first thing that we need to define is the players in our little drama. As far as I’m concerned there are three groups who’s interests need to be considered when discussing the App Store. They are:
- Application Developers
- End Users
Note that I’m not including other entities such as the cellular carriers, governmental regulatory groups, or ideologues such as the Free Software Foundation. As far as I’m concerned, the interests of of the carriers and the governments are rolled into Apple’s interests as part of doing business. The interests of the ideologues, to the extent that they can’t just be dismissed entirely, can be expressed by the ability of end users to just not buy iPhones. Any discussion of how to “fix” the App Store must consider the needs of all three groups in my list.
The second thing to define is what actually constitutes a fix. For my purposes, a fix to the App Store needs to maximize the benefit to all three legs of my App Store tripod. Fixes that work to the benefit of a single leg of the tripod to the excessive detriment of the other legs, a problem that plagues most of the suggestions that I’ve seen so far, will be dismissed.
The next thing to consider are the needs of the groups involved. I’m presenting these needs from the perspective of the group involved. Some may disagree with their validity, but each group feels that they are requirements.
I think that Apple has, arguably, the most complicated set of needs of the three groups. Apple needs the App Store to be popular in and of itself. It needs the App Store to be stocked with a large selection of popular applications. Note that I didn’t say “high-quality” applications. If the market demands fart apps then so be it. Apple needs to be reasonably sure that applications on the iPhone will not run afoul of their contracts with the various cellular carriers or governmental regulations. Apple also feels the need to protect themselves from legal liability in regards to copyright and trademark infringement, as well as protection from consumer complaints about the content contained within iPhone applications. This last point is the one that most people seem to take exception with. You can argue its validity all you want, but Apple has made it abundantly clear that they consider this non-negotiable.
The group with the next most complicated set of needs is, I think, the developers. App developers also need or the App Store to be popular. There is no denying that the App Store has been an amazing discovery venue for numerous developers who would have had much more difficulty being recognized. Developers need for their applications to be discoverable within the App Store. Developers need to have clearly defined rules of what will be allowed on the iPhone platform, and clear communication when those rules change. Lastly, as long as Apple imposes any sort of approval process, that process needs to be efficient, transparent and consistent.
Lastly, the needs of the end users are simple. The end user needs a device that works and does the job that they purchased it to do. Note that I’m specifically rejecting notions such as: the end user needs “freedom.”
The Current State of the App Store
I don’t think that it’s necessary to detail how the App Store currently works. Everyone familiar enough with the situation too have read 750 words into this manifesto knows how the thing works. What I do want to do is examine how the App Store is broken, for broken it surely is. Arguably, from Apple’s perspective, the App Store is working just swimmingly. Despite the screeching and howling from the blogosphere iPhones, iPod Touches and soon iPads are selling in record numbers. The App Store has a metric fuck-ton of applications available and there have been bajillions of said applications downloaded in the since the App Store opened for business. Really, the only downside to the App Store for Apple is the whining and complaining about it from the blogtards.
From the end user point of view, things are also not so bad. Again, there are a plethora of applications to cover all manner of needs. Most applications are available at reasonable price-points and, while the App Store does have issues with discovery due to the sheer volume of apps available, it isn’t as bad as it could be. It can be argued that Apple’s strict control over what can be offered in the App Store has some downsides to the consumer. Those who have debated me on this issue via Twitter will probably be stunned to know that I actually am generally an advocate for consumer choice. On the other hand I realize that unfettered choice doesn’t really benefit anyone.
Lastly we have the developers, who have certainly been the most vocal about the perceived problems. I will agree that the App Store approval process has been slow, inefficient and opaque (although some of that has changed in recent months). I’ll also agree that Apple’s strict control of what can and cannot be done with the platform is frustrating. Lastly I’ll also concede that seemingly arbitrary enforcement of what policies are made public is unacceptable. Finally there is the issue of “discoverability.” Much has been made of the “99 cent ghetto” and the morass of fart apps, but this is a complicated issue. Who determines if an app is worthy of notice?
To summarize, the major issues in need of addressing in the App Store are:
- Approval Process/Communication
- Apple’s Control Issues
What Won’t Work
There have been a few suggestions that I have seen that I feel to be dead on arrival. I’ll briefly explore them, and why I think that they won’t work.
The simplest suggestion is that Apple maintain the status quo. While I think that this would work in the short term, I don’t think that it is ultimately sustainable. While I am firmly of the belief that the future of consumer computing will be the closed model that Apple is pushing with the iDevices (see here), I do not think that the current App Store model is optimal for all three of the groups that I initially identified. Ultimately a different model is needed.
Another suggestion that has been bandied about is to remove the App Store entirely and revert to the model that has been used in desktop computing since time immemorial. Developers build applications using whatever tools that they have available, which can be installed on any device without restriction. This. Will. Not. Happen. Apple derives too many benefits from the presence of an App Store to abandon it entirely. And it’s not just Apple that benefits from the App Store. For every Wil Shipley, Craig Hockenberry, Adobe and Electronic Arts, developers with the marketing savvy and infrastructure to survive without the App Store, there are hundreds if not thousands of developers who greatly benefit from Apple providing the marketing and infrastructure of the App Store. The end user also manifestly benefits from the presence of a centralized, Apple vetted collection of applications; all accessible with a single account.
Yet another solution that I have seen bandied about is for Apple to remove all “censorship” from the App Store. Often the definition of “censorship” varies depending on the personal bugbear of the person suggesting it, but it can range from fairly tight restrictions (just let my boobie app in) to utter freedom. In the most extreme form of this proposal you would see Apple App Store Reviewers performing only checks too see if the application was malware or possesses obvious bugs. Uses private API’s but works for now: accepted! Serves to do nothing but display a picture of a man’s prolapsed rectum: accepted! This also will not happen. Apple has made it clear that they do not want applications on the iDevices that access unpublished and private APIs. Additionally, they have made it clear that they think that they have some legal exposure regarding applications that they resell. I don’t think that anything is going to change Apple’s stance on these points.
What’s to be Done
Finally we’ve reached the point where I expound on my genius solution to above mess. First I want to give credit where credit is due. None of this was developed in a vacuum. I’m indebted to the many (too many to name) people who have written sanely on this topic. Much of this is a synthesis of things that others have proposed. Also I’d like to reiterate that my goal here is to propose a sustainable solution that optimizes the benefits to Apple, developers and the end users. I also know that there is effectively zero chance of any of this actually being implemented, but what the hell.
In broad strokes, my proposal would be to:
- Retain the App Store
- Publish a crystal clear set of rules, guidelines and workflows regarding the App Store approval process
- Optimize the approval process
- Develop a non-App Store “Approved Developer” program that allows installation of software directly to the iDevice
Let’s examine these individually.
The App Store
As I wrote above, it’s essentially inconceivable that Apple will abandon the App Store model. In my proposal Apple would retain control of the App Store and would be allowed to be as restrictive as they want to be. This would be Apple’s playground and they could restrict it to whomever they wanted. There really isn’t much else to say about this component of my proposal, since it’s not much different than the current situation.
To accompany the newly draconian App Store I would require that Apple do something that it honestly should already be fucking doing. Specifically, Apple would need to publish and maintain a crystal clear set of rules about what is, and is not allowed in the App Store. Additionally they would need to provide more transparency into the approval process such as proper workflows and escalation paths. I would also propose here that Apple take a cue from the regulations being imposed on banks regarding terms of service changes. Specifically Apple would commit to providing a certain number of days notice before enacting changes to the rules.
Optimize the Approval Process
Since I initially began work on this piece several months ago, Apple has made great strides in improving at least the speed of the approval process. I would propose that they take this to the next level in a few ways.
First, developers should have an official channel to “pre-approve” possible applications. This should be a senior team well-versed in the current rule-set. This would eliminate much of the supposed “uncertainty” that developers claim they currently experience.
Second, to the extent that they haven’t already done this, Apple needs to abandon the “call center” model that I believe they have been using and move to a model based on software QA. A well manned team of reviewers should evaluate each application completely (no rejecting apps on the first issue) and only via rigorous application of the rules. Ambiguous situations should default to escalation to a senior team instead of blind rejection.
Third, every step of the approval process should be transparent to the developer. As the application progresses though the process the iTunes Connect system should show the progress along with a reachable contact responsible for the application.
Fourth, there should be a proper escalation process for situations where the developer thinks that their application was rejected in error. This escalation process should be subject to the same transparency requirements as the rest of the process.
Lastly, submissions to address rejection issues and bug-fixes to accepted applications should be put in a fast-track queue. Developers who abuse the bug-fix queue to add additional content/functionality would face revocation of their access to the App Store.
Now we come to the real meat of the proposal. The development of a system to allow developers to offer their wares outside of the App Store and for end users to install those applications directly to their iDevices. Note that most of the functionality to allow this to happen is already present in XCode, iTunes and the iDevices. Also note that I am not talking about unrestricted access to the device a’la the “desktop” Mac OS. What I am proposing is the following:
Apple institutes a new “class” of developer (the ADC program already acknowledges different classes of developers), call it “iPhone Preferred Developer” perhaps. To become a member of the “Preferred Developer” program a developer would first agree to a smaller, but equally well defined and stringently policed set of guidelines. Some guidelines that Apple would almost certainly require would be
- No code interpreters (fuck you Adobe)
- No using unpublished/private APIs
- Nothing that violates Apple’s contractual requirements
- No malware (with a specific set of guidelines as to what constitutes “malware”)
Other items that I think would be reasonable would be things such as:
- No copyright/trademark violations
- No “illegal” content (a grey area admittedly, but I’m thinking things like child porn)
Secondly, the developer would be required to pony up more than the current $99 that it takes to obtain an iPhone development certificate. I’m thinking something in the $500 to $1000 range, if not more. I can already hear the howls from the developers, but bear with me. I think that for a proposal like this to work there has to be some substantial consequence for failing to follow the rules. Money usually works for that.
On the end user side, the experience would essentially be a combination of the current distribution model for desktop applications and the iTunes experience. A user could download an .ipa file from a developer’s web site, which would open in iTunes. After an initial user agreement screen informing the end user that they are about to commit an atrocity and absolving Apple of any and all legal responsibility the application would install. Obviously this functionality would be an ideal place to insert “parental” controls to prevent the unauthorized installation of non-App Store content.
Apple’s role would be simple. Upon receipt of the money, Apple would issue the developer a special certificate to allow the application install process to work. This is essentially the same as the current process that allows developers to install their applications to physical devices for testing. From that point a dedicated team would periodically review the applications being offered by the developer. Upon detection of a violation of the rules the developer would have their certificate revoked, with or without a chance to correct the issue as the case merits. Apple could also forward the developer’s information to the appropriate authorities if the case merited.
You might notice that my proposal doesn’t contain any suggestions that would improve the issues surrounding application discoverability. That’s because I don’t have anything to offer here. I honestly can’t think of a solution to this issue that doesn’t involve Apple playing gatekeeper; which is a situation that no one wants.
So, there you have it, my suggestion how to “fix” the iTunes App Store and related processes. Will any of this happen? Probably not, but if anyone at Apple is listening, my consultation rates are very reasonable.