Dear business people, an iOS app actually takes a lot of work!

Posted: January 31st, 2012 | Author: | Filed under: Development, iOS | 209 Comments »

The big question: How much does an iPhone app cost?

This is a very common question that I’m asked by a lot of my business-oriented friends and non-tech savvy clients. Without fail, every single time I gave my initial estimation before even locking down the specs, I received that shocked expression because of the unexpected (high) quotation.

Yet, none of my quotations has even came close to the range being discussed in this StackOverflow thread, in which the development cost of Twitterific app is discussed. Despite the fact that the original question was asked in 2008 and the best answer (by one of the Twitterific developers) was in 2010, it is still accurate today in Jan 2012 and I can foresee that it will still be true atleast until the end of 2012.

So, with the hype of businesses wanting to have an iOS app continues into 2012, I thought it would make a good post trying to explain why the cost is high by breaking down the steps and variables involved. I hope it will benefit both the non-iOS developers and business people who need to make decisions or just want to understand the process. The ideas in this post are not restricted to just iOS, they are also applicable to other mobile platforms (Android, Windows Mobile, maybe Blackberry) to a large extent.

Checklist: Getting ready for the iPhone app

The process is not a simple one and I usually guide/educate the client through all the considerations using the following steps:

FIRST: One of the most shocking discovery I have after speaking to several clients is that they have no idea about the big infrastructure picture needed for an iPhone application. Because of that they always assume iPhone app is only an app, they expect me to quote them the price for making everything possible within an app without regard to issues such as: do they have a supporting server that the iPhone speaks to, where do they store users’ data (I’m using layman terms here). The first time I met such a client I was furious, however, later on I came to a realization that because the client-server network concept has boiled in my blood since I started programming, I took it for granted that everyone knows. But I was wrong, business-type person doesn’t care and they might not have the technical common-sense you expect.

So to non-tech savvy readers: You need to have a server to store your data if you are looking to do an app that has some kind of authentication/login, or some kind of customization that you want to change it yourself at any time, or even involving simplest form of receiving information from the user (again, i’m using very simple language here).

SECOND: Because of the fact that you need a server, you need to have a way for the iPhone to communicate with the server, sending data to and receiving data from this server. There is no standard way, there is no plug-and-play way to do it, everything has to be customized. This is analogous to creating your own set of language: you don’t want others to understand what you are speaking with your server but two ends need to understand one another.

This is called creating a set of API endpoints (or simply APIs) for your application. These APIs must be in existence before you can proceed to make the iPhone app. Why? Because you need to define the language, before you can communicate! That brings me to the next step, how to create these APIs.

THIRD: Do not take this step lightly, APIs should be viewed as important as 50% of the entire solution. Making APIs is almost like making a full website. You need to first define your data models, the business rules, what are the input parameters of your business logics, how do the data models interact with each other when an event happens. To put it very simply, the outcome is a fully functional website but the pages do not show graphical results, they show only text: an example successful authentication page only contains a single word YES.

The iPhone then makes requests to these pre-determined endpoints (login page) with the pre-determined format of inputs (user+password) then interprets the result that these pages return (YES/NO). The app doesn’t magically register and login the user by itself.

There are *a lot* of variables to be considered in this phrase such as how to pick the server, how to select the language that will be written in, where to host your data to minimise communication delays, etc. I won’t get into details because if you don’t know, you should ask your tech-cofounder or let the developer decide.

FOURTH: Either you need to have this set of APIs ready, well documented by your in-house team to give to your iPhone developer or prepare to pay more than just for the iPhone app. Depends on the developer that you engage, he might or might not have the skills needed to do what you need. If he does, I suggest you to let him do both because then he knows exactly what APIs to call and what is needed to be done to make the app works.

In the case that you already have APIs, you should expect to let the iPhone developer speak freely with your back-end team beside giving him the documentations; because most of the time, he will need to request more work (more APIs) to be done to support the mobile application.

Now, the iPhone part

Phew, that’s a lot just to get ready for your iOS app but now you can start thinking about the iPhone app itself. In general, everything about iOS is very restrictive. You almost have to define 100% of the scope and lock in the design before the developer can start to code, unlike making websites, developing an iOS app under contract has extremely little leeway for changes:

Design the interface: Whether you will use all standard interface components or customized components that will have to be decided right from the start. Because the architecture of the entire application itself depends on how you want your interface be, how the users should use the app. An example is the standard Tab Bar at the bottom, if you want colors icons instead of the blueish tint, the change in code is substantial!

Tightly integrated code: With websites, you can simply add one more page, then create a link to that page when you needed. However, you can’t do that with iOS app, everything has to be set in the beginning, any changes might result in significant other changes that you might not be able to understand why. The way iOS codes are structured is like a breadboard, everything is hard-wired, you still can change a few things here and there, but if you change the wrong wire, the whole board might stop working. Even extremely well structured code does not increase the flexibility by a lot. Adding an additional email button to ‘About’ screen might only be worth a few more lines of code, but adding a Facebook Like button on the same page is a different story, don’t expect that to be done in a few hours.

Converting an iPhone app to iPhone/iPad universal app: This is the worst ‘additional feature’ found in iPhone development contracts. Because an iPad app is not a frikin’ additional feature. The iPad app is always more complex than iPhone app, and most of the time requires entirely different interface and interaction mechanism. It’s like making an electric bicycle and then convert it to a fuel-powered motorcyle! They are very similar at what they do, but under the hood, the difference is immense.

Take the popular Facebook app (in 2012) as an example, the iPad and iPhone app look similar yet they are very different, the way in which a user interacts with stories is substantially different.
Not only that – the API requirements could also be different underneath: The Denso app, an app that I worked on (which is why I know), has some features exclusive only to the iPad that require additional data from server. Additionally, the iPhone and iPad have very distinct user experiences.

So are you ready to begin?

I hope after reading this, you can get a sense of what is needed for you or your company to develop a mobile app. Unless you are making an offline app (like a Calculator app!) that does not collect any data from users, you are not going to get the app made on the cheap side. After considering all the variables above, if you can’t justify contracting development, then the only other option is hiring full time developers to work in-house for the entire length of the project.

On the other hand, if you decide to go ahead and outsource, then I have one more thing to say: The red tape. If you work in a large corporation or regulated environment, your job is essential in helping the developer avoid the red tape along the way, maybe bend the rules a little. I have spoken to a few large clients and they were very skeptical when I asked to look at their APIs. Either they were not willing to open up as it would violate their policies, can’t blame them; or they have yet a properly defined policy for external data access; or even as bad as the brand guideline requires the app to have company logo on every single screen(!!!). In the end I didn’t work with those clients because I cannot imagine how long it would drag and how much trouble I will get into when I need to ask for additional API support.

P.S You need time, lots of it, so be patient.


If you like this post, please take some time to vote or place a comment on HackerNews and follow me on Twitter @ntluan or check out the app I mentioned earlier.


  • http://truvoipbuzz.com Alok Saboo

    Most of the arguments that you make are relevant for any web-based service and even traditional websites. This is not too different than what it was like to develop a website in late 90′s. The costs were exorbitant and have steadily declined since then.

    You make some great arguments, but to me the most important factor that is driving up the cost is the shortage of skill set required to develop for mobiles. As more developers acquire the skills (which is inevitable given the huge demand) the costs are bound to go down. 

  • Chris Czub

    As a developer who hasn’t gotten in to mobile yet(but is being pushed by market forces to look at it), I found some things not to have much detail, like:

    > Converting an iPhone app to iPhone/iPad universal app: This is the worst ‘additional feature’ found in iPhone development contracts. Because an iPad app is not a frikin’ additional feature. The iPad app is always more complex than iPhone app

    Why is the iPad app “always more complex than iPhone app”? Can’t you just recompile with a different target in XCode?

    • Patrick

      Technically you don’t even need to do that as it will run in 2x mode without any recompilation required. To make a universal binary you need to add in views that are iPad specific and the supporting view controllers as well. This is because the iPad has a different size screen and a different form factor. Look at the mail app from apple; the iPad version and the iPhone version are a whole different experience and require a decent amount of retooling to get them to work even though the base is probably very similar.

    • http://twitter.com/BenjaminZAMayo Benjamin Mayo

      You can just recompile. But that isn’t a decent iPad app. It’s a port, a poor port, that will be expecting 3.5inches of screen estate. Look at Calendar on the iPad compared to the iPhone. The two apps have completely different front-ends and UIs.

      This doesn’t happen magically. This takes time, and a lot of time. The backend data model and associated classes will probably not need duplicating, but all your UI work almost certainly will. iPad apps aren’t “one-click”. That’s the sign of an app which has not been finely tuned and perfected by it’s creators. These apps tend not to go down well on iOS, where the bar is already so high.

    • http://studiomagnolia.com/ Cesare

      Technically is pretty simple. The point is the design. Interaction on the iPad is completely different with respect to iPhone: bigger estate, you can use two hands, etc. So the biggest obstacle is not technical feasibility.

    • http://twitter.com/crenelle MichaelBrianBentley

      You used to be able to press a switch and build the app for Mac or Windows. Apple decided to remove that option before they released Mac OS X 1.0 and the original development tools.

  • Anon

    I’m based out of the UK and have two apps in the top 10 of the UK Sports store (at time of writing) and have made £35k as a sideline income to my main job.  These apps cost me £1400 to develop (£500 each for development costs and £400 for the design for the second app).  I then have a recurring fee of £30 for the server – these apps make various calls into a backend database that sits on the server.  Both of these are admittedly fairly simple apps but your article comes across to me as a ‘it is hard to develop for the iPhone’ and my opinion and experience is completely different to this.  If you have some technical knowledge and understand what is involved in the development lifecycle you can outsource development of apps for a relatively small amount of money and without a great deal of hassle.

    Just my own two penneth worth and i’m sure everyone has different views around this – i’m just basing this off of my experience with ‘developing – outsourcing’ for the iPhone and iPad.

    • John Nicholas

      yes but i bet the guy who charged you 500 is seriously kicking himself at the amount of work he had to go through for you. If you are trying to do a 1 off iphone app the amount of work is silly. Can you make a decent app from the ground up in 50 hours including all the communication? I think not – not if it does anything worth writing an app for. £5 an hour really isn’t very much once you get taxed.

      • Anon

        We got the app developed in around 10 hours (including communication). 

        I think what i’m trying to say is that you can develop an app (non spammy) that at point of writing averages 5* and reached the number 4 position in the overall UK store with a small budget and wasn’t a huge time sync to develop.

        • John Bonilla

          Would you mind posting a link to your app?  I would like to see what a good app that is fairly inexpensive looks like.  

          Thanks.

          • Guest

            Maybe he hasn’t declared the £35k earnings to the tax man and wishes to remain anonymous!? 

    • http://studiomagnolia.com/ Cesare

      That really depends on who did it and the quality of the app. You might be happy with your passive income but the proposals I usually get are like: “I need something like flipboard, my budget is 1500$”. The fact that you will find someone accepting such a proposal does not imply that it is a fair price and that the app will be the next flipboard. 

      • Anon

        Agreed – but effectively the message I am trying to convey is that it is possible to develop a good app that does well in the store on a small budget – there seems to be a fallacy that you must pay a fortune to develop a great app

        • http://studiomagnolia.com/ Cesare

          I see your point. Nobody is saying that you need a fortune to build an app. But everybody is saying you can’t build a pretty cool app with $1000.

  • http://twitter.com/MattRix MattRix

    Very good points overall, but I can’t help but think that something like Parse (http://parse.com) could at least help with reducing a lot of the server side work.  

    • http://twinenginelabs.com/ Keith Hanson

      Perhaps Parse can help. If your app does ZERO logic on the server, and simply uses it as a remote data store. For anything *slightly* more complex, you’ll need to build your API.

      If my company could use this, we would. We have yet to find a moderately complex app that could.

      • Anonymous

        Seconded! Like running GPS distance calculation which most LBS apps need, is impossible on Parse.

      • Zack Borelli

        Where are you located?

        • http://twinenginelabs.com/ KeithHanson

          Twin Engine Labs is located in Shreveport, Louisiana :)

    • http://studiomagnolia.com/ Cesare

      when you say “help” I understand, but a business man understands “almost zero” :)

    • Anonymous

      Parse, Kinvey or StackMob are great if you want to store your users’ data on a server.

      On the other hand, if you need a tool to manage content by editors and transfer or synchronize it with your iOS app, take a look at StorageRoom (http://storageroomapp.com). It’s a CMS for mobile apps and plays great with RestKit.

  • http://twinenginelabs.com/ Keith Hanson

    What’s helped us keep our costs lower for our clients is re-useable generators that create our basic skeletons of apps. We can essentially get OAuth-based Facebook integration done on both the iOS side and on the server side in an hour at this point.

    That said, we are working on about 7 iOS apps at any point in time at Twin Engine Labs, so we’ve had a LOT of experience and have found a lot of places where code re-use is possible.

    Couple that with RESTKit for iOS, and our APIs being Rails based (rest by default), and we are able to move a *lot* faster than most shops I think.

    Still, our costs rack in from the design and implementation of that design, as well as anything on the iOS side that is difficult business logic wise (ie. the client wants to have navigation in such a way as to not be able to to use UINavigation components, but still emulate that functionality >.<)

    • http://twinenginelabs.com/ Keith Hanson

      Also, one thing I’d like to point out in API-backed apps is that there are a LOT of aspects on BOTH sides of the technology to consider (which increases cost): Do you want caching? Time to start thinking about syncing strategies (ensuring the iPhone is showing the same data as the server). Do you want server-based caching? At what level is caching appropriate? Do you want push notifications? UrbanAirship or roll your own? (ie. What level of control do you want?) Where will the images be hosted and stored? Should you cache the images? When do they expire? The list goes on. 

      API-backed apps introduce a *lot* of complexity to the iPhone. I generally expect costs to more than double for API-backed apps because of the added logic of managing the transfer of data to and from the server to the phone.

      In short, doing this right is pretty damn difficult.

      • Scott Bauer

        Even in my limited experience w/ iPhone apps, all of those questions you pose are absolutely necessary to determine effort.  Invalidating cached items properly means your app screams and is always current, and is probably more stable because you’re not having to worry about requests flying around nearly as often.  If you screw that up, you’re in for a world of hurt.

    • http://kentnguyen.com/ Kent Nguyen

      I can imagine reusable back-end and UI components that go with those endpoints. And I believe those UI are standard UI.

      Then again, times come when clients assume that as long as it looks similar to standard component, it can be reused quickly, which is a total disaster for developers.

      Nice UX != reusable, sadly.

      • http://twinenginelabs.com/ Keith Hanson

        Totally agree there, Kent. We do use *some* reusable UI components, but nearly all of our clients’ work has been custom UI components. While infuriating as a dev (how many times have we written a custom tab bar?), this is where you *SHOULD* be spending your time as a mobile developer.

        That is, you should be absolutely nailing the UI and interactions, spending large majorities of your time doing the difficult business logic in the mobile MVC side of things, and caring as little as possible about the data transport, which is where we concentrate our abstractions the most. 

    • Tldygolfer

      So I still didn’t get any real info I need how much can I expect to pay for an app? Ballpark?

      • http://seattleclouds.com/ how to develop iphone app

        About a year ago I  had a great idea for my own app. I even paid a
        programmer to help me but because its price rose to $60 per working hour I
        stopped this collaboration.

        With no advanced programming skills I was about to give up until I found Seattleclouds.com web tool.

        I was so enthusiastic when I found it. Just used an iPhone application
        template, spent some hours in reading their iphone app development tutorials
        and created my own iPhone app in just 2 weeks.

         Now I have my own Paid app on App Store that is in top 100 apps in over
        47 countries. About 2 months ago I duplicated this app for iPad and Android and
        now I’m really happy that I didn’t gave up at the start.

  • http://www.facebook.com/pedroanisio Pedro Anisio De Luna

    Excellent post.

    What helped a lot here at parsec.digital was the use of RESTKit. It is very handy in speeding up communication with the app. Even when our clients do not have an API compatible with REST, we usually create another layer that “translates” the client’s apis for a RESTful one.

  • Alex

    As an Android developer, I’m surprised going from iPhone to iPad is at as simple as just changing one line of code. I would expect better from Apple. In android, to get an app from phone to tablet, you usually don’t have to do anything at all. Usually the only changes are updating images for higher resolutions but even that shouldn’t take more than an hour(and its not mandatory either). All that even with Android’s “fragmentation” issues

    • http://twinenginelabs.com/ Keith Hanson

      Is it generally easier to do this because you have to develop Android apps in a fluid sort of style already (for all the different densities and resolutions and whatnot)?

    • http://www.facebook.com/profile.php?id=705990994 Remy Vanherweghem

      It’s the same thing on iOS: going from iPhone to iPad is pretty much as simple as clicking on a ‘make universal’ button.
      However – and that’s the important part – making a big upscaled iPhone app on the iPad is really not understanding what this platform is.While you can get away with upscaled activities on a 7 inch tablet, users expect more from an iPad app (split views, popovers, etc.).

    • http://twitter.com/cwbrandsma Chris Brandsma

      You can do this on IPhone/IPad as well, but it is often ill-advised.  The issue is with the extreme screen real-estate differences between the two devices.  While you can just make things stretch out, it tends to look like crap — because you are using the space badly.  There are different design elements that are expected when moving from small screen to large screen.

      I would be supprised if this issue was any different on Android when moving between phones and tablets.  Actually, I know it isn’t any different, because I’ve seen plenty of Android apps that don’t take this into consideration.  While the phone version works great, everything falls completely apart on tablets (Netflix, I’m looking at you)

    • http://www.steelebit.com Andrew Steele

      Unfortunately this is why Android tablet apps are currently a big bag of fail. Sure the app works but it’s the same app at a higher resolution. Tablets and phones are different form factors and applications should be designed for each.

    • Anonymous

      Though it’s not a right place to begin another Android vs. iOS war, but honestly, you can do less if you care less. But as an iOS dev, at least for me, it’s not simply “updating images for higher resolutions”.

    • http://www.alexcurylo.com Alex Curylo

      > As an Android developer, I’m surprised going from iPhone to iPad is at as simple as just changing one line of code.

      As a matter of fact, it is. This is the line:

      // 1 = iPhone; 2 = iPad; 1,2 = iPhone/iPad
      TARGETED_DEVICE_FAMILY = 1,2

      However, if you want the iPad version to NOT SUCK, then you do not just stretch the iPhone interface, which is what that one line does. You write a new interface which is appropriate for a screen four times the size of a phone’s.

      However, I understand that as an Android developer, the previous paragraph seems like just a random jumble of words without meaning to you. That’s why iPads sell lots and Android tablets … don’t.

  • Pat

    Of your list, the issue about having a server certainly sticks out.  The whole point of buying an iOS app, to me, is so that I can have access to functionality without needing a server.  There’s the connectivity issue (is the app going to be useless if I’m offline, or they are?), but also the longevity issue (is the app going to become useless in a year if they’re not in business?).  Otherwise I’d just use a web app.

    An iOS app that has a server component may cost more to develop, but to a user it is inherently worth less.  I don’t need a app-specific custom server to back up my data.  It just adds risk and uncertainty for me.

    I don’t think that I’ve ever paid money for an app with a mandatory server-side component, and I don’t use any such apps regularly.  That’s not to say that they’re always a bad idea — I’m sure some kinds of apps need this — but it’s not necessarily the default situation to say that an app needs a server.

    • http://twinenginelabs.com/ Keith Hanson

      Any app that needs to communicate with another phone requires the use of SOME sort of server component. Here’s a list that I *do* use daily: Facebook, Hacker News, Spotify, Yammer, Fab, Path, Hunch, Netflix and Instant Watcher, Notifo, HeyTell.

      There are very few apps that I use that do not require server side components, and those are mostly “just for me” sorts of apps. 

      Anything that does anything moderately useful that interacts with the outside web will require server components or at least hook into remote server APIs.

      As to your longevity points, I agree. Though what apps have you used for longer than a year? I imagine the list is fairly small compared to what you’ve used in Q4 last year.

    • http://studiomagnolia.com/ Cesare

      Can you mention a brilliant app which does not rely on a server-side component?

      • Pat

        All my music apps (metronome, chromatic tuner, etc.).  All my reference apps (dictionaries, reference books, etc.).  All my utilities (flashcards, calendar, calculator, etc.).

        Upon looking over my apps, I see 2 kinds of apps: those with no server-side component, and those that are regularly broken.  Apps like Facebook and Flickr are nicer than using the webpage in mobile Safari, when they work, but every time they upgrade something the app breaks in some new way.  Perhaps I’m unusual in that I value stability and reliability over raw speed.For apps that require a server-side component, I just use Safari, because I guess people notice when their webpage breaks and then fix it right away.Can you give an example of a “brilliant” app which does rely on a server-side component?

        • Keith

          From Apple some top grossing apps (very expensive to develop non-trivial apps for sure) – Garageband, Numbers, Pages

          • Keith

            Sorry if it wasn’t clear – I was giving examples of the very best “brilliant” apps that can be used standalone. Most of the apps that I use do not require a constant connection to a server, or that the developer set up their own servers. This article seems very biased towards a certain class of apps. I don’t think that connecting to dropbox is a huge barrier to developers.

        • Anonymous

          FYI – calendar sync with iCloud or Google Calendar or whatever service if you will.

        • http://studiomagnolia.com/ Cesare

          Flipboard is one. Instagram is another one.

        • Neil

          You’re moving onto a different argument now – mobile web versus native app.

          Ragardless of the platform you choose, someone still needs to write the app – and if you need connectivity to others, you most likely need a server.

  • http://bendyworks.com Bradley Grzesiak

    Good post, but I have to disagree with the “Tightly integrated code” part. I believe extremely well structured code can significantly reduce code complexity. The bar to get to “extremely well structured,” however, seems to be much higher than many developers can reach.

    • http://studiomagnolia.com/ Cesare

      I guess the point is that we can (and we do) reuse code but the biggest obstacle is in business people mind. If the only knew what’s behind flipboard or other successful apps they wouldn’t even bother asking a quotation.

      • http://bendyworks.com/ Bradley Grzesiak

        Honestly, I do think I agree with the entire post except for the aforementioned “Tightly integrated code” part. And code reuse is just a fraction of what I mean by “extremely well structured.” Correctly implementing MVC, using notifications properly, etc all play into writing “good iOS code…” a talent many developers lack through inexperience or otherwise.

        • http://studiomagnolia.com/ Cesare

          Ok fine, but let’s suppose you have well structured code will allows you to build an app quicker and better than me. Would you accept to build an app like twitterific for 1500$?

          • http://bendyworks.com/ Bradley Grzesiak

            Of course not. You seem to be missing the point that, taken as a whole, I agree with this blog post.

  • Lynn

    This should be required reading by any business person/entrepreneur! 

  • Luiz Fernando Dias

    Well, based on my recent projects, I would say that If the client is from a development career, he’s probably underestimating UX and UI design issues. But if he came from any other area, he might think that there some magic button that will turn information into a beautiful and brilliant app.

    • http://kentnguyen.com/ Kent Nguyen

      either way, the developer is fucked

  • http://robcortez.com Rob Cortez

    As a fellow iOS dev, this was right on the money. Especially the points about API’s and the backend stuff. Clients have no idea what goes into this. The concept of them having to pay additional monthly costs for hosting is crazy, let alone needing the server actually setup to accommodate their needs.

    Great post. I linked to it on my site (robcortez.com). And thanks for that SO thread regarding the development of Twitteriffic. I’d never seen that. 

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent Nguyen « Apperitivo Labs

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Rapid Prototyping and Simulation | Scoop.it

  • Pingback: Dear business people, an iOS app actually takes a lot of work « Tyson Zinn « Tyson Zinn

  • http://studiomagnolia.com/ Cesare

    Thanks for your article. These arguments are the ones I use almost everyday with my clients. I try once or twice, when I see they don’t get it I just drop the negotiation. Unfortunately the fact that many successful apps look simple leads business people to think they are easy to realize. Indeed! The simpler the ui/interaction the harder to develop it.

  • Michal

    Pretty informative post – that’s great. 

    What disturbs me, although not directly post related, is the fact that you seem to me using the http://midmodesign.com/news/general/our-special-wordpress-theme/ WordPress template with the MidMo design credits removed in the footer. 

    I’d expect a bit more ethical behavior from a veteran developer. 

    • http://kentnguyen.com/ Kent Nguyen

      My apologies. I put it back, wasn’t intended but any reasoning is unacceptable so…

    • http://ericbullington.com Eric S. Bullington

      I looked at the WordPress theme in question, and all I can find is a GPL license.  I don’t see any license stipulation stating that users must retain the MidMo design credits, even in the free version.  In fact, I don’t even see where they *request* that their users keep the design credits.  To the contrary, they explicitly state, “Do what you will with the theme!”.

      So while it may be polite of Mr. Nguyen to keep the MidMo credits, to imply that it’s somehow unethical to remove them seems unfounded.

      But please let me know if I’m missing a licensing requirement, or a request from the developer, to retain the design credits.

      • http://kentnguyen.com/ Kent Nguyen

        I saw the comment and I looked for the same thing, true, there it isn’t anything but again, it’s not a matter of licensing or not, it’s ethical as the theme author mentioned.

        Nevertheless, having a clear licensing terms is important too, as the theme is featured in many places. 

    • Henway

      What does being a veteran developer have to do with being ethical anyway? 

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | www.kotisearch.org

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | www.albaliana25.com

  • http://www.facebook.com/profile.php?id=15204197 Pat Zearfoss

    Thank. You.

  • http://www.bigseadesign.com/ Andi

    Fantastically-timed post for me and a few potential projects. Thank you :)

  • http://twitter.com/Instrumentry Instrumentry

    Great post Kent. As a mobile designer and founder, I make it a point to understand very deeply the technical work involved in the making of an app. I’ve even went as far as getting my hands dirty with Obj. C and the iOS SDK. Just so I can understand what it’s like and what is possible and not possible and everything in between. Developers I’ve worked with appreciate me for this but this also means I have a bullshit detector and I know when developers are just lazy and say something is impossible.

    I strongly urge all business and non-tech douchebags building tech products to become techies.

  • Pingback: Brilliant Post by Kent Nguyen on iOS Development | brett sandusky

  • Anonymous

    Hey Kent, thanks for the nice post. I’m also working on an iphone app and indeed it is not as simple as most people think. This applies to almost all contract work in software development though, as most people have no idea how hard it is to create something. Especially well-designed software, which usually takes quite a while longer to work on than something that is just written once and abandoned later.

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | My Wordpress Blog

  • http://twitter.com/bdcravens Billy Cravens

    I think this article is excellent: I’ve run into quite a few potential clients that think they’re being generous by offering $4000 to build an iPhone app. That said, I think a large number of use cases could be met using PhoneGap, Parse.com, and jqMobi/jQuery Touch. 

    • http://twitter.com/jonsterling Jonathan M. Sterling

      Parse.com, yes: it allows you to build connected **native** apps rapidly. PhoneGap and jQuery Touch, etc., however, are abominations. Whereas using Parse.com is an implementation detail that does not extrude into the user experience, tools like PhoneGap are immediately recognizable from the surface. Anyone who would consider using those for a serious project has no business writing mobile software.

      However, a lot of clients want an app, but don’t really have a good business reason for doing so: it often turns out with these branded projects that nobody even uses the product, because it has no value. I think in those situations, damage might be minimized by going the PhoneGap route: if you have to hire someone to write piece of crap that nobody is ever going to use, better do it as cheaply as possible.

      • Anonymous

        “Anyone who would consider using those for a serious project has no business writing mobile software.”. PhoneGap boils down to using web technologies inside a native package. And that is the approach taken by Facebook, LinkedIn and SoundCloud, for instance. I guess these fall in the ‘serious project’ category.  In the end It’s all about using the right tool for the problem. If you’re considering using PhoneGap because you know web and can’t bother to learn Objective-C, then ok I agree that you should stick to websites.

  • Jeff T.

    Yeah, but doesn’t all this get thrown away with the new Storyboards in Xcode?  It’s like developing for VB now.  No biggie.

    • Anonymous

      I seriously doubt you’ve done any real project with Storyboards, and VB.

      • Jeff T.

        haha, I guess sarcasm is lost on this crowd.  The article is great and should be read by not only business people, but also all developers thinking of developing an iOS application.   It will save time, money, and a lot of pain.  Also, based on the comments, there is a lot of pent up anger and aggression in all of the developers reading this!

  • Anonymous

    Best article I’ve read this month! As an independent iOS freelancer, I couldn’t agree more with you.

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … « Smart International Business

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Spring Family Vacation Ideas

  • http://twitter.com/jebbery Jeffrey Broer

    It’s the start of website development all over again. You used to pay a lot for a good website design. Now with tools likes WordPress, Joomla, etc… it gets easier and “cheaper” to do, but when I was selling web development back in the ’90s I encountered a lot of similar misunderstanding by the customers, thinking you where just typing text in a wordprocessor. An then HTML was easy compared to iOS.

  • Pingback: iOS应用开发小贴士 - 雷锋网 - 专注于移动互联网创业&创新的科技博客

  • http://www.namank.com Naman

    I’ll be forwarding this to a few folks on my rolodex, thank you!

  • http://yinsider.tumblr.com/ Mike Yin

    I’ve been interested in finding an iPhone app developer. This article contributes much to clarify things for people who lack coding experiences.

  • Pingback: iOS应用开发小贴士 | 雷锋网

  • Pingback: Dear business people, an iOS app actually... | Mobile | Syngu

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Monster Meaning

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | World News Daily Wiki

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Vacation Lyrics Good Charlotte Simple Plan

  • http://twitter.com/daGrevis Raitis Stengrevics

    Seems that Objective-C as language or, maybe iOS as “backbone”, is poor itself because all is so tightly coupled.

    • http://kentnguyen.com/ Kent Nguyen

      Please avoid making such comment when you do not know enough about the language or development itself. Embedded development is entirely different from web development.

      • michael b

        I think he means substrate/target/platform and I got the same impression when reading the article. Yes the api part is there and yes its overlooked by busness ppl but all the ios related problems I don’t recognise. Maybe its my understanding of internals that I don’t hit these problems but I doubt it.

        also i wouldn’t classify ios & android as embedded – thats way to far from the medal.

  • Anonymous

    Nice post & thanks for moving the education needle forward, lots of confusion out there! A couple of points worth noting: 
    1) Solutions like Parse & StackMob can help address what I often see clients requesting, namely an “implied” user registration API; 
    2) The iOS Storyboard feature really has been helpful in iterating over designs with clients before baking in a structure

    We’ve written up our experience with both, here, on the development of a video sharing app:http://blog.fieldforceapp.com/weekend-project-ios5-storyboard-parsecom-hero

  • Anonymous

    Dear developer people, no one in the business world cares.  There’s always someone faster AND cheaper that whines less – might want to keep that in mind.

    • Ranwell1

      vonskippy, The best and brightest surround themselves wit the best and brightest.  If your surrounding yourself with cheap(read: either very bad architecture/structure wise or do not realize how good they are – which is very unlikely) developers .. then you my sir are in the same pool as them. Congratulations! :)

    • Neil

      vonskippy – have fun untangling (and possibly binning) the 1-star rated spaghetti mess you get back from the cheap and cheerful developers who don’t whine.

      But they probably did it fast though, so I’m sure you’ll be happy with that.

    • hackula

      Dear business people, no one in the developer world cares. We do not work for free, so we will work for your competitor who is willing to pay for quality. There is a huge demand for these skill sets right now, which is why it costs so much. Sorry, it’s just business.

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Tech Unleashed

  • Pingback: How much does an iOS app cost? | Labs Ramblings

  • http://www.itoctopus.com/ Fadi Eter

    Hi Kent,

    What one learns from reading this post is that the Apple people didn’t do a good job by creating the proper framework for developers to work in. If a change in color is considered to be substantial, then the underlying code that is used to create this framework is badly written.

    • http://kentnguyen.com/ Kent Nguyen

      Please avoid making such comment when you do not know enough about the language or development itself. Embedded development is entirely different from web development.

  • Pingback: iOS应用开发小贴士 | 橙味网

  • Pingback: Straight talk for businesses considering an iOS app — Apple News, Tips and Reviews

  • Pingback: Wednesday Links | I'm James Hall.

  • Shoguma

    This is the first article that I’ve read that lays things out in a very organized manner. I’m not a programmer and the layman’s terms is most appreciated. And, yes, you are right. Time and patience are needed.

  • Pingback: Straight talk for businesses considering an iOS app

  • Looking For Truth

    Kent,

    Given what you know. Would you still build an iOS App or go straight to HTML5? 

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent …Hotels Music Rated R | Hotels Music Rated R

  • Pingback: Straight talk for businesses considering an iOS app | iMicroid

  • Pingback: Straight talk for businesses considering an iOS app :NewsPress.me

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | mosaiccommunityshare.org

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Translation Browse People

  • Peter

    Excellent piece — thanks for sharing. As a business guy currently involved with a start-up, these issues//pressure points sometimes slip my mind. After nearly 8 months of developing (on Android, iOS and Bberry) — I can say with confidence — all good things take time. 

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | jwuventure

  • Pingback: Straight talk for businesses considering an iOS app | Price Gadget Reviews

  • Pingback: Straight talk for businesses considering an iOS app | Techno Magazine | Daily Technology News Magazine

  • Pingback: Straight talk for businesses considering an iOS app | Apps on Apple

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Weird News

  • Luke Mauri

    You’re absolutely right.
    For my app I developed a backend restful api, a backend db and blog storage, the iPhone app itself. A lot of work that is hidden to the people thinking iOS app could be developed only taking a 5 days online course

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Legend Tom Cruise Subs

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | Molecular Biology Topics

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Ayantek's Mobile Marketing Digest | Scoop.it

  • Pingback: The Cost of iPhone App - Qurtaba LLC - A design for human experience

  • Pingback: True Cost of Application Development | Online Business Solutions | App Development

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | teppett.co.uk

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Mobile Applications | Scoop.it

  • Pingback: Dew Drop – February 3, 2012 (#1,258) | Alvin Ashcraft's Morning Dew

  • Pingback: iPad® Optimization - Mobile Device Developers

  • Pingback: News – 2/3/2012 | Brooklyn Art Project

  • Pingback: 常見的iOS手機應用開發流程 | 當代科技 TechNow.com.hk

  • Pingback: iOS Development Resources « MwF

  • http://twitter.com/RichardGiles Richard Giles

    Fantastic article. I’ve been sharing it with clients and business partners for the last few days.

  • Anonymous

    Hi Kent, can I translate it to italian and
    publish your article in my blog at i3factory.com?
    let me say that I completely agree with it!

    • http://kentnguyen.com/ Kent Nguyen

      Sure, go ahead. I dont think i can speak Italian anytime soon :)

      Just link back to my original article will do.

      Regards,
      Kent Nguyen

    • http://kentnguyen.com/ Kent Nguyen

      sure, go ahead, just link back to my original article will do

  • Pingback: Cari clienti, fare un’app per iOS richiede un sacco di lavoro! - i3Factory your iPhone, iPad & Android Application factory

  • Igor W. Schiaroli

    Great Article,
    Thanks a lot , I will submit your article to my customers.
    We have also published an italian traslation in our web iOS factory site: http://i3factory.com

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Ipad | Scoop.it

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | Kent … | www.kotisearch.net

  • Pingback: Carnival of the Mobilists No 260 (@themobilists) « Blog.AntoineRJWright

  • Pingback: Sket på nettet den 06.02.12 | Jesperbalslev.dk

  • http://twitter.com/mitch_bartlett Mitch Bartlett

    I might start referring people who question the cost of making an app to this page. I especially love the people who see the companies that create RSS feed apps at $100 each and expect a custom, fully functioning and robust app that can interface with their proprietary corporate system for the same price.

  • Pingback: Business Agility - Keith Dawson - Time for Serious Focus on Mobile

  • Anonymous

    Extremely useful article. As I have recently pursued project management within mobile app development, articles like this help me to gauge the complexity of an app and articulate it to clients without having to consult the developers right away. Thanks!

  • Anonymous

    Extremely useful article. As I have recently pursued project management within mobile app development, articles like this help me to gauge the complexity of an app and articulate it to clients without having to consult the developers right away. Thanks!

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | iPhones and iThings | Scoop.it

  • Centerman307

    In other words: Cheap, Fast or Good.  Pick two. 

  • Pingback: 常见的iOS手机应用开发流程 | 曹志士

  • Pingback: Blog > Apple Core Labs - The Official Weblog of Apple Core Labs

  • Pingback: How do I know what to make for my TV Component’s companion Digital Media Component? Advice for TV Producers. | BewareoftheLeopard.ca

  • Pingback: iNF | Caros homens de negócio: uma aplicação para iOS é realmente muito trabalhosa!

  • Pingback: Linkflood 20120301 – OpenData, Zen programmer e Android-x86 | Rainbowbreeze

  • Andy

    NIce idea, thanks for sharing

  • Bui Hai An

    I will recommend this for my manager. Thanks a lot

  • Ryan lawrence

    To build iPhone application is very difficult task because many
    points are need to check during development of 
    iPhone applications.

  • Pingback: Mobile apps are more work than you think « The Agile Warrior

  • Pingback: 亲爱的商界精英们,开发一个iOS应用没有那么容易 - 博客 - 伯乐在线

  • Pingback: 亲,开发一个iOS应用没有那么容易 | Stay Hungry, Stay Foolish

  • Pingback: [转]亲爱的商界精英们,开发一个iOS应用没有那么容易 | 心事像羽毛

  • Pingback: 亲,开发一个iOS应用没有那么容易 | Rainbird的个人博客

  • Pingback: 亲爱的商界精英们,开发一个iOS应用没有那么容易 | 橙味网

  • Pingback: 来做爱 - 亲爱的商界精英们 开发一个iOS应用没有那么容易

  • Pingback: 来做爱 - 亲爱的商界精英们 开发一个iOS应用没有那么容易

  • Pingback: 亲爱的商界精英们 开发一个iOS应用没有那么容易_咕咕小站

  • Pingback: 亲爱的商界精英们,开发一个iOS应用没有那么容易 – 好工作博客在线

  • Pingback: 亲爱的商界精英们 开发一个iOS应用没有那么容易 « My Blog

  • 火地晋

    说的太好了,开发者耗费时间在和客户沟通上的成本也不小。

  • Pingback: Dear business people, an iOS app actually takes a lot of work! | 苒苒的一家,记录苒苒一家人的快乐生活

  • Pingback: 亲爱的商界精英们 开发一个iOS应用没那么容易 | 极地 EA163

  • Pingback: 开发一个iOS应用没有那么容易 « My Blog

  • Pingback: 开发一个iOS应用没有那么容易 App-Goog-les

  • Pingback: 开发一个iOS应用没有那么容易 « My Blog

  • Pingback: 做为项目人,你需要了解iOS开都有哪些内幕_乌徒帮

  • Pingback: 开发一个iOS应用没有那么容易 | 幸福时光

  • Pingback: 开发一个iOS应用没有那么容易 « 飚哥思想-关注搜索引擎和互联网的IT科技博客

  • Pingback: 亲,开发一个ios应用没那么容易! | 布莱特的世界

  • Nexia

    Is Apple ever likely to stop allowing external development and develop themselves for their products? just seems like a wasted opportunity in my opinion for Apple. Or equally are there any SEO or Application Search Optimisation methods in place, if not will it be long before apple start charging for page-ranking for applications? 

  • http://david-ferguson02.tumblr.com/ Ronald Meadows

    You made some decent points there. I looked on the internet for
    the issue and found most individuals will go along with with your
    website.

  • Pingback: UX ≠ UI | Inspired Magazine

  • Pingback: UX ≠ UI | CS5 Design

  • Douglas Michael

    Also, with regard to hiring…
    People think when they have an app idea there will be a start and end date to a project.
    If you intend on selling your app, you will want to listen to customer requests and then add new features to your code.  Most people don’t think about the fact that they will have to maintain the software and either rehire the contractor for this or have full time staff after the first release of the application. Software development is different than constructing a building due to the fact that it requires maintenance and you must listen to your customers and have your developers add new features and functionality.

    • Tueksta

      actually, a building needs maintenance, too. architects of buildings are still the architects of that building twenty and thirty years after the construction has finished. it’s no coincidence that design patterns were described by an architect, before someone translated them to software patterns.

  • Pingback: UX ≠ UI | Web design blog

  • Pingback: Caros homens de negócio: uma aplicação para iOS é realmente muito trabalhosa!

  • Pingback: App developing costs, an iPhone or iPad iOS app actually takes a lot of work! - i3Factory World, Your Iphone, iPad & Android Application Factory

  • Pingback: 开发一个iOS应用没有那么容易 | IT | kslr 博客

  • Pingback: 亲,开发一个iOS应用没有那么容易 | HTML5工作室

  • Whereskarlo

    Since this thread is full of developers, do you guys ever feel compelled to jump on a promising project in exchange for shares or a percentage of sales in contrast to only hourly dollars?

    • http://twitter.com/hackula1 hackula

      Sure, however, definitions of “Promising” vary widely. If you have investors lined up or customers knocking down the doors to pay for the product then sure. If you have a twinkling of a cool idea, then no way. Ideas are cheap; ask any developer who hears them all day. If I am going to split equity off of something that I actually build, then the other person had better bring something to the table. This could be cash, investors/connections, customers, serious market research, etc.  Ideas are worth about 0%. Idk how many people I have talked to who say they have done the research and think there is a wide open terrific market for X app, then with a single google search I find that the market is totally flooded. Just think of what a developer’s time is worth if you paid by the hour (somewhere around $200). Ask yourself with a 50/50 split, are you willing to put in $200 worth of resources for every hour this other person works to maintain 50/50 equity. If so, then you might have something. If not, then you are asking someone else to have faith in your idea, when you do not.

      • http://www.whereskarlo.com/ Whereskarlo

        I see your point but consider the view from the business guy. The entrepreneur has the marketing plan, the contacts, the vision and the ability to execute. You have the ability to realize the vision, but you don’t have the vision. It’s like a Steve Jobs and an Apple, they need each other to work. I am sure there are lots of self claimed pundits out there who think an idea is enough, but I was thinking from a viable doable business standpoint. And an idea/conecpt that you buy into as well from an ownership standpoint.

  • http://phillipsmorales.tripod.com/ Lionel Rocha

    this is great to see this post and interesting post.because here one thing is sure that mobile app development is not small deal to do.

  • http://www.tatvasoft.co.uk/iphone-application-development.php DuncanLloyd

    Yes Its very difficult to development several apps in one hands.but as business prospective we must to do it.and waiting for your next post as you described here.

  • http://palewar.blogspot.com Sachin Palewar

    Very nicely written blog post. I know what to do when people ask me this big question next time. Thanks :-)

  • http://zeuslambert.weebly.com/ Zeus Lambert

    Yes You are right because it is has large no of data for that we have to save the data through server.Nice information because its hard to do an iOS app.

  • Pingback: iPhone Applications: How much does it cost to get a native iPhone app developed? - Quora

  • Pingback: » You have an idea for an app? Come to Mobile Portland on Monday to learn what it takes. Cloud Four Blog

  • Pingback: 开发一个iOS应用没有那么容易 | news snack

  • Anthony Smith

    http://www.no-data.co.uk We make apps. We are extremely friendly. You should say hello.

  • DevZarak

    True words

  • josephcruise101

    Its old post. Nowadays mobile app building is not tough task for non technical person.. You can use app creator to make app easily in few clicks..

  • josephcruise101

    Hey friends i have a very unique and cool idea for Your
    Bussiness. It helps you to Promote your Bussiness. Make an app for all android and iphones,we
    have very unique and interesting app ideas. This app helps you for booking
    ,showing something and avail offers to the customers. check this for more
    ideas http://www.apphinge.com .You can make your app in just 3 steps at
    very cheap rates.

    Click here to app
    creator

  • josephcruise101

    Hey friends I have a
    very unique and cool idea for Your Business. It helps you to Promote your
    Business. Make an app for all android
    and iphones ,we have very unique and interesting app ideas. This app helps you
    for booking ,showing something and avail offers to the customers. check this
    for more ideas https://apphinge.com/
    .You can make your app in just 3 steps at very cheap rates.Click here to app creator

  • Simrat Sharma

    Hey friends I have a
    very unique and cool idea for Your Business. It helps you to Promote your
    Business. Make an app for all android
    and iphones ,we have very unique and interesting app ideas. This app helps you
    for booking ,showing something and avail offers to the customers. check this
    for more ideas https://apphinge.com/
    .You can make your app in just 3 steps at very cheap rates.Click here to app creator

  • Simrat Sharma

    Hey friends I have a
    very unique and cool idea for Your Business. It helps you to Promote your
    Business. Make an app for all android
    and iphones ,we have very unique and interesting app ideas. This app helps you
    for booking ,showing something and avail offers to the customers. check this
    for more ideas https://apphinge.com/
    .You can make your app in just 3 steps at very cheap rates.Click here to app creator

  • Simrat Sharma

    Friends i have a new idea for ios apps. Now you can make your own mobile app with 3 to 4 clicks and there is no need of coding. Apphinge is a mobile app portal that helps you to making an app.It is a very simple process with which you can make your own mobile app.To make your own mobile app now. just click on app creator

  • sarakhan

    iPhone
    App Development

  • Man Singh

    well I got my app developed in just $300 both for iOS and android very cheap and got the source code for future changes as well I used http://www.sourcecloud.in and http://www.trigger.io to publish