How much does it cost to make an app?

How much does it cost to make an app?


Erik Olson

Erik the Founder & CEO at Array Digital. Companies come to us when their software holds them back from growing. We solve complex problems so they can compete at a higher level. Reach him at erik@thisisarray.com or on twitter at @erikpmp.


Erik Olson on LinkedinErik Olson on Twitter
Share on Facebook31Tweet about this on Twitter1Share on LinkedIn58Email this to someone




One of the first questions potential clients ask Array Digital is: how much does it cost to create a mobile app? It’s a tough question to answer because there are many variables to consider. This article will explain many of the factors that should to be taken into consideration before committing to creating a mobile app for your business. There are also ongoing maintenance costs to factor into the total ownership cost of any application.

The price of development for a mobile app can vary greatly, just like any other product or service you may purchase. Using cars as an example, both a $1,500 used car and a $150,000 luxury vehicle can get you from point A to point B, but the latter is almost guaranteed to be safer, better constructed, and much more reliable. The same idea holds true for mobile app development; you can find someone to inexpensively build an app, but it may not contain all of the features you want and can be unreliable in its performance, ultimately having a negative impact on your business.

Like a car, there’s a base cost for a new mobile app. Of course the base cost of a car can vary widely, but a typical car you want to drive is going to cost at least $30,000. For a mobile app it’s a bit more, with a base range around $35,000 – $55,000. And just like a car, the more features you want in an app, the more expensive it will be. What follows are some of the important factors that determine the price of developing a custom mobile application.

Grade

The grade of a product or service refers to its level of quality. In a car, power windows are a higher grade than manual windows. Both grades of window allow the user to operate the window, but one option is inferior (manual windows – cheaper) and one is superior (automatic windows – more expensive). For mobile apps, it’s the same idea –  any feature can be implemented at different grade levels.

Let’s consider grade levels of a registration form. A registration form may require a username and password. But usernames are hard to remember – emails are easier. So an email address and a password is better, but a little harder to program because the app has to confirm that the text entered matches that of an existing email address. This extra requirement involves a little more coding to confirm that what is entered is valid, but it is still at a pretty basic level.

What if you want to verify that the email address entered is a real email account and it really belongs to the person that’s registering? That requires not only confirming that the text entered is in the expected format, but also necessitates having the app send the person an email containing a secure hyperlink. Once the person clicks on the link, they must be redirected to a special landing page on a website or within the app. All of these steps need extra requirements, code, and testing.

In this registration page example, it’s apparent that the first option is relatively simple and will be less expensive. The last option adds more complexity to the coding and testing process, so development time and cost go up.

Additional cost for higher grade (above bare bones): $15,000 – $25,000

Number of features

The number of things you want your mobile app to do directly relates to cost. Consider the car analogy again. The more features in the car – e.g. : sunroof, power steering, heated seats, cooled seats – the higher the price.

It’s the same for a mobile app. The more features that have to be created, integrated, and tested to ensure one feature doesn’t interfere with the others, the higher the cost. And not all features are created equally; some are more (up to $25,000 extra) and some are less ($500 – $1000 extra per feature).

To keep costs down, focus on the most important features in the beginning. If you don’t think that an individual feature will lead to more downloads or revenue, leave it out. Unlike a car, you can always add new features after the fact. A reputable mobile app developer will provide consultation on the cost of extra features before you get the invoice. Ask for a detailed estimate up front.

Number of integrations

An integration is where your mobile app code reaches out to another system. Examples include:

  • Sending an email
  • Charging a credit card
  • Interacting with a database
  • Sending a text message
  • Making a phone call (Yeah, your app can have a two way conversation with a human. Cool, huh?)
  • Looking up directions
  • Doing an address lookup

Each of these integrations requires that your app has to interact with someone else’s code. Each interaction must first be understood so that it’s clear what the expectations are from a functional standpoint, and then understood from a technical perspective. Once it’s clear what needs to be done and how it will be done, the integration must be coded and then tested. Each integration will add $2,000 – $5,000 on average.

Some integrations charge licensing fees. For example, an enterprise license for Google Maps costs about $10,000 per year. Even sending an email has a cost because a third-party system has to be involved to physically send the email. Make sure you understand the recurring licensing or usage cost for third-party services as you design your app.

Live updates from a centralized database

Do you need data that’s shown in your application to be consistent with data that’s shown on your website? In many cases, the answer is yes.

This feature requires you to have a centralized database that both your website and mobile app use. Data in that centralized database then needs to be made available through an Application Programming Interface (API) to both the website and mobile app so that both get their data from exactly the same place. An API and centralized database will add at least $10,000 – $20,000 to the cost.

Sometimes data needed on a mobile app is not readily available through an API. In that case, the developer will create an API and figure out how to deliver the data to the API through file syncs or other mechanisms. This complex level of server-based integration adds development time and cost. Each of these non-standard integrations is custom, so the price is hard to determine, but assume $5,000 to upwards of $10,000.

The ability to register and login

Having a registration page and a login page in your app means that data will have to be stored at the user level.

This means that some data will be linked to an individual user, whereas other data may not. If the app requires sharing of data, then that same piece of data may need to be linked to more than one user.

Each time there is data that is exclusive to a user, the cost increases. Make that data shareable, and the cost goes up again because the relationship between the users has to be codified. What’s unique about User X and User Y that results in a piece of data being shared between them? That’s the question that will need to be answered, and it will be answered likely with a new feature where these two users can be linked (e.g.: they work for the same company or have similar email addresses). This type of “data partition” adds fundamental complexity so you’re looking at an extra cost of about $10,000.

Social logins

The registration page example was based on a user providing an email address and a password to the app. That’s the traditional way of registering and logging in. But due to the rise of social media platforms there are new ways to register and login that integrate with these platforms. Examples include “Login with Facebook” and “Login with Twitter.” This methodology is referred to as Social Logins.

With over 2 billion users on Facebook (as of the time of this writing and increasing by millions every day), it’s arguable that “just about” everyone uses Facebook. By adding a Facebook social login, it’s much easier for an existing Facebook user to register with your app. They simply click on a button and confirm with Facebook that they want their data provided to the mobile app. By using social logins, the person no longer needs to type their login information into your app each time they want to access it, which can increase the user adoption rate of your app.

To make social logins work on a mobile app, a new integration with Facebook’s authentication API is required. The particular steps that Facebook requires to use their authentication API, and the data that Facebook returns to the app, is unique to Facebook. In fact, the API interface with each social login is unique and requires customized coding.

Users can potentially log into your app through Twitter, LinkedIn, Google+, PayPal, WordPress, and Yahoo!. Each one these social logins requires not only an extra integration to be coded, but also thorough testing. Count on this costing an extra $2,500 – $3,500 per social login.

Synchronizing with a website

Do you need data created in the mobile app to be available back on your website or elsewhere? If so, the API on the server will need to not only provide data to the mobile app, but it will also need to accept data from the mobile app. That means that every piece of data that gets pushed into the server’s API needs to be verified as coming from a legitimate user, integrated into the centralized database, and then made available for distribution. Since you will already have the API and centralized database in place, this extra bit won’t be terribly expensive. Plan on adding $5,000 to the budget.

Which mobile platforms you support

There are many types of phones and tablets being used these days – iPhone, iPad, Android phones and tablets, some Blackberries, and even Windows Phone. Each of these platforms requires a different set of code in order for your app to run on them.

To keep costs down, and to maximize the return on investment, we recommend supporting only Android and Apple products. These two, by far, dominate the mobile app world. If you stick with these two platforms, and your developer uses a hybrid technique to build the application, then it should only cost about $5,000 for a second platform. If you decide to add another platform besides Android and iPhone/iPad, you may be in for a big ticket custom project.

How many versions of the platforms you support

Once you’ve selected which platforms you’ll support, you need to decide which versions of each platform you’ll support as well. This is analogous to deciding on which year of a car you want once you decide on the make and model.

New versions of mobile platforms are brought to market regularly. Each version has different capabilities and screen dimensions. When we hear a potential client say they want to support “all” versions, we know it’s unfeasible technically and cost prohibitive. There are just too many variations. But more importantly, there are too few older devices left in the world to justify the extra cost of supporting them.

For this reason, we regularly perform a return on investment analysis at the beginning of each project to determine which versions of Android and Apple mobile devices to support. Typically, this analysis will result in an app that will work on up to 90-95% of the devices in circulation. That’s a great return on investment, since the other 5-10% of mobile device owners already know they are using dated hardware. If you want to support older versions of platforms, then plan on about $2,500 per extra version you want to support.

Also, don’t be surprised if one day you just can’t support the older version. After all, the platform providers like Android and Apple will stop supporting older versions as well at some point.

The number of users it must support

The more users a mobile app has, the more robust it must be to handle what is referred to as “boundary conditions.”

There is a “typical method” of consumer interaction with each feature of your app. A boundary condition is where a user does something slightly different than normal. It could be the order that they click buttons, a field they provided or didn’t, or something else that’s just a little different than the norm. With more people, the chances of hitting a boundary condition increases. So as the number of users goes up, the cost associated with finding and fixing these boundary conditions goes up as well. This often results in a more in-depth testing phase than normal.

With more users, you typically need a greater number of more powerful servers. Highly popular mobile apps integrate with other services on the Internet, and each of those integration points must be very robust as well. If they are not, then those integration points will be the weakest link. As the number of users increases, the weakest integration point will fail first. Strong integration points often come with higher levels of service expectations, leading to higher costs. Plan on an extra cost of approximately $1,000 per each additional 10,000 users.

Ongoing Costs

Once you create your app and people start using it, they will ask for changes. You’ll need to review these change requests to determine if you want to implement the changes into your app. Chances are, you’ll want to make many of these changes.

You want to maintain your relationship with the company that built your app so that when something comes up, they have everything they need to help you quickly. If you have to start a new relationship with a new company who doesn’t know how the code is organized, you will waste precious time and money to on-board the new company. You and your users likely won’t have the patience required for you to on-board a new development company.

If your mobile app interacts with your database and website, that integration point – the API – must be hosted somewhere. So there are ongoing cloud hosting and database fees to consider. Interacting with the API must be done securely through https:// website addresses. That requires regularly updating your TLS/SSL certification – a quarterly activity.

One last consideration for ongoing costs is what to do when hardware and third-party APIs change. Your mobile code will be fine for a long time, but the world around it will change. Hardware will become obsolete. APIs will change. What will you do when the version of Android your app is designed for becomes obsolete? What if a version of an API your app depends on gets replaced?

For all of the above reasons, you will want an ongoing support and protection plan from your developer. This will ensure that after the app is created, you won’t be on your own. As you would expect, there is a cost to ongoing support and hosting. Plan on about 20 – 30 percent of the cost of the project, per year, for support. So if your app cost $100,000 to create, you should budget an extra $20,000 to $30,000 per year for support, protection, hosting and changes.

To Sum it Up

There are many factors that go into the cost of your mobile app. The grade and quantity of features, the number of users, and ongoing costs are all things you should consider.

Like a car, the cost of a mobile app is variable; unfortunately, there is no fixed answer. Just like a car, you don’t want to start driving and then find out you’re driving in the wrong direction and in the wrong kind of vehicle. Plan ahead so you won’t be surprised by what’s around the corner.

Related Articles



Learn More About Mobile Apps
Learn More


Join our 7 week mobile application email course


Learn More About Mobile Apps
Learn More

Join our 7 week mobile application email course
© 2017 Array Digital, LLC