I talked in “Core Intuition episode 22”:http://www.coreint.org/2009/08/episode-22-not-just-a-hobby/ about how I’ve stopped working on my indie iPhone apps. Mike Ash is also done with it. “He writes”:http://www.mikeash.com/?page=pyblog/the-iphone-development-story-one-year-later.html:
“I have abandoned the platform. Apple’s nonsense is just too much for me. There’s no joy in iPhone development, and an enormous amount of frustration.”
Reading through the comments got me thinking. I’m not abandoning the iPhone just because the App Store is such a frustrating environment to run a business in, or that I have a bunch of real work I could be doing instead of playing games with Apple. It’s also because most of the apps I would write have already been done, and in some cases done very well.
I love having a small computer in my pocket and mine is full of third-party apps. I’m thankful for the developers who are coming from other platforms and focusing all of their attention on the phone. And they are thrilled to be an a platform that is such a step up from traditional mobile development. The financial success stories of developers hitting on a great idea and it just taking off in the App Store are real and inspiring.
But the iPhone doesn’t need me.
As a user there’s no way I’ll give up the phone, but as a developer I can focus my time on “things that I have control over”:http://www.riverfold.com/, and add value to places where no one else has a good solution. Perceived gold rush or not, stretching myself too thin with both iPhone and Mac development is a great way to fail at both.
Imagine for a moment that “Yellow Box for Windows”:http://www.cocoadev.com/index.pl?YellowBox wasn’t killed off — that we could build Windows apps using Cocoa. Should I make my apps cross-platform just because it’s Objective-C? No. Writing software for a platform I don’t use would be like still supporting Mac OS X 10.2; there’s no way I’m going to boot into that thing to test and fix my app.
If you’re a Mac developer, my message to you is the same: just because the iPhone is awesome and runs on Objective-C does not mean you are required to build software for it. Maybe your time would be better spent refining old apps or building new ones on the Mac. Maybe… the iPhone doesn’t need you, either.