iPhone development is for addicts

The other day I had an interesting discussion with a good friend & rather ardent Apple & iPad hater. As a long-time Apple fanboy, I was surprised to find myself agreeing with many things he said, driving myself into a schizophrenic craze about my feelings as an iPhone/iPad developer.

Fellow iPhone developers, let’s face it: we’re getting screwed over, we know it & still continue development. Addictive behviour, much?

Symptoms of AppStore Addiction

We know that the AppStore is just a massive excuse for creating unprecedented consumer lock-in. Apple creates this lock-in by tightly controlling both hardware & software in the name of usability. It’s the age-old Freedom vs. Security debate rephrased as Freedom vs. Ease-of-Use. And as in politics, the average citizen/consumer rushes out to hand over his computing freedom in return for some shiny electronic doodad.

To get an idea of the lock-in, just look at the Chinese iPhone clones. At the hardware level they offer a superior experience with features like removable batteries and dual-sims. But without the AppStore they are effectively useless because consumers value convenience over features. Apple cashes in on this behaviour by simply making the most convenient solution the locked-in one.

We know that the AppStore’s technical implementation & processes are crap. Last week I launched a small app to test market response but it never made the ‘New Releases’ page because, ONCE AGAIN that page had been broken for the last few days. Whenever I log in to iTunes Connect I pray the Piano report will be working, and I’m an agnostic! To me, the AppStore often seems to be a big bag of random. Yet I continue developing for it.

We know that we are at the whim of random AppStore policy changes. Apple can pull your app, for any reason, at any time, even if you’re clean and don’t do the JigglyBoobs dance. On top of that, Apple has this habit of making random policy changes without giving prior notice. So if you count on the AppStore as a steady stream of income, think again.

We know that Apple can barely keep up with the success of the AppStore. Due to its organic growth, the AppStore has become this hairy ball of half-assed technology & random processes. Because of its popularity, any policy change Apple makes is bound to piss off some users. On the technology side we have come to expect all of the glitches: I’ve heard the “That’s normal, it’s the AppStore”-argument more than is healthy for any technology. Makes me think of Microsoft apologists & that in turn makes me feel dirty.

We know deep inside that HTML5+JS+CSS is where the future is going. Pretty much everyone except Microsoft and Adobe are encouraging web-based development these days. Apple was even pushing web-based app development for the first release of the iPhone, yet we continue investing in an Objective-C codebase that is useless outside of the Apple ecosystem.

A behaviour becomes addictive when an individual persists in exhibiting said behaviour despite the detrimental effects on the individual. I’ve only mentioned a few ways in which AppStore development is detrimental to any sane developer’s health, so why do we keep doing it?

Why do we keep doing it? One word: convenience.

It is convenient for us amateur devs to be able to focus on development and let Apple take care of all the things we hate most: distribution, payment processing & a little marketing.

Building iPhone apps is more convenient than building web apps: there are no recurring web hosting costs, no worries about browser compatibility, no worries about scaling your app.

Having this massive AppStore market at your fingertips is more than a convenience: it is the easiest way to reach a mass market without significant marketing investment.

Last but not least: the convenience of knowing that, right now, the AppStore is the place where the money is. People are willing to spend money on apps & Apple has made it very easy to grab a little of that money. As long as the AppStore remains the number one market, people will continue developing for it, no matter how shitty Apple treats its developers.

So, do you know why YOU are still developing for the AppStore?