You have seen the astonishing statistics on Apple applications and how ordinary people are achieving success with writing applications for 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 (surpassing more than 2 billion downloads). And my suspicion is that this is all just the beginning.
The problem is, how do you write an application? In fact, what do you need before you start developing applications? Well that’s where this article will help you. I will provide you with 10 things you need before you start writing your Apple application. Even if you have never developed content for a mobile device, or if you are new to software development, you should know that learning how to develop an iPhone can be a fun and rewarding experience.
1. Get a Mac OS X computer
To develop applications for iPhone OS, you need a Mac OS X computer running the Xcode tools. Xcode is Apple’s suite of development tools that provide support for project management, code editing, executable creation, and debugging.
I know many of you may be PC users, but some of you may resist 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 now they have switched to Mac. Why? Because they want to write applications! And once they made the switch, they found the Mac to be a lot 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 cover to cover. Don’t worry, it is more complex than it sounds. Give it time and you will soon be on the app development train.
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 naturally to those of you who have programmed in C, C ++, or Java before. Now if you are new to programming, Objective-C could be a challenge.
Try grabbing 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. 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. 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 exploded around the world.
Becoming an accepted developer only takes you to the App Store. Of course, that is the only way to distribute your applications, so it is 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.
Make sure to research your application. It makes no sense to just jump into writing applications that don’t meet user needs. A year ago, I could easily write an app that would do some silly stuff (make a fart noise for example) and hope people would download it. That is no longer going to happen. If you want an application that is popular, you have to make it useful.
Typically, in mobile device development, your audience is a person on the go. People who use mobile applications want to have fast interactions. You absolutely don’t 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 advice I have is to think of the Apple iPhone as a pocket computer. For example, successful applications like Pandora that have typically struggled in a desktop environment now thrive as a pocket computer solution. When planning your application, think about what is unique to the iPhone that can be used in your application.
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 application, your application may not work on all iPhone devices. For example, an application that uses the camera, compass, or microphone will work on an iPhone but not on an iPod touch.
Now, it is fine to write an application that is limited to iPhone 3G or iPhone 3GS, but I think that a potential part of the target users will be lost.
7. Always document your ideas
Before submitting any code to your new project, take some time to document your end-user experience. It does not have to be a lengthy requirements document. It could be as simple as writing some notes on paper or sketching some pictures.
There is actually a great drawing product called UI Stencils that allows you to simulate a screen layout on paper. I love it and recommend it for app development.
8. Offer a great user experience
When you start looking at Apple’s documentation, a recurring topic you’ll see is a reference to a document called Human Interface Guidelines (HIG). Basically this is the master document on how your iPhone app should look and behave. Make sure to familiarize yourself with it.
It is also important to download and test other applications created by other leading developers. To ensure a great user experience in your application, ask yourself why those applications are leaders and what elements they used to create a great experience. Also check out the ideas of 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 have to 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 the 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. 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 eventually crash without warning.
Also, keep in mind that certain iPhone features will consume more battery than others. For example, applications that stream 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 a heads up on the things you need before writing an Apple app.
There are a lot of things you need: a Mac OS X computer, knowledge of Objective-C, experience in user interface design, among other things. But if you are serious about the application development process, you should not be discouraged.
Learn a little each day and I guarantee that you will become an expert developer in no time.
Next time, I will write some articles on how to program an application in the Xcode and Objective-C tools. Until then, have fun learning how to develop those apps!