You’ve seen the amazing statistics about Apple apps and how everyday people are achieving success writing apps for the iPhone and iPad. Well, the first thing I can tell you is that you are right! Apple’s app store is taking the world by storm (over 2 billion downloads). And my suspicion is that this is all just the beginning.
The problem is, how do you go about writing an application? In fact, what do you need before being an app developer? Well, that’s where this article will help you. I’ll provide you with 10 things you need before you start writing your Apple app. Even if you’ve never developed content for a mobile device before, or if you’re new to software development, you should know that learning to develop iPhone can be a fun and rewarding experience.
1. Get a Mac OS X computer
To develop apps for iPhone OS, you need a Mac OS X computer running the Xcode tools. Xcode is Apple’s suite of development tools that supports project management, code editing, executable creation, and debugging.
I know a lot of you may be PC users and some of you may balk at the idea of using a Mac. Well, my advice is: give the Mac a try. I have a lot of friends who were once die-hard PC users who are now they switched to Mac. Why? Because they want to write apps! And once they made the switch, they found the Mac to be much easier to use and a really enjoyable experience.
2. Download the SDK
Apple distributes an iPhone application software development kit (SDK). You will definitely need to download this and read it front to back. Don’t worry, it’s more complex than it seems. Give it time and you’ll soon be on the app development bandwagon.
3. Learn Objective-C
Mac programs are written in Objective-C. Apple also introduced a special abstraction API for Objective-C called Cocoa Touch for iPhone (and iPod Touch) development.
Objective-C will come quite naturally to those who have programmed in C, C++, or Java before. Now, if you’re new to programming, Objective-C might be a challenge.
Try to get a basic book on programming before getting into the nuts and bolts of Objective-C. One of the best books to learn Objective-C is Programming in Objective-C by Stephen G. Kochan. You are not supposed to have any prior knowledge in this area.
4. Become an approved Apple developer
Becoming an approved developer for Apple apps takes some time. Many people do not know this. I heard there is a six month waiting list to be an approved developer. Some have speculated that the wait time may decrease now that interest in the iPhone and iPad has skyrocketed around the world.
Becoming an accepted developer only gets you to the App Store. Of course, that’s the only way to distribute your apps, so it’s a necessary part of the process.
5. Research your app
As in everything related to software development, the goal of your application will be to provide a solution to a set of end users.
Be sure to research your app. There is no point in rushing to write applications that do not meet the needs of the users. A year ago, you could easily write an app that does something silly (say, make a fart sound) and expect people to download it. That’s not going to happen anymore. If you want an app that is popular, you have to make it useful.
Typically, in mobile development, your audience is a person on the go. People who use mobile apps want to have quick interactions. You absolutely do not want to write a Word document on the go. They want to do useful things with the push of a button or two.
The other piece of advice I have is to think of the Apple iPhone as a pocket computer. For example, successful applications like Pandora, which have typically struggled in a desktop setup, are now flourishing as a pocket-sized solution. When planning your app, think about what is unique to iPhone that can be used in your app.
6. Write for portability
What do I mean by portability? Well, depending on what frameworks (main components of the iPhone SDK) are used in your app, your app may not work on all iPhone devices. For example, an app that makes use of the camera, compass, or microphone will work on an iPhone but not on an iPod touch.
Now, it’s fine to write an app that’s limited to iPhone 3G or iPhone 3GS, but I think you’ll miss out on a potential portion of your target users.
7. Always document your ideas
Before you commit any code to your new project, take some time to document your end user experience. It does not need to be a lengthy requirements document. It could be as simple as writing some notes on paper or drawing some pictures.
In fact, there is a great drawing product called UI Templates that allows you to simulate a screen layout on paper. I love it and highly recommend it for app development.
8. Offer a great user experience
When you start looking at Apple’s documentation, a recurring theme you’ll see is a reference to a document called Human Interface Guidelines (HIG). Essentially, this is the master document for how your iPhone app should look and behave. Make sure you familiarize yourself with it.
It is also important to download and try other applications created by other leading developers. To ensure a great user experience for your app, ask yourself why those apps are leading and what elements they used to create a great experience. Also check out insights from usability expert Jakob Nielsen.
9. Data management
Oh, before I forget, one of the more complex things you’ll need to consider is data management. If your application is a basic utility (for example, a calculator), you should not worry about storing data. If you create an application that connects to an Internet-based service, you will connect to these online resources through web services. Your third option will be to store user data on the device using the Core Data Framework.
10. Manage memory and battery life
Those who are a bit more technical will understand what I mean by memory management and battery life. Please note that there is no garbage collection for iPhone. Garbage collection is a programming term that means if your program has a “memory leak”, it could cause the iPhone to crash without warning.
Also, keep in mind that certain iPhone features will consume more battery power than others. For example, applications that transmit data from the Internet or make extensive use of the Core Location Framework (for example, GPS) will drain battery life more quickly.
I certainly hope this article has given you an idea of what you need before writing an Apple app.
There are quite a few things you need: a Mac OS X computer, knowledge of Objective-C, user interface design experience, among other things. But if you’re serious about your app development process, you shouldn’t be discouraged.
Learn a little every day and I guarantee you’ll become an expert developer in no time!
Next time, I’ll write some articles on how to program an application in Xcode and Objective-C tools. Until then, have fun learning how to develop those apps!