Brian LeRoux is Nitobi’s Software Architect, and is involved in shepherding the PhoneGap open source project and evangelizing esigaretter. You can read his blog, or find him onTwitter.
Thanks to increasingly powerful devices and cheaper data plans, the mobile app space is growing faster every year. Apple has been at the forefront of that growth with the iPhone, by both partnering with telecom companies to provide near-unlimited web access, and redefining application distribution with the App Store (App Store), which created a new industry and market for smartphone applications
The App Store has created a gold rush for developers, and there are now over 50,000 applications for sale, making it harder to get a newly released app noticed by users. It has become especially necessary for developers to reduce development time and put their product on the market as quickly as possible.
Step 1: Narrow your focus
A mobile application has precious little screen real estate, so be sure to focus on reducing screen clutter. Your application should be as simple as possible without sacrificing usability and completeness. If it has to do multiple tasks to achieve its goal, then these should be performed one at a time.
Step 2: Build a better user experience
All software depends on a great user experience to succeed. You can maximize your chances of success by experimenting with different approaches to your user interface. Quickly discard what doesn’t work and build on what does work.
The design process can be as simple as drawing on a whiteboard, but if you are pitching ideas to your colleagues or clients, using a mockup tool will give your designs more polish. For the Mac, the OmniGraffle diagramming software hasiPhone stencils, or for Photoshop design firm teehan+lax has created an iPhone GUI PSD file. However, for web applications, the easiest solution may be to create the mockup in HTML.
Whether you decide to paper prototype or take the 37signals approach of skipping the mockup step completely, you need to respect your audience and their goals. You’ve decided on a focus for the application in Step 1 and now it’s time to make sure that your app is not just useful but usable. If you’re unclear on the definition of usable, Apple has done a lot of this thinking for you with their Safari Dev Center (which requires the free Apple Developer Connection membership to access).
Step 3: Choose your approach
The development framework you choose will determine the speed and ease of creating the application, as well as what iPhone features are accessible from your application. You have three options: web technology, Objective-C or a combination of the two.
Create a native app: Native applications built in Objective-C make full use of all the iPhone features: GPS, accelerometer, local storage, camera, and more. This approach works especially well for robust applications, like 3D games. If your goal is to sell a complex, full-featured application, building a native application is your best bet.
Step 4: Use the right tools for the job
To build native iPhone apps you need to have a Mac OS X computer and obtain an Apple Developer Connection membership (which is free, but to submit to the App Store there’s a $99 fee) in order to download the latest version of Xcode and the iPhone SDK.
No matter which approach you’ve chosen for product development, you must be able to test your application on real iPhones (and iPod Touches), because the iPhone emulator in Apple’s iPhone SDK doesn’t exactly mimic the hardware’s performance.
Step 5: Test first, test again, test some more. Also: test
While it is always important to thoroughly test software before releasing it to the public, the App Store’s format has made the need for bug-free code a make or break situation. Users who have downloaded your iPhone app can rate it using Apple’s 5-star rating system and write reviews. Your application’s average rating and review count will appear alongside the title and developer name in searches and the app’s listing, and the reviews are accessible from your application’s page in the store.
A major bug will inevitably result in a number of poor reviews and ratings from current users, which will discourage some new users even after the bug has been fixed. In addition, the App Store has a thorough submission system and submitting a bug fix often takes several days to be processed and get your application updated, further exacerbating any problems.
It is better to spend extra time testing your application than to publish it early and risk saddling it with a bad reputation from the start.
Step 6: Real artists ship: submitting to the App Store
How long does it take to get an app into the iTunes App Store? While we’ve seen some estimates of up to 20 days to have your app approved, we’ve had apps accepted in as few as five. The app review process is notoriously fastidious. Readers will recall, for example, how the Eucalyptus ebook reader was initially rejected because phone users could use it to read the Kama Sutra.
Both Niall Kennedy and Adeem Basraa have written great reports and instructions about the submission process to the App Store.