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 🙂
It’s been a few days now since the legendary Anthony Aagius returned from the promised land with our iPad in hand. The decision to buy an iPad was really made for us months ago. There was a new Apple platform coming, we felt it was going to be huge, and we had to get on board. So what do we think of it after 3 days of fondling it? We’re going to go one better than David Pogue and present it from three perspectives!
There is a lot to like here: it’s the same Cocoa Touch framework, the same Xcode development environment, the same testing and distribution model. Sure there are new controls and paradigms to learn, but a lot of it is familiar. What Apple did with the UIPopoverController is nothing short of amazing, they allowed us to reuse a lot of the iPhone paradigms in a new way, without having to rework a lot of code.It also has 5x as many pixels as an iPhone, meaning we can do so much more now with our apps. After playing with the iPad for a few days, everything we do on the iPhone now feels cramped and limited, having all that extra space is amazing!
It’s not all roses though, the big thing that stands out for us is universal applications. I wasn’t involved in OS X development when Apple went with universal binaries for PowerPC and Intel but that seemed to go very smoothly. Apple made it sound like you just checked a box, and out came universal apps. Apple is saying the same thing of having an app that services both the iPad and iPhone, but we’re just not buying it. For starters unless you just want to upscale your UI you would need two completely different user interface code bases. Next you’d need all sorts of if else statements to cater for which particular view to launch when. Sure you may be able to re-use an underlying data layer but cramming all that universal code into one application strikes us as a maintenance nightmare. A lot of other developers we’ve spoke to seem to agree.
Sales wise it’s hard to tell where this platform will go. Our first application Pocket Weather World HD has been selling reasonably well considering the amount of iPads that have been sold to date, but it has a long way to go if we are ever to recover the development effort we put in. Only time will tell, but we really think this will be as big (if not bigger) than the iPhone.
As Apple Fanboys
The device truly is magical. We find ourselves arguing with people on forums who keep spouting “no flash, no camera, no multitasking”. Until you touch this device you just won’t get it. None of those things matter in the slightest. Flash is dead, a camera while nice presents some challenges (ala shooting straight up your nose) the thing does multitask (even more so when OS 4.0 comes out). We’ve started to think it really was washed in unicorn tears. Really. Truly. It’s fast, it’s super intuitive it feels right to hold, and the screen is amazing. It’s basically just a piece of glass that you touch, and magic comes out. It’s not a laptop, it’s not a giant iPod Touch so stop thinking of it like that, it’s a paradigm shift in mobile computing. Just like any religious fanatic will tell you of their belief, you won’t understand it until you experience it. You may think there’s no room for it in your life, perhaps you already have an iPhone and a Macbook. But once you touch this magical device, your wallet, home and life will make room for it.
As My Grandparents:
They really want it. They find the mouse annoying. They find using a computer in a seperate room uncomfortable. They are sick of plugging in a digital camera and not knowing how to copy photos from it. They have trouble reading the text on a computer screen. They understand how to tap things, and they don’t want to feel that sense of dread that every time they click something they might break the entire computer. Most of all I’m sick of going over every week and fixing their computer. Sure they use Windows XP, and would have less problems on OS X, but let’s face it, they’d still have problems. No matter how much the fanboy in me denies it OS X is every bit as hard for an older person to pick up as Windows is. Sure it behaves better, but that doesn’t make it intuitive.
So our conclusion? One word. Magical.