It's Not Easy to Get Mobile

Over the past two months I have been approached to develop at least three different iPhone apps.  Two out of three clients weren't as shocked with the price as they were with the time line.  While each developer out there has a different level of expertise, I would say that your average iPhone app will take 2 - 3 months of FULLTIME development and then at least 7 days for Apple to approve it.  Let me reiterate that the previously estimated time frame is not only a conservative estimate, but also based up a fairly simple app.

To define fairly simple, let's say that you want to have an app where you can search a database for a list of people based upon different criteria: name, age, state and country, have those displayed in a list where a user can then select one of the search results, view the person's complete detail information, and have the ability to copy that user's information to the phone's contacts.  Not that complicated as far as the requirements go.

However, once you start writing the app you will realize that as a developer you need to consider the asynchronous loading of the data, connection speed (Wifi, 3G, Edge or none at all), caching, processor limitations, memory limitations, phone orientation and interruptions of the app. For example, what if a call comes in while your user is trying to perform a save operation in the application or how should the app perform if there is a memory warning and/or crashes).  You have to keep those, and more, in mind just when you want to display a simple list of data.

Finally, after you have all your functionality worked out and you think that you are bug free the REAL fun begins.  The software that is used to develop for the iPhone and Macs has profiling and testing features.  At this point, the developer starts really digging into the bits and bytes of the app to make sure that it is not suffering from memory leaks, releasing objects too early/too late, and overall performance.  While the phone itself is VERY powerful, it is still a mobile device with limitations.

iPhone applications, in my development experience, are not usually offered as a standalone product or service, but as a companion to an existing or large product and/or service.  As a consequence, I have seen many applications rushed out the door on time for what was an unrealistic deadline.  The is usually driven by release date of the "big brother" to the application, which was set to meet a profit projection.  However, if the natural mobile development time is not taken into consideration then the app doesn't reach it's full potential.  At this point everyone loses.

If you decide that you want an iPhone app, and one that works, plan it taking sometime to develop.  Manage the expectations.