There’s been an awful lot of hand wringing from some extraordinary minds about the “direction” of software because of the iPad. I’ve also been thinking a lot about the iPad, but in the other direction than most of the hand wringers.
1. They want all the highest technology, design elegance, thoughtful attention to detail, tried and true connectivity and sync ability of Apple designed hardware, but keep your filthy hands off their code! Hey, remember when Apple didn’t let you develop for the iPhone OS at all? Go try developing for the Playstation and see how cheap and easy that is for you. Developing for the iPhone OS is really inexpensive relative to other “nearly closed” platforms.
2. They want access to the largest possible audience, promotion, effortless infrastructure, simple credit card transactions, and user reviews. But not any kind of code review to make sure they’re not hiding functionality or exposing their users to risk. I believe Apple would call this “protecting the Brand” It’s probably good to remember that as a developer, you’re an invited guest piggy-backing onto their hard work. If you want to be associated with the Apple brand, you have to enhance the user’s experience, period.
3. They say absolutely nothing about what keeping the villains out costs. Or what the benefit is. Because apple’s done a good job of locking down the iphone to widespread hacking by black hats, they seem to view banishment of stupid apps as some kind of crime against humanity. Remember this fake banking android app? Yikes. Adhering to contractual obligations may not be something they’ll really take into consideration while complaining about developing for the iPhone OS, but Apple must take steps to ensure that some stupidhead (or malicious) 3rd party doesn’t screw everything up for everyone. Secondarily, keeping stupid apps out helps increase the discoverability of your app. Reducing the noise from the signal is *good*.
4. They complain about the app store being the only way to install software. Having an app store significantly reduces developer support time for installation and configuration to the end user. If you’ve never had to do that, you’re lucky. Having a zero-configuration installation process frees you up to spend your time building your next great app instead of having to help your mom get your app installed on her iPod Touch. No matter how simple a manual installation process would be, time spent helping your users install is time away from you making your next revenue stream.
5. They complain about all of these things like the rest of the world is going to instantly adopt this methodology of software development and deployment. That’s simply not the truth. Developing for the iPhone OS is *optional*, folks. Some people seem to give off the impression that Apple is forcing them to develop for the platform. It sounds silly to even have to point it out. We will never live in a world where you will be denied access to development tools for a tinkering platform. Honestly, it’s preposterous.
The end result is that Apple doesn’t have to justify the costs to join the developer program, or the procedures. You either grow up and realize that the marketplace revolves around rules — not trust, or you can go play in your own sand box. If you hate the rules, just wait a few years while the rest of the industry slowly does their inevitable imitation act, and then you can deploy your cool idea onto a platform for like minded people. I’m choosing the biggest market and the rules that come with it. It’s just not that hard to deal with.
So this “war against tinkerers” rings completely hollow for me. The iPhone OS is for when you’re *not* at your desktop or laptop. Not *instead* of your desktop or laptop. If you can use the iPad instead of a desktop/laptop, you probably don’t care about this debate anyway. You’re not a tinkerer. You’re a consumer. If you’re a self-identified-tinkerer, you’re going to use producer tools, not consumer access devices.