You’ve seen the amazing statistics about Apple apps and how everyday people are finding 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 (exceeding more than 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 application 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, or you’re new to software development, you should know that learning how 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 development toolset that provides support for project management, code editing, executable creation, and debugging.
I know many of you may be PC users and some of you may be resistant to the idea of using a Mac. Well, my advice is: give the Mac a try. I have many friends who were once diehard PC users who now they moved to Mac. Why? Because they want to write apps! And once they made the switch, they found the Mac much easier to use and a really nice experience.
2. Download the SDK
Apple distributes an application software development kit (SDK) for iPhone. You will definitely need to download this and read it from front to back. Don’t worry, it’s more complex than it seems. Give it time and you’ll soon be on the bandwagon of app development.
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 challenging.
Try to get a basic book on programming before getting into the practical aspects of Objective-C. One of the best books for learning Objective-C is Programming in Objective-C by Stephen G. Kochan. It is not assumed that you 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 application
As with 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 application. It doesn’t make sense to start writing applications that don’t meet the needs of users. A year ago, you could easily write an app that would do something silly (for example, 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 using mobile apps want to have quick interactions. They 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, now flourish as a pocket computer solution. When planning your app, think about what’s unique to iPhone that can be used in your app.
6. Write for portability
What do I mean by portability? Well, depending on which frameworks (core iPhone SDK components) are used in your app, your app may not work on all iPhone devices. For example, an app that uses 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 is 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 User Interface Templates that allows you to simulate a screen layout on paper. I love it and highly recommend it for application 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 the Human Interface Guidelines (HIG). Essentially, this is the master document for how your iPhone app should look and behave. Be sure to familiarize yourself with it.
It is also important to download and try other apps created by other leading developers. To ensure a great user experience in your app, ask yourself why those apps are the leaders 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 shouldn’t worry about storing data. If you create an application that connects to an Internet-based service, it 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 that 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 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 faster.
I certainly hope this article has given you an idea of what you need to do 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, and more. But if you’re serious about your app development process, don’t be discouraged.
Learn a little each day and I guarantee you’ll become an expert developer in no time!
Next time, I will 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!