Update: Special thanks to TalkBacker denisrs for posting this link describing official Mac App store guidelines.
To me, at its most fundamental, software means freedom. Hardware is generally fixed, in that it’s physical, and, well, hard. But software is malleable; the very same RAM, CPU, and hard drive can be made to do wildly different things based on the arrangement of bits into different sequences of ones and zeros.
To be fair, I’m a programmer, so I look at a computer differently than do regular users. When I look at a computer, I always factor into my thinking whether I could do better, whether the CMS I’m using is good enough, or whether I’d be happier writing my own code, whether the CRM system I’m using is good enough, or I’d be better off writing my own code, and so on.
Programmers can do that. Real users can’t. Of course, we programmers are often so busy we wind up using the same off-the-shelf (there’s an anachronistic term, eh?) software everyone else uses, but we know we have the freedom to bust out our development environment at the drop of a hat and code up what what we’d like, however we’d like it.
Apple’s App store approach
I think that’s why Apple’s App store approach has always given me such a set of the willies, first for the iPhone, then the iPad, and now for the Mac.
I don’t mind that Apple takes its 30% for software sold through the store. Actually, that’s a great deal. Back in the olden days when I wrote boxed commercial software and sold it through brick and mortar stores like Egghead, the distribution channel wound up taking closer to 60-70%. Apple’s share is a lot fairer to developers.
I also appreciate that Apple is essentially providing a warehouse and fulfillment function in electronic form. I think that’s why developers have so taken to the App store concept. Rather than having to set up my own online store with download capability (easy enough, but nice that I didn’t need to for iPhone apps), Apple does that part of the hard work.
Developers also don’t have to make sure the cart is working, that the credit card gateway is working, and all the moving parts are in good working order.
In fact, I wrote 40 quite silly iPhone apps in September of 2008 and I haven’t had to touch them in two years. I just let the (rather small) deposits accumulate in my bank account and occasionally use them to make a car payment. They’ve been completely maintenance free.
Fundamentally, it’s the gatekeeper factor that I don’t like.
That was then
When it came to the iPhone, the gatekeeping factor made sense. Apple has this completely unpredictable application approval process, where you submit your app for approval and, if you’re lucky, sometime in the next 4-8 weeks, it’ll be approved for sale.
But there’s no predicting Apple. We all know the stories of Apple’s capricious denial of apps for all sorts of reasons, including no reason at all.
In fact, that’s one reason I never developed any applications for the iPhone bigger than my silly little apps. I didn’t want to put six months or a year of coding into something (in a programming environment and language that didn’t work anywhere else) only to have Apple decide that, oh, that email app duplicates their own minimal email functionality or that launcher app touches other applications in the system.
I just didn’t want to lose a year of work to the random whims of Apple’s developer-unfriendly policies.
But that was on a phone. It made some sense for the handset maker to have some restrictions because the device had to work on AT&T’s network. So it made some sense for Apple to restrict, say, a podcast player application because Apple didn’t want to stream video early on over AT&T’s network.
When the iPad came out, I was deeply curious. Would Apple relax some of its restrictions and simply allow anything to run on the iPad?
In fact, Apple did back off some restrictions, including their insistence that programmers only use Xcode for development. Of course, there’s no telling whether they’ll reverse that almost-reasonable behavior out of the blue, because, you know, it’s Apple.
Apple still doesn’t allow anything to run on the iPad without restriction. iPad apps have to go through the same random, who-the-heck-knows app review process as iPhone apps, and unless you want to jailbreak your iPad, you’re stuck with just the apps that Apple allows.
Now, we all know there are a lot of apps, so why complain, right? The reason is freedom. As long as Apple restricts what apps can be run, the device isn’t free. It’s not a computer, it’s an appliance.
Some of you might argue that the iPad isn’t meant to be a computer and it is, in fact, an appliance, and you’re good with that. I’m not thrilled with that view, but I can accept it.





