Why I’m Loving iPhone Development

Since leaving Astraware I have been doing a lot of iPhone development and have been gaining an increasing love of it. Which is just strange since I put off starting as long as possible thanks to a dislike of all things Apple. I promise I haven’t become an Apple fangirl… Nothing so dramatic… But I am really loving iPhone development, and here’s why:

Speed of Prototyping & Development
Working with interface builder and the UIKit it is very easy to put together a quick prototype without too much time or effort. It all falls quickly into place, and I’m getting even faster as I become more adept with the various controls. This week I started doing more subclassing of the standard controls which gave lovely results without a huge amount of effort. I also worked out how to control the auto-resizing/movement on rotate so my new iPad app can work in all orientations without argument… Mostly thanks to clicking a few carefully chosen buttons!

To start with, xcode annoyed me. All the keyboard shortcuts were different to what I was used to in Visual Studio, I couldn’t find the debugging tools, and, me being me, I seemed to manage to crash it all the time. As time has progressed things have changed – I’ve learnt the shortcuts, the IDE has been updated, and we’re finally getting along. It’s ability to autocomplete makes typing very fast. All its various tools make debugging and leak hunting a lot easier. Plus the simulator is very good, so long as you don’t want to test camera or phone functionality! Apple have really improved it over the time I’ve been using it and I actually quite enjoy using it now!

App Store
As much as I want my app to instantly appear as soon as I have finished it’s creation the app store is a wonderful thing. Being a windows mobile user, I’m used to hunting the internet for new and interesting software. There has never been just one place to go looking which had such a large choice. When I did find an interesting app, there was no guarantee it would run well, or even run at all on my specific device. I know there’s the new market place, but it’s offerings are sparse (or at least, they were thee last time I looked!) and the quality is often still lacking.
The app store gives people, general users who’d never dare download random content from the Internet, instant acces to hundreds of apps. Every app has been checked so they feel confident giving everything a try, even things they might not usually use/play.
So whilst I sit here anxiously waiting for Apple to look at my new game (oh yes, it is a new iPad game I’ve been making!) I can console myself that once it is reviewed, people will trust that it’s safe to play and hopefully some of them will buy it :)

One thing I’ve not had before is use of the internet as a resource for programming. Instead of struggling away with problems on my own, or hassling other team members, I can now just ask the Internet. Any time I get stuck with a bizarre error message, a warning in the console, or just a ui element not behaving how I expect I can just ask Google and since Google knows all, the answer inevitably appears. Stack overflow has saved me from numerous head scratching problems, and various other forums helped when I was trying to do interesting things with multi-touch.

The Devices
I hated the iPhone when it came out. I hated the screen for being touch sensitive rather than pressure sensitive. I wanted a stylus (though I do now have one for my iPad!) and I wanted my accuracy back. I also hated the need for iTunes, but that hasn’t changed! The screen I have become used to, I can be accurate now I’ve learnt to use it, and I can even type! This was mostly written on my iPad!
Apple are putting new technology into the hands of many, those who would never have considered a smart phone before. I find myself recommending the iPhone to those looking to upgrade because of the array of apps out there, knowing that they’ll be happy with the interface (once used to the keyboard) and there’ll be much less tech support for me to do!

So there we go… five reasons why I’m really loving iPhone development. Something I never thought I would say, and the reason why Worcle has been left behind for a while. Maybe I’ll knock up a quick version just for iPhone/iPad instead, I have a feeling it would be a much faster way to get it released than Airplay right now… or maybe my enjoyment will wane soon and allow me back to it. For now, I’m happy with iPhone work and eager to show you my new game (those of you who’ve given my iPad UDID’s should be getting a demo soon if Chris will let me!) :)

What do you love/hate about iPhone development? Are there similar experiences for other platforms which I’m missing out on? I would love to hear your thoughts! :)

Leave a Reply