Cost factor #1: Scope
Let’s imagine an architect is hired to design a couple’s home. If they’re a newlywed couple with a limited budget, the architect will likely recommend a kit home—straight lines, regular corners—that’s quick and easy, and is therefore cheap to build. On the other hand, if the couple are empty-nesters building their dream home with a lifetime’s savings, then the architect will look to deliver on that dream—he’ll use the latest materials and techniques to create a free-flowing, complex and bespoke design, even though it will be expensive to build.
Alternatively we can think about the novelist, who sits on the first day of writing with a blank piece of paper in the typewriter. Think of your coder as that novelist. On the first day, they just have a blank screen with a flashing cursor. Everything that is to appear in your app, visually and functionally, now has to be written in code. So the coder must spend hours drafting these lines of code, just as a novelist must spend hours writing their prose. There will always be a minimum amount of time involved.
So first and foremost, if your budget is limited, you need to simplify what you’ll make, ideally focusing on one core feature. Be ready to incorporate existing interface designs, the code for which pre-exists and may be available via open source so the developer can incorporate it into your app. (Open source code samples can be found on code repository sites such as GitHub and Bitbucket.) The result is akin to a minimum viable product—it allows you to validate your idea, and to properly assess whether there’s enough demand for your app to make adding features and polish worthwhile.
Cost factor #2: Geography
While working in the same time zone as your development team can be helpful, there are also advantages to having a distributed team—such as 24/7 working hours.
Cost factor #3: Platform & Category
In the following table we identify some popular types of apps by category, estimating the number of hours each might take an experienced developer to build for an iPhone or Android device. We’ve separated these platforms because the open Android environment is much more diverse than Apple’s, which makes it at least a third more expensive to build for. The increase in expense for Android is because you have to test the app over multiple different devices and versions of the operating system; this not only takes longer, but bugs are more common.
With Android, there are ways to reduce the amount of extra work involved—and thus lower the costs—by only supporting specific versions of the operating system and certain devices. We’ll talk more about this in a later post.
Hit us on firstname.lastname@example.org for further discussion
Follow us on Twitter and Blog 🙂