Fixing the App Store

I began work­ing on this arti­cle sev­eral months ago, but other things took pri­or­ity and I pretty much for­got about it. The recent bout of blo­g­or­rhea over Apple and its DRACONIAN CONROL!! of the App Store prompted me to dust it off. For the record, I am in agree­ment with those who argue that there are prob­lems with the App Store. Months ago I wrote that I thought the entire process was being mis­man­aged. On the other hand, I have yet to hear a pro­posal to “fix” the App Store that I think would actu­ally work. So, since I’m just arro­gant enough to think that I can do bet­ter, read on to hear my pro­posal for cor­rect­ing the issues with the App Store…if you dare.

Assumptions and Background

Before get­ting to the rec­om­men­da­tions I think that it’s a good idea to define the ground rules. Without a shared under­stand­ing of the play­ing field, any dis­cus­sion is bound to fail under the weight of incor­rect assumptions.

The first thing that we need to define is the play­ers in our lit­tle drama. As far as I’m con­cerned there are three groups who’s inter­ests need to be con­sid­ered when dis­cussing the App Store. They are:

  • Apple
  • Application Developers
  • End Users

Note that I’m not includ­ing other enti­ties such as the cel­lu­lar car­ri­ers, gov­ern­men­tal reg­u­la­tory groups, or ide­o­logues such as the Free Software Foundation. As far as I’m con­cerned, the inter­ests of of the car­ri­ers and the gov­ern­ments are rolled into Apple’s inter­ests as part of doing busi­ness. The inter­ests of the ide­o­logues, to the extent that they can’t just be dis­missed entirely, can be expressed by the abil­ity of end users to just not buy iPhones. Any dis­cus­sion of how to “fix” the App Store must con­sider the needs of all three groups in my list.

The sec­ond thing to define is what actu­ally con­sti­tutes a fix. For my pur­poses, a fix to the App Store needs to max­i­mize the ben­e­fit to all three legs of my App Store tri­pod. Fixes that work to the ben­e­fit of a sin­gle leg of the tri­pod to the exces­sive detri­ment of the other legs, a prob­lem that plagues most of the sug­ges­tions that I’ve seen so far, will be dismissed.

The next thing to con­sider are the needs of the groups involved. I’m pre­sent­ing these needs from the per­spec­tive of the group involved. Some may dis­agree with their valid­ity, but each group feels that they are requirements.

I think that Apple has, arguably, the most com­pli­cated set of needs of the three groups. Apple needs the App Store to be pop­u­lar in and of itself. It needs the App Store to be stocked with a large selec­tion of pop­u­lar appli­ca­tions. Note that I didn’t say “high-quality” appli­ca­tions. If the mar­ket demands fart apps then so be it. Apple needs to be rea­son­ably sure that appli­ca­tions on the iPhone will not run afoul of their con­tracts with the var­i­ous cel­lu­lar car­ri­ers or gov­ern­men­tal reg­u­la­tions. Apple also feels the need to pro­tect them­selves from legal lia­bil­ity in regards to copy­right and trade­mark infringe­ment, as well as pro­tec­tion from con­sumer com­plaints about the con­tent con­tained within iPhone appli­ca­tions. This last point is the one that most peo­ple seem to take excep­tion with. You can argue its valid­ity all you want, but Apple has made it abun­dantly clear that they con­sider this non-negotiable.

The group with the next most com­pli­cated set of needs is, I think, the devel­op­ers. App devel­op­ers also need or the App Store to be pop­u­lar. There is no deny­ing that the App Store has been an amaz­ing dis­cov­ery venue for numer­ous devel­op­ers who would have had much more dif­fi­culty being rec­og­nized. Developers need for their appli­ca­tions to be dis­cov­er­able within the App Store. Developers need to have clearly defined rules of what will be allowed on the iPhone plat­form, and clear com­mu­ni­ca­tion when those rules change. Lastly, as long as Apple imposes any sort of approval process, that process needs to be effi­cient, trans­par­ent and consistent.

Lastly, the needs of the end users are sim­ple. The end user needs a device that works and does the job that they pur­chased it to do. Note that I’m specif­i­cally reject­ing notions such as: the end user needs “freedom.”

The Current State of the App Store

I don’t think that it’s nec­es­sary to detail how the App Store cur­rently works. Everyone famil­iar enough with the sit­u­a­tion too have read 750 words into this man­i­festo knows how the thing works. What I do want to do is exam­ine how the App Store is bro­ken, for bro­ken it surely is.

Arguably, from Apple’s per­spec­tive, the App Store is work­ing just swim­mingly. Despite the screech­ing and howl­ing from the blo­gos­phere iPhones, iPod Touches and soon iPads are sell­ing in record num­bers. The App Store has a met­ric fuck-ton of appli­ca­tions avail­able and there have been bajil­lions of said appli­ca­tions down­loaded in the since the App Store opened for busi­ness. Really, the only down­side to the App Store for Apple is the whin­ing and com­plain­ing about it from the blogtards.

From the end user point of view, things are also not so bad. Again, there are a plethora of appli­ca­tions to cover all man­ner of needs. Most appli­ca­tions are avail­able at rea­son­able price-points and, while the App Store does have issues with dis­cov­ery due to the sheer vol­ume of apps avail­able, it isn’t as bad as it could be. It can be argued that Apple’s strict con­trol over what can be offered in the App Store has some down­sides to the con­sumer. Those who have debated me on this issue via Twitter will prob­a­bly be stunned to know that I actu­ally am gen­er­ally an advo­cate for con­sumer choice. On the other hand I real­ize that unfet­tered choice doesn’t really ben­e­fit anyone.

Lastly we have the devel­op­ers, who have cer­tainly been the most vocal about the per­ceived prob­lems. I will agree that the App Store approval process has been slow, inef­fi­cient and opaque (although some of that has changed in recent months). I’ll also agree that Apple’s strict con­trol of what can and can­not be done with the plat­form is frus­trat­ing. Lastly I’ll also con­cede that seem­ingly arbi­trary enforce­ment of what poli­cies are made pub­lic is unac­cept­able. Finally there is the issue of “dis­cov­er­abil­ity.” Much has been made of the “99 cent ghetto” and the morass of fart apps, but this is a com­pli­cated issue. Who deter­mines if an app is wor­thy of notice?

To sum­ma­rize, the major issues in need of address­ing in the App Store are:

  • Approval Process/Communication
  • Apple’s Control Issues
  • Discoverability

What Won’t Work

There have been a few sug­ges­tions 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 sim­plest sug­ges­tion is that Apple main­tain the sta­tus quo. While I think that this would work in the short term, I don’t think that it is ulti­mately sus­tain­able. While I am firmly of the belief that the future of con­sumer com­put­ing will be the closed model that Apple is push­ing with the iDe­vices (see here), I do not think that the cur­rent App Store model is opti­mal for all three of the groups that I ini­tially iden­ti­fied. Ultimately a dif­fer­ent model is needed.

Another sug­ges­tion that has been bandied about is to remove the App Store entirely and revert to the model that has been used in desk­top com­put­ing since time immemo­r­ial. Developers build appli­ca­tions using what­ever tools that they have avail­able, which can be installed on any device with­out restric­tion. This. Will. Not. Happen. Apple derives too many ben­e­fits from the pres­ence of an App Store to aban­don it entirely. And it’s not just Apple that ben­e­fits from the App Store. For every Wil Shipley, Craig Hockenberry, Adobe and Electronic Arts, devel­op­ers with the mar­ket­ing savvy and infra­struc­ture to sur­vive with­out the App Store, there are hun­dreds if not thou­sands of devel­op­ers who greatly ben­e­fit from Apple pro­vid­ing the mar­ket­ing and infra­struc­ture of the App Store. The end user also man­i­festly ben­e­fits from the pres­ence of a cen­tral­ized, Apple vet­ted col­lec­tion of appli­ca­tions; all acces­si­ble with a sin­gle account.

Yet another solu­tion that I have seen bandied about is for Apple to remove all “cen­sor­ship” from the App Store. Often the def­i­n­i­tion of “cen­sor­ship” varies depend­ing on the per­sonal bug­bear of the per­son sug­gest­ing it, but it can range from fairly tight restric­tions (just let my boo­bie app in) to utter free­dom. In the most extreme form of this pro­posal you would see Apple App Store Reviewers per­form­ing only checks too see if the appli­ca­tion was mal­ware or pos­sesses obvi­ous bugs. Uses pri­vate API’s but works for now: accepted! Serves to do noth­ing but dis­play a pic­ture of a man’s pro­lapsed rec­tum: accepted! This also will not hap­pen. Apple has made it clear that they do not want appli­ca­tions on the iDe­vices that access unpub­lished and pri­vate APIs. Additionally, they have made it clear that they think that they have some legal expo­sure regard­ing appli­ca­tions that they resell. I don’t think that any­thing 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 solu­tion to above mess. First I want to give credit where credit is due. None of this was devel­oped in a vac­uum. I’m indebted to the many (too many to name) peo­ple who have writ­ten sanely on this topic. Much of this is a syn­the­sis of things that oth­ers have pro­posed. Also I’d like to reit­er­ate that my goal here is to pro­pose a sus­tain­able solu­tion that opti­mizes the ben­e­fits to Apple, devel­op­ers and the end users. I also know that there is effec­tively zero chance of any of this actu­ally being imple­mented, but what the hell.

In broad strokes, my pro­posal would be to:

  • Retain the App Store
  • Publish a crys­tal clear set of rules, guide­lines and work­flows regard­ing the App Store approval process
  • Optimize the approval process
  • Develop a non-App Store “Approved Developer” pro­gram that allows instal­la­tion of soft­ware directly to the iDevice

Let’s exam­ine these individually.

The App Store

As I wrote above, it’s essen­tially incon­ceiv­able that Apple will aban­don the App Store model. In my pro­posal Apple would retain con­trol of the App Store and would be allowed to be as restric­tive as they want to be. This would be Apple’s play­ground and they could restrict it to whomever they wanted. There really isn’t much else to say about this com­po­nent of my pro­posal, since it’s not much dif­fer­ent than the cur­rent situation.

Documentation

To accom­pany the newly dra­con­ian App Store I would require that Apple do some­thing that it hon­estly should already be fuck­ing doing. Specifically, Apple would need to pub­lish and main­tain a crys­tal clear set of rules about what is, and is not allowed in the App Store. Additionally they would need to pro­vide more trans­parency into the approval process such as proper work­flows and esca­la­tion paths. I would also pro­pose here that Apple take a cue from the reg­u­la­tions being imposed on banks regard­ing terms of ser­vice changes. Specifically Apple would com­mit to pro­vid­ing a cer­tain num­ber of days notice before enact­ing changes to the rules.

Optimize the Approval Process

Since I ini­tially began work on this piece sev­eral months ago, Apple has made great strides in improv­ing at least the speed of the approval process. I would pro­pose that they take this to the next level in a few ways.

First, devel­op­ers should have an offi­cial chan­nel to “pre-approve” pos­si­ble appli­ca­tions. This should be a senior team well-versed in the cur­rent rule-set. This would elim­i­nate much of the sup­posed “uncer­tainty” that devel­op­ers claim they cur­rently experience.

Second, to the extent that they haven’t already done this, Apple needs to aban­don the “call cen­ter” model that I believe they have been using and move to a model based on soft­ware QA. A well manned team of review­ers should eval­u­ate each appli­ca­tion com­pletely (no reject­ing apps on the first issue) and only via rig­or­ous appli­ca­tion of the rules. Ambiguous sit­u­a­tions should default to esca­la­tion to a senior team instead of blind rejection.

Third, every step of the approval process should be trans­par­ent to the devel­oper. As the appli­ca­tion pro­gresses though the process the iTunes Connect sys­tem should show the progress along with a reach­able con­tact respon­si­ble for the application.

Fourth, there should be a proper esca­la­tion process for sit­u­a­tions where the devel­oper thinks that their appli­ca­tion was rejected in error. This esca­la­tion process should be sub­ject to the same trans­parency require­ments as the rest of the process.

Lastly, sub­mis­sions to address rejec­tion issues and bug-fixes to accepted appli­ca­tions should be put in a fast-track queue. Developers who abuse the bug-fix queue to add addi­tional content/functionality would face revo­ca­tion of their access to the App Store.

“Sideloading” Applications

Now we come to the real meat of the pro­posal. The devel­op­ment of a sys­tem to allow devel­op­ers to offer their wares out­side of the App Store and for end users to install those appli­ca­tions directly to their iDe­vices. Note that most of the func­tion­al­ity to allow this to hap­pen is already present in XCode, iTunes and the iDe­vices. Also note that I am not talk­ing about unre­stricted access to the device a’la the “desk­top” Mac OS. What I am propos­ing is the following:

Apple insti­tutes a new “class” of devel­oper (the ADC pro­gram already acknowl­edges dif­fer­ent classes of devel­op­ers), call it “iPhone Preferred Developer” per­haps. To become a mem­ber of the “Preferred Developer” pro­gram a devel­oper would first agree to a smaller, but equally well defined and strin­gently policed set of guide­lines. Some guide­lines that Apple would almost cer­tainly require would be

  • No code inter­preters (fuck you Adobe)
  • No using unpublished/private API’s
  • Nothing that vio­lates Apple’s con­trac­tual requirements
  • No mal­ware (with a spe­cific set of guide­lines as to what con­sti­tutes “malware”)

Other items that I think would be rea­son­able would be things such as:

  • No copyright/trademark violations
  • No “ille­gal” con­tent (a grey area admit­tedly, but I’m think­ing things like child porn)

Secondly, the devel­oper would be required to pony up more than the cur­rent $99 that it takes to obtain an iPhone devel­op­ment cer­tifi­cate. I’m think­ing some­thing in the $500 to $1000 range, if not more. I can already hear the howls from the devel­op­ers, but bear with me. I think that for a pro­posal like this to work there has to be some sub­stan­tial con­se­quence for fail­ing to fol­low the rules. Money usu­ally works for that.

On the end user side, the expe­ri­ence would essen­tially be a com­bi­na­tion of the cur­rent dis­tri­b­u­tion model for desk­top appli­ca­tions and the iTunes expe­ri­ence. A user could down­load an .ipa file from a developer’s web site, which would open in iTunes. After an ini­tial user agree­ment screen inform­ing the end user that they are about to com­mit an atroc­ity and absolv­ing Apple of any and all legal respon­si­bil­ity the appli­ca­tion would install. Obviously this func­tion­al­ity would be an ideal place to insert “parental” con­trols to pre­vent the unau­tho­rized instal­la­tion of non-App Store content.

Apple’s role would be sim­ple. Upon receipt of the money, Apple would issue the devel­oper a spe­cial cer­tifi­cate to allow the appli­ca­tion install process to work. This is essen­tially the same as the cur­rent process that allows devel­op­ers to install their appli­ca­tions to phys­i­cal devices for test­ing. From that point a ded­i­cated team would peri­od­i­cally review the appli­ca­tions being offered by the devel­oper. Upon detec­tion of a vio­la­tion of the rules the devel­oper would have their cer­tifi­cate revoked, with or with­out a chance to cor­rect the issue as the case mer­its. Apple could also for­ward the developer’s infor­ma­tion to the appro­pri­ate author­i­ties if the case merited.

Whither “Discoverability”

You might notice that my pro­posal doesn’t con­tain any sug­ges­tions that would improve the issues sur­round­ing appli­ca­tion dis­cov­er­abil­ity. That’s because I don’t have any­thing to offer here. I hon­estly can’t think of a solu­tion to this issue that doesn’t involve Apple play­ing gate­keeper; which is a sit­u­a­tion that no one wants.

Winding Down

So, there you have it, my sug­ges­tion how to “fix” the iTunes App Store and related processes. Will any of this hap­pen? Probably not, but if any­one at Apple is lis­ten­ing, my con­sul­ta­tion rates are very reasonable.

  • bkhar­mony

    tl;dr

  • kiil

    I like the points you make. Your idea for side­load­ing has its mer­its but I believe that until iPhone, iPad, and iPod touch users start com­plain­ing loudly Apple will not allow an offi­cial way to directly add aps.

    Regarding “Discoverability” — the solu­tion is adver­tis­ing. Advertising online, on air, in news­pa­pers and mag­a­zines and even on bill­boards. I under­stand that a small devel­oper might not have the funds for adver­tis­ments but I am sur­prised that they are not band­ing into groups and asso­ci­a­tions. Form guilds, clubs or what have you in order to share costs and more impor­tant a voice. It is also time to think out of the box.

    No one has reported about com­pa­nies who have signed up for Apple’s iPhone Developer Enterprise Program. It allows com­pa­nies with 500 or more employ­ees to deploy in-house appli­ca­tions to their users. That means as far as I know, no need for App review and accep­tance from Apple itself.

    I could eas­ily imag­ine a developer(s) offer­ing a com­plete pack­age ( Enterprise Program sign-up assis­tance + iPads / iPod touches + SQL back­end or other inhouse server solu­tions) to firms ( retail chains, clin­ics, dis­tri­b­u­tion cen­ters and so on).. Even small com­pa­nies who would use fewer than 100 devices could profit from Ad Hoc dis­tri­b­u­tion. All they need is the Standard Program. $99 dol­lars (per reg­is­tered devel­oper) to be able to deploy to upto 100 devices is cheap. It also means no 30% cut for Apple.

    I see the iPad (elec­tric clip­board) as a seri­ous advan­tage for devel­op­ers to break into enter­prise and offers new per­spec­tives. Think back to the 90’s and how com­pa­nies where locked into funky Access data­base solu­tions.

    Ian

  • http://mattstocum.com Matt Stocum

    I could see Apple even require that bina­ries be sub­mit­ted through iTunes Connect for the “Preferred Developer” pro­gram, but instead of going into an approval queue, the devel­oper gets a link to down­load a signed binary from Apple. This way Apple could run the binary through their pri­vate API detec­tor, and would have a solid list of all appli­ca­tions being deployed this way, and a quick way to revoke devel­oper access if they abuse the sys­tem. I think Palm imple­ments some­thing very sim­i­lar to this right now.

  • ZPedro

    Just a lit­tle prob­lem: “From that point a ded­i­cated team would peri­od­i­cally review the appli­ca­tions being offered by the devel­oper.” How can they do so if the appli­ca­tions are dis­trib­uted on the side, poten­tially with­out Apple know­ing about it? One solu­tion would be that it is Apple that actu­ally finally signs the binary — but then sends it back to the devel­oper for use as he sees fit. Another is: how can they revoke the developer’s cer­tifi­cate in a mean­ing­ful way? Either they stop sign­ing apps from the dev, but it doesn’t pre­vent the dev from still sell­ing his already signed bina­ries, or they go all the way and broad­cast a cer­tifi­cate revo­ca­tion to all the devices (which inci­den­tally would pre­vent already bought apps from run­ning), and this would be too heavy handed, and hap­pen too often for this to be prac­ti­cal, in my opin­ion.

    However, I feel this or some­thing sim­i­lar will be nec­es­sary in the end: Apple has recently made it clear that the App Store isn’t just a repos­i­tory of all iPho­neOS soft­ware, but should actu­ally be seen more like a retail store; to which I say, okay, but then it shouldn’t be the only store in town. It could be a “Salon des refusés”, it could be man­ual side load­ing, it could be some­thing else peo­ple haven’t thought of, but it will be nec­es­sary in the end.

    Also, Apple needs to stop treat­ing apps as just another kind of media; they are not.

  • Anonymous

    Just a lit­tle prob­lem: “From that point a ded­i­cated team would peri­od­i­cally review the appli­ca­tions being offered by the devel­oper.” How can they do so if the appli­ca­tions are dis­trib­uted on the side, poten­tially with­out Apple know­ing about it? One solu­tion would be that it is Apple that actu­ally finally signs the binary — but then sends it back to the devel­oper for use as he sees fit. Another is: how can they revoke the developer’s cer­tifi­cate in a mean­ing­ful way? Either they stop sign­ing apps from the dev, but it doesn’t pre­vent the dev from still sell­ing his already signed bina­ries, or they go all the way and broad­cast a cer­tifi­cate revo­ca­tion to all the devices (which inci­den­tally would pre­vent already bought apps from run­ning), and this would be too heavy handed, and hap­pen too often for this to be prac­ti­cal, in my opinion.

    However, I feel this or some­thing sim­i­lar will be nec­es­sary in the end: Apple has recently made it clear that the App Store isn’t just a repos­i­tory of all iPho­neOS soft­ware, but should actu­ally be seen more like a retail store; to which I say, okay, but then it shouldn’t be the only store in town. It could be a “Salon des refusés”, it could be man­ual side load­ing, it could be some­thing else peo­ple haven’t thought of, but it will be nec­es­sary in the end.

    Also, Apple needs to stop treat­ing apps as just another kind of media; they are not.