Thursday, June 11, 2009

6 Steps to Building a Better iPhone App [feedly]

iPhone ImageBrian LeRoux is Nitobi's Software Architect, and is involved in shepherding the PhoneGap open source project. You can read his blog, or find him on Twitter.

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, 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.

Here's a list of steps which should be considered when getting into the iPhone app game:


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 has iPhone 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.

graffletopia image

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.

gmail-iphoneBuild in the browser: The easiest option for creating an iPhone, BlackBerry or Android application is to build it in the browser using web development languages like HTML and JavaScript. Web developers already familiar with HTML and JavaScript can build iPhone applications that run in the browser, without having to learn Objective-C, the native iPhone app development language. On the whole, browser-built apps are easier to build and distribute. They're portable and accessible from multiple devices, which helps them spread. Further, browser-built apps update instantly, generally load faster, are easier to read and update and offer more flexibility for future feature updates. Popular browser-built iPhone apps include mobile versions of Gmail and Facebook.

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.

Take the hybrid approach: If you're not ready to take the plunge and learn Objective-C, there's another option that combines the browser-built approach with the benefits of native development. Hybrid development tools, like the open source PhoneGap or RhoMobile frameworks, provide a set of tools and libraries that enable web developers to build iPhone applications with HTML and JavaScript, but also provide access to many of the native iPhone features. The obvious benefit here is that there's no need to learn yet another programming language. You can build apps using the technologies you already know.


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.

If you're taking the web application or hybrid development route, then WebKit is a great resource. jQTouch and XUI are JavaScript frameworks for WebKit specifically designed for creating iPhone interfaces. You can also use Dashcode (bundled with the iPhone SDK), which has iPhone app templates.

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.


Reviews: Android, Facebook, Gmail

Tags: developer, iphone, iphone app, iphone application, Lists


[link to original | source: Mashable! | published: 20 hours ago | shared via feedly]


1 comment:

Unknown said...

I was very impressed by this post, this site has always been pleasant news. Thank you very much for such an interesting post. Keep working, great job! In my free time, I like play game
iogamez.com
Geometrydashonline.net