I have a simple app I’d like you to develop…

A “simple app” is never really that simple from a developer viewpoint. There are a few possible scenarios here:

  1. You want us to do a variation on an app that we’ve already developed, so it should be simple.
  2. You want us to do an e-book and, since we’ve already got an e-book framework, it should be just a matter of plugging in the content, right?
  3. You want us to create an app that you think is simple.

Let’s take each of those scenarios one by one. Some of these points will overlap, so the overlapping points will be covered under #3 to do away with redundancy issues. πŸ™‚

You want us to do a variation on an app that we’ve already developed and so it should be simple.

Sure, it should be simple to take the existing code and create a new app. But from my end, I have to do at least the following:

  1. Copy the existing code and create a new project to work with, taking the time to make sure that the new project compiles and works the same as the old one.
  2. Modify the screens to use new graphics (and we’ll cover who provides graphics and all the complexities related to that under item #3 …)
  3. Change any references to the old client/company and use your company name, links, logo, etc.
  4. Add in any extra functionality that you might want besides what exists in the current app and/or modify existing functionality to work the way you want.
  5. Test the new app to make sure that none of the changes made broke anything.
  6. Send you a test build so that you can be sure that it works correctly and walk you through installing and setting up the app.
  7. Submit to Apple if you want us to do that for you as well, or walk you through the submission process (we’ll cover some of this more in detail under item #3 …)

You want us to do an e-book and, since we’ve already got an e-book framework, it should be just a matter of plugging in the content, right?

Not quite. πŸ™‚ Quite a few of the points from item #1 above will apply here as well, but in addition, do consider the following:

  1. What format are you providing the text for the e-book in? If it’s not the same format as what we use, then we’ll need to convert the text. In the conversion process, we’ll have to look into whether the formatting/layout is left intact or not.
  2. Is the text formatted? Do you want the formatting and layout to be retained in the final e-book app?
  3. Is the text broken up into chapters/sections? If not, do you want the app we create to show the book in it’s entirety in one screen or do you want it broken into chapters? If you want it broken into chapters, we will have to do that work for you. If you decide to display the book in its entirety, the final iPhone application might be slow to load because of the huge amount of text that needs to be loaded on start up.
  4. Do you have images which need to go in the book? If so, how big are the images and what format are they in? Depending on the answers, we might need to convert the images to a suitable format and/or resize them.

You want us to create an app that you think is simple.

The concept might appear simple to you but for a developer, the very simple concept you come up with might mean a lot of work. We have to consider some (or all) of the following in order to develop a new app for a client:

  1. Who will distribute the app? Will you be doing it? If so, irrespective of whether it’s a free app or a paid one, you will need to pay Apple $99 (per year) and sign up as an iPhone developer. It doesn’t matter that you will not be doing the actual development work, you still need a developer account to submit the final app to Apple under your name. Usually, this means that we’ll have to get involved at some point to walk you through the process. If you opt to have us distribute the app for you, then there’s all the extra work involved for us in submitting the app to Apple and getting it approved.
  2. Do you want to be able to test the app on your own device? If so, we have to get your iPhone/iPod touch device ID from you and set you up to be able to run test builds of apps on your device. This process is error prone and sometimes we have to try multiple times before a client can get the app installed on their device successfully.
  3. Does your app make use of extensive artwork? If so, who will do the artwork? Will you hire a graphic artist or do we have to make use of an in-house designer? Do keep in mind that a designer who has worked on iPhone applications before will know more about doing artwork more suited for an iPhone app.
  4. Has the designer/artist done other iPhone apps before and does s/he know about the Apple Human Interface Guidelines (HIG)? For instance, Apple specifies minimum sizes for buttons so that even those with fat-fingers can tap on the iPhone screen without any issues. Some designers are not aware of these guidelines and this results in time wasted while we go back and forth getting new graphics done.
  5. What format will the artwork be provided in? Will we simply get a PhotoShop PSD file from which we have to extract the necessary screen elements such as backgrounds, titlebars, and buttons? Or will the designer provide individual screen elements as separate graphics in a format that we can use on the iPhone?
  6. Will the application be using any sound effects/clips? If so, do we have to source the sounds ourselves or will you be providing them? If you provide them, will they be in a format we can use or will we have to convert them ourselves? If we have to source the sound files, then will you re-imburse us for any copyrighted sounds that we have to purchase?
  7. Will the application be Internet-enabled? If so, how is the application supposed to behave when there is no Internet connectivity? (Be sure that Apple will test these scenarios out, so we have to have code in place to handle every possible scenario.)
  8. Is the application supposed to access any information from any websites? Is this informaiton freely available or is using this information going to invovle agreeing to some sort of conditions/license? How is the information to be accessed – RSS, SOAP, XML, JSON, etc.?
  9. Will the application be using any third-party APIs? Is accesss to these APIs freely available? How do the APIs work? How do we connect to them? In what format are data/responses returned?
  10. Who will do the pre-submission work involved in getting the necessary certificates, signing the app, etc.? Who will submit the app to Apple?
  11. Who will provide support after the app goes live? What about upgrades? Do you expect upgrades to be included in the original price quoted?

As you can see, the factors that we have to take into consideration (and the work involved) for even a simple app can be pretty complicated and involved. πŸ™‚ That’s why it’s difficult for us to provide you with a ballpark figure based on nothing more than a description such as “it’s a very simple app with two screens” – there just isn’t enough information there for us to provide you with a reasonable quote. So, we have to take every possible contingency into consideration in our quote and that will result in a quote which could be ridiculously high for what you ultimately want. But on the other hand, your simple app could be way more complicated to implment than you thought.

The best way to get a quote which will reflect the actual work to be done, is to provide us with all the specs for the app so that we can figure out exactly how much work will need to be done and then we can provide you with a quote which matches the work that needs to be done.