My first iPhone app – “The Day Was…” has now been through two updates. I want to talk a little about how to get started with this interesting technology. As with any software, the first step is having an idea, i.e., one or more requirements.
What’s interesting about iPhone apps is that this is software development on a very small scale. For example, if you look at the apps that come with an iPhone or iPod touch (such as iTunes, Maps, Mail, etc.) you’ll notice that:
a) The apps are deceptively simple - often with just one requirement
b) The apps are often cut back versions of larger desktop apps
c) The apps try to solve just one or two small problems
The iPhone SDK (called Xcode) seeks to make development as simple as possible and this is achieved by extensive use of design patterns and a rigorous user interface philosophy. I’ve written a lot about design patterns and I’m glad to see that this occupies such a prominent part of the iPhone SDK. Indeed, once you get to grips with the use of the Apple patterns and you have a basic understanding of the user interface guidelines you’re in good shape to start writing your own app. I like the simplicity of the apps as well – this is an aspect that is often overlooked in desktop and server software: Complexity for its own sake is a bad investment. When it comes to software, do your best to keep it simple!
The sample apps that come with the iPhone SDK allow you to see a complete app, though I’ve often found that if a sample is too big then the learning benefits are reduced. So, I’d suggest writing your own app from scratch rather than trying to modify a sample. The nice thing about rolling your own app is that you get to try out the main SDK elements, such as, Interface Builder. This gives you a better idea of the way an app is built from the ground up.
It might surprise you to know that Apple now has a bigger market capitalisation than IBM. I think this is well deserved because the iPhone and iPod touch have truly brought Internet computing to the masses. The purchase-download model is powerful and effective. Also, more than 70 percent of music sales go through iTunes.
So, if you want to try your hand at building your first app then I couldn’t encourage you too much. You’ll need a Mac and a developer licence and if my experience is anything to go by, you’ll learn a lot about the direction of mobile computing. You might also make some money along the way!