• Publish all software submitted to Apple, as long as the software isn't actively harmful to users, illegal, and does not violate Apple's agreements with cell phone vendors.
The iPhone app store is, at heart, incredible. Every software developer's dream store looks a lot like this:
- 100% of the devices that can run my software have a link directly to this store.
- And only this store.
- And the user can't remove the link to this store from the device.
- There's no other way to buy software, so users are never confused as to whether they should go to some website or physical store or the online store to find software for their devices.
- Users never wonder if there's some other, better software out there - if it's not on the store, it doesn't exist.
- Users can buy with a click.
- Software is instantly installed and enabled for users.
- "Good enough" copy-protection is handled invisibly for all developers.
- Apple hosts the software makes the pretty, professional website.
- Credit card transactions are handled automatically.
- Apple's percentage is MUCH lower than traditional distribution.
- The store actually pays out the money it owes you, unlike the vast majority of physical distributors.
- There's already a market of something around ten million users for iPhone apps.
- The market is increasing by the day.
That's a LOT of plusses. A LOT. And it's working. Developers are reporting making thousands to hundreds of thousands of dollars every MONTH and the store is only a couple months old.
Some of this is likely because of the novelty of the device and the store itself — there's a mini-gold rush effect happening, and already I suspect that if you weren't one of the guys to get rich selling a flashlight app or sudoku, well, you probably shouldn't start writing one now.
So, yay Apple, and yay developers who are rolling in fat, filthy lucre. (I'm not bitter that I didn't get in on that first round. No, no.)
As with any pioneering effort that succeeds (c.f. Twitter's constant whale-fails when it took off), Apple is encountering problems it never anticipated, and having to make up solutions on-the-fly.
Which is fine, and good, except, well... maybe we developers need to give Apple a loving nudge, so the problems are solved in a conscious way that helps everyone, instead of being solved ad-hoc and turning into policies which punish us all.
Problem: Most Software is Crap
There's a LOT of crap out there for the iPhone. A LOT. And a bunch of neat apps. How does the the user tell them apart? Should Apple's model be like Nintendo, where Apple only allows software through that meets their rigorous standards for being fun and cool and stable? It sounds nice, except (a) it requires a ton of effort on Apple's part, and Apple's success or failure is determined entirely by the tastes of the people doing the vetting, and (b) it stifles innovation. (Look at the number of titles available for the Nintendo Wii, which has been out for years, vs. the number for the iPhone, whose SDK has been available for months.)
The other problem with Apple vetting apps for quality is that Apple gets blamed if crappy apps slip through the process. Once you appoint yourself censor, you've taken responsibility. If an App Store app crashes, it'll be blamed on Apple. If an App Store app has a bug, it'll be blamed on Apple. If an... well, you see where I'm going.
Recently Apple decided to go ice-skating on the slippery slope of censorship by removing the "I am Rich" application from its store. Briefly: some prankster priced an app at $999 that did nothing but show some text and a picture, congratulating the purchaser for being rich and stupid. Apple pulled the app after a few days, citing "not enough functionality" or some such.
Now, this application did point real problems in the system, but not in the app. The problems are in the App Store, and they are: it's not really clear how to get refunds, and it's a little TOO easy to click on something that says "$999" without realizing that, seriously, this is a grand you're blowing.
Let's solve the real problems so that we don't need to censor apps, and so that developers don't need to guess if their apps are "functional" enough to pass muster with whichever App Store censor they happen to get:
• Apple needs to have a clearly posted refund policy that applies across-the-board. They may already have a policy, but, honestly, I've bought 15 or so apps and I've never seen it, and I'm going to say that if users don't see the policy, you might as well not have it.
I'd suggest something like, "You can get a full refund any time in the first two weeks of ownership of any app." This would solve many problems: if the app turns out to be buggy, or have limited functionality, or insult your mom, or whatever... well, it's not Apple's problem any more. They refund your money and everyone's happy.
• For apps over some threshold ($30? $100?), Apple needs to add a click to the purchase process. Something like, "Note: this is A HUNDRED REAL LIVE SMACKERS, here, so MAKE SURE you really want this, OK?"
After that first rejection, there have been two more reports of rejections. I can't verify them myself, of course, but I also have no reason to doubt the reports. One of these applications had 'podcasting' as part of its functionality, and one had fetching mail from Google as part of its functionality.
Both were censored because of a new criterion Apple has invented, which is "duplicates existing functionality." Let me make my position on this perfectly clear: it in unethical and antithetical to the whole IDEA of an App Store for Apple to be censoring applications based on criteria they have never given to developers, and only told developers after the developers put in all the work of writing an app.
Even TV network censors produce a "standards and practices" document, so writers can tell if they are pushing the envelope. Apple's censors have acted capriciously and against the interests of all of its developers, its customers, and itself.
This situation is worsened because it's obvious that Apple is only worried about applications duplicating the functionality of Apple's iPhone applications — there are twenty "sudoku" apps and a dozen "flashlights" and a bunch of pokers and, heck, there's more than one racing game.
But it was only when a developer added functionality that Apple considered sacrosanct to Apple itself that she was censored. Apple wasn't worried about customer confusion, Apple was worried about getting some competition.
I have to be clear: it simply will not stand for Apple to prevent applications on the iPhone from competing with Apple's own applications. Besides chasing away all decent developers, besides hurting their customers by stifling competition and innovation, besides it simply being evil, it will, shortly, be illegal. This kind of behavior is illegal when you hit a certain point in market saturation for your product; Microsoft was slapped for it constantly in the late '80s. If the iPhone is the success Apple thinks it will be, they will find themselves the target of a huge class-action lawsuit.
I can see how the iPhone App Store could be some short-sighted Apple marketing dude's dream: "Hey, we can nip all competing applications in the bud and completely own any market we choose! Imagine how well Final Cut Pro would do without Premiere! Imagine iPhoto without Lightroom! We own it all, baby!"
Those of us who actually write software know that, in fact, killing your competition is a sword that's not just double-edged, but in fact has a blade as its handle, as well. Without competition there is no innovation. Apple needs competing apps. As they add features or speed or UI innovations, Apple can copy them and make Apple's apps better.
Competition is how nature has made strong organisms since literally the beginning of time. You simply won't get stronger if you don't have adversity. It is demonstrated in any system you can think of, from virus resistance in operating systems to the relative strength of the huns versus the northern Chinese.
There's a simple proof of why competing apps should exist: (1) If customers use the third-party app, it clearly provides some functionality Apple's version does not, and customers benefit and the platform is stronger. (2) If customer do not use the third-party app, that app withers and dies and nobody is hurt.
But, ignoring how Premiere actually helps Final Cut, let's imagine a world in which Apple DID censor Premiere and Lightroom for "duplication [Apple's] existing functionality." What do you think Adobe would do with Photoshop? Flash? InDesign?
If you voted, "Make those suckers Windows-only," give yourself a gold star. Now think about how not having those applications would have affected where the Mac market is today. (Remember the lag in selling Intel machines until Adobe made Photoshop "Universal?" Imagine if it didn't run at all.)
Now imagine the next revolutionary application for phones, and what platform it's going to be on if Apple doesn't cut this crap out. (Hint: rhymes with "manbloid.")
"What about all the crap-ware? Aren't decent applications getting buried be all the stuff that's just being dumped out there in hopes of a few pity clicks?"
This is actually surprisingly easy to solve. Eventually, there are going to be tens and tens of thousands of apps on the App Store. Just simply paging randomly through applications to find one is already far too onerous to be practical.
The App Store needs to think of itself as two different parts - it already implements these parts, but the people who run the store need to understand that these two parts are fundamentally separate:
• Part one is a giant warehouse, where every piece of software that is not actively harmful is kept in case someone wants to buy it (remember, users can always get a refund). This warehouse can be searched with titles and keywords or an item can be directly linked.
• Part two is like a traditional storefront, with limited real estate, so only the best or coolest applications are highlighted. It's a recommendation engine, that highlights popular, highly-rated, or innovative applications.
Everyone can get into the warehouse. Only the select few can get into the storefront.
Customers win because they can choose whatever software they like, regardless of whether Apple "approves" of their choice or not. Apple wins because developers aren't alienated and don't all go develop for Android, and so Apple has the device where all the innovation is happening. And developers win because the obviously cool apps will be featured by Apple and get tons of his, but even if their app isn't "blessed" by Apple, if it's a neat enough idea it'll become popular on its own, through word-of-mouth.
It's a huge mistake for Apple to appoint themselves arbitrator of what's cool, or to even appear to do so. It's an equally huge mistake for Apple to decide that all innovation must come from Apple.
Let's list a handful of cool Apple apps: Safari. iTunes. Preview. Mail. iSync.
Did Apple invent the ideas or protocols behind any of these? Nope. Did Apple write the first implementations? Nope. Did Apple even write the original code they are using for their versions? Nope. (They licensed them all from third parties, except for Mail.)
When the next cool app comes out, and the next one after that, is it going to be on the iPhone, or on Android? It's really Apple's call.
UPDATE 9/23: Apple's response is reportedly to put the rejection letters under nondisclosure, as well. That's, uh, not a solution, guys. In fact, it's the opposite. It makes you look more draconian. And it's a useless gesture.
Do you REALLY think developers are not going to talk among ourselves, or leak info to the press, after we've worked for months on an application and then had it capriciously rejected by Apple? All the press has to say is, "we've heard of several developers who have been rejected" and there's nothing you can do; you can't subpoena people who aren't under NDA, and you won't know who among your NDA'd rejectees talked.
Seriously, Android is open and free. The tighter you try to clench your fists, the more developers you are going to drive away. Yes, you have the nicest frameworks and the prettiest hardware. But that's only the first part of what you need.