Sorry Media, But Apple Isn’t Evil
Update 3 June 2010: To those of you reading this post for the first time, it’s over month old. Pointing out the irony of it to me may seem novel to you, but it’s obvious. I even refer to it myself in the post about Apple removing our application. I leave it here as a piece of history, this is how I felt at the time. Those of you that want to argue with my former self can build a time machine.
As you were:
I received an email in my inbox from someone reporting on Apple and their Policies. They were basically asking about how I feel about Apple being so closed and evil…here was my response:
If there’s one thing I like doing, it’s commenting on Apple’s approval process. I have always been amused by the amount of media hype and attention that goes with it, and how people just assume that we developers must be such an oppressed people, and isn’t it terrible dealing with Apple? Do we have to check our souls at the door? How can we possible approve of and work for such a tyrannical regime? Even the questions in your email are, to be fair, quite leading.
My high level summary would be: I love the app store and the amazing hassle-free distribution it provides and I only really have a few niggling concerns with how Apple has dealt with us, as developers.
So allow me to start with my concerns. My one biggest concern is that it’s never easy having a middle man between you and your customer. If you have a critical bug in your code, it can take days (or longer) for Apple to approve, and all the while your customers are becoming angry and frustrated because they feel you’re not acting urgently on a issue that affects them. My other concern is that there’s no one to call if things go bad, you send email to an address and just hope that one day you might receive a response. So let’s say they closed my account for example, who would I call? Where would I call…I would just send emails into the void. My only other concern is that sometimes Apple let’s through things in one review, and picks them up in later ones. That can be annoying, but they are people after all.
But more importantly, let me cover the things that don’t concern me. I don’t think Apple is a ‘prude’ and I was all for removing all the spam (I love how the media referred to them as porn) apps in the store. There were developers releasing app, after app, after app with nothing but pictures of bikini clad women in them. One such developer had over 100 versions of the same thing. I’m not on some moral crusade against porn, what you do in the privacy of your own home is your own business. Safari will get all you all the porn you could ever dream of, do I want it blocked? No. If Apple runs a retail store and doesn’t want to sell bikini’s in there, I say fine, I agree with them that it ruins the look of their store. Imagine if you’re a woman, and you browse the lifestyle section, and all you see are bikini apps in there, I don’t think you’re going to be too impressed. I think trying to turn this into an Apple is restricting your freedom argument is wrong. It’s like Stephen Conroy saying we should censor the internet and if you don’t agree you are for child porn. I’m not for restricting freedom, any more than I’m in favour of child porn, but I think Apple should be free to reject applications from coming into the store in the same way I believe the Australian government should never implement mandatory filtering.
I don’t think there’s that much that is ‘murky’ about their approval process, every time our apps have been rejected it has been for a reason that is documented in either an interface guidelines document, or some other part of their documentation. In my experience (and that’s all I can comment on) it’s extremely well documented as to what you can and can’t do. I’ve seen lots of complaints from developers who were rejected for using private APIs for example, as if they stumbled into them and didn’t know better. Private APIs are something you have to hunt for, you have to dig through header files and classes that are not meant for development, looking for a call to make that does what you want. They aren’t documented and you have to try pretty darn hard to find them. They are private for a reason, because Apple may change them at any time, and there’s no way you can call them by accident. The rules clearly state that you can’t call these APIs.
Perhaps I’m in the minority, but other developers I’ve talked to all agree, the app store is an unprecedented way for developers to distribute applications worldwide. There has never been anything like it in the history of mobile development, and I know, I used to develop for Pocket PC on Windows…and…well let’s not even go there. Apple’s tools, development environment and platform stability are second to none. For me it’s a pleasure to develop for their platform. It doesn’t surprise me that there aren’t more headlines that read “Apple’s Development Environment a Joy to Use” & “Apple Offers Developers Unprecedented Ease of Deployment Worldwide”, because as you well know, calling Apple ‘Evil’ sells 😉
So to sum up, I love being an Apple developer, and I think all the hype about them being somehow ‘Evil’ is just that, hype. If you consider their actions as a company trying to ensure (where possible) that their App Store is a great place to get quality apps, then everything the’ve done makes perfect sense. Sure you can say they did it to be ‘Evil’ and ‘restrict freedom’ but that’s a much harder sell to me. The most obvious reason, while not always headline worthy, is often the most likely one to be true. Have they made mistakes? Sure. But they are making clear and obvious efforts to correct those mistakes. I’ve developed for the App Store since almost day 1, and Apple has been constantly improving things that most people would never even see.
Sorry for the long email, happy to answer any more questions you may have 🙂