Apple does a lot of things right. Over the last several years they have made some unpopular decisions that turned out to be good ones. For instance, their refusal to support Flash on the iPhone OS is criticized by many, but it's the right call. Most people know Flash sucks, but up until now no one has had the balls to do something about it.

More recently Apple has been criticized for updating their terms of service to block applications created by 3rd-party frameworks that allow people to write code in another language, then compile it into Objective-C (Apple's native programming language). Again, it's the right call. It may be convenient for some to write Mac and Windows apps in Flash or ASP or Hebrew for that matter, but that's not how it works. Apps should be created in the language they were intended for. It's a ballsy move, but in my opinion it's absolutely the right one.

Now that Android phones outnumber iPhones and Apple has some legitimate competition, it's time Apple makes another bold move: fix the App Store.

What's the Problem?

Great developers have already ditched the iPhone OS by the boatload because of the App Store's flaws. Here are just a few:

  1. Developers are 100% at Apple's mercy with regards to the approval process, which has been inconsistent at best. They can't release products, bug fixes or so much as a launch date for their apps because they are restricted to a vague approval timeline controlled by Apple.
  2. Marketing efforts are limited because you can't give out promo codes or even 30-day trials
  3. It's costly to have a customer refund policy because Apple keeps their 30% cut either way
  4. App Store exposure is difficult to say the least and developers have little to no control over marketing their app from within the proprietary store
  5. Forget the prospect of measuring conversion and analytics surrounding the sale of your application because you can't even sell it on your own website

Imagine buying OSX apps this way ... what a nightmare! Imagine having to drop by the Apple store just to check out an app you read about, then pay more than you normally would because Apple takes 30%. I believe this process stunts both application developer growth and Apple's growth of the iPhone OS. It may be profitable in the short term for Apple, but could be devastating in the long term.

Solution #1: Make Inclusion Optional

  1. Selling your product in the App Store should be optional.
  2. Developers need the means to distribute, promote and sell their application however they want. Apple only gets their 30% cut for products sold in their store.

The App Store would still exist as a formidable way to sell your app without having to worry about payment processing or a website. But if some developers prefer do it all on their own, they deserve that opportunity.

Solution #2: Make the Approval Process Optional

Apple's argument against this suggestion is all about security and performance. They want the ability to keep the iPhone OS as secure and bug-free as possible. I totally get that, which is why application approval/certification should still be available to all developers whether they sell their product in the App Store or not.

As a developer, even if I don't want to sell my product in the App Store I should be able to pay a flat fee structure for Apple to review and approve my product just like all the ones in the App Store. Developers that pay the fee get the exact same treatment as App Store products.

While I completely understand the approval process and why it exists, I still believe it should be optional. iPhone users don't lease the devices from Apple, they own them. Therefore it's my right to screw it up with applications Apple doesn't support or approve if I want. Apple could limit the APIs and access in the SDK for unapproved apps, or throw up a big warning before installation; either would be reasonable. I just don't see why this has to be any different from installing an application for OSX.

Solution #3: Ditch iTunes

iTunes was awesome 10 years ago. Since then it's progressively morphed into the slowest, most bloated app on the Mac platform. It makes no sense for iTunes to serve all the purposes it does today. It should be scaled back to the music player/organizer it was always meant to be. Here's how:

  • Make the iTunes Store web-based. The irony of Steve's open letter blasting Flash is that he talks about Flash being a proprietary platform. Guess what iTunes is? Proprietary! Thanks to all the great technologies talked about in that letter (HTML5, web standards), the store would lose nothing if they transitioned to a web app. Hopefully that's the direction they are headed by acquiring LaLa.
  • Re-work iSync. Apple's iSync used to be pretty good at syncing Macs with other devices. iPhone OS devices should use a dedicated application like iSync to keep all their data in check. Furthermore, developers should be granted access to sync their applications through iSync as well, instead of forcing users to do it over WIFI as a completely separate process.

I could learn to love iTunes again if it just did what it was intended to do and played/organized my music.

In the end I have no problem with the iPhone OS being proprietary. So are OSX and Windows. But I think developers must continue to publicly challenge Apple's unfair practices with regards to the App Store. The iPhone OS will not scale or perform at it's full potential as long as it's constrained by the App Store bubble. When Apple decides to put developers in a position to succeed, they in turn will achieve a greater level of success.