How much does it cost to create a mobile application?
Piotr Lewandowski, 10 July 2018
Nowadays smartphones and other mobile devices are integral part of everyday life. According to IDC, more than 358 million smartphones were delivered to the global market in the third quarter of 2019. Today mobile phones are nothing without mobile apps. The mobile application market is growing at an extraordinary rate from year to year. No wonder there are more and more people who ask us about the costs of creating a mobile application.
The cost of creating a mobile application depends on many factors:
- Which platforms (iOS, Android) is the application meant to run on?
- Will it need to connect to a server?
- Is the application expected to create and manage user accounts?
- How many screens will be in the application?
- Should the application be integrated with some social platforms?
- Is it expected to create a version of the application for web browsers? Or maybe such version already exists?
- Will the application be able to support push notifications?
- Should the application have a separate layout for tablets?
- Should it have maps or navigation available?
- In what orientation should the application work (horizontal/vertical/both)?
- Will the application support micro payments (Google Pay for example)?
- What functions of the mobile phone does the application use (recording, accelerometer, camera)?
- Should the application support external devices via Bluetooth or other protocols?
- Should it be prepared for multiple language versions?
The cost of creating a mobile application
At ImpiCode, we create mobile application on commission for clients for many years. On this basis, we can try to estimate the cost of creating a mobile application:
- small application – € 2500 - € 15000 – probably without internet access,
- medium application – €15000 - € 40000 – may have internet access. Often the basic version of MVP (Minimum Viable Product) is in this range,
- large application – over € 40000.
The key decision you have to make when considering the development of a mobile application is the platforms on which the application will be accessible. You can choose between iOS (iPhone) and Android. If you do not yet know what will be the final shape of your application, the best solution may be create a prototype on one of the platforms, and later transfer the ready solution to the other one. The country of residence of your users is also an important factor. When you want to create an application targeted at European market the best option is to create it for Android smartphones first, but in case of California iOS may be preferred. However, making an Android application requires more and more decision to make. You have to choose the oldest supported version. At the time of writing this article, it seems that the best solution is to design the app for version 5.0+. For business applications, the perfect approach is to enumerate the specific phone models on which app will be tested and supported. You can do this when you buy phones for an entire company.
The type of application
If your application is destined for the needs of an organization in which you work, usually it can be called a business application. This affects several things. As mentioned before, it is possible to limit the supported devices to several selected models used in the company. Moreover, business applications must be in the firs place functional and properly designed in terms of interface, but usually no one expect them to be fancy and full of bells and whistles, which can unnecessarily increase the cost of development. It works differently for the consumer applications. You will need to provide support for various devices because your potential users will use a wide range of smartphones. The usability of the app should come first, but you may want to invest in an eye-catching graphic project.
Graphic design of the application
The graphic design of an app can help you to estimate the cost and accelerate the process of creating a mobile application. It can also help to organize thoughts and to clarify the action design of the app. You can create it in any graphic program (Paint, PhotoShop) or use a ready-make tool for creating mock-ups (for example https://www.fluidui.com/)
The browser version
Creation of a separate version of your app in the form of a website is a significant additional cost. If you intend to create both versions, for the native mobile platforms and for the web, then the best solution is to find an IT company that offers comprehensive services and can deal with all of them.
Servers and APIs
The terms ‘server’ and ‘API’ may be unclear for a person without technical education. Servers are needed when an application needs exchange data between users (for example when playing online games) or store some information (for example purchase/sale offers or photos). And APIs are interfaces to these servers. Or to the other third party servers, like payment or map services.
Creating accounts in the application
It is sometimes required to store some user-related data on the server, what means that the application will need to have an ability to create user accounts. It is required for example when your potential user is allowed to use the application on several different devices. In such case it is worth to consider an integration with the authentication mechanisms of some other websites, e. g. login via Facebook or Google.
Maps and geolocalization
This is another great functionality, and often even a core of the application of your dreams. The geolocalization based applications covers such areas as shared economy, transportation and delivery and finding some specific services. The map dependent applications usually use the Google Maps or OpenStreetMap API. Depending on the purpose and choice, the API libraries can be either free or paid. The price list for Google Maps is here: https://developers.google.com/maps/pricing-and-plans/. OpenStreetMap is in theory free, but some libraries providing more advanced functionalities are created by third party companies and as such can be paid.
If you create an application for the internal usage in your company, it is not necessary to place it in an app marketplace platform. However, a marketplace platform is one of the easiest way of distribution the app among employees. And the easiest way to distribute further updates and bugfixes. If an application is created for users from outside the company (consumers or business), you will definitely want to distribute it through a store. For users this is the easiest way to download the app. And it can be an additional marketing channel. There are two major app marketplaces: Google Play for applications written for Android and App Store for applications written for iOS. Moreover, there are plenty of niche stores. Some of them are also worth of considering. They are less popular, but by placing apps there you may have a good chance that the app will the only one of its kind in the store. It is much harder to deliver a unique app in Google Play or App Store. The list below is a list of some mobile application marketplaces:
- Google Play,
- Apple App Store,
- Samsung Galaxy Store,
- Huawei AppGallery,
- Amazon AppStore,
- Uptodown App Store,
- Cydia App Store,
- F-Droid - contains only open source applications,
The costs of placing an application in the store and its further maintenance
Placing and maintaining the application in a store generates some costs. Google Play requires a developer account (https://play.google.com/apps/publish/signup/), which requires one time fee of 25 USD. It let for publication of unlimited number of free and paid applications.
The Apple’s App Store requires a developer account for a price of of 99 USD per year. Enterprise account which allows to distribute the application only inside your organization comes at costs of 299 USD per year (https://developer.apple.com/support/compare-memberships/).
Other costs of maintaining
The placement of an app in a marketplace is not high. However you need to take into account other expenses of maintenance. An app which connect to a server need the server infrastructure. Or a cloud. The maintenance costs depends on the action that are performed on the server and the number of users of the application. Besides this, you may need an SLA agreement. – Having a team of admins and developers in ready to quickly solve any possible problem can be costly, depending on your requirements for bug fixing time. It is also a good idea to reserve a budget for minor corrections and improvements, which may come to mind after releasing the app. Changes may be as well necessary after getting feedback from users. Google or Apple may also influence the costs of maintaining an app. From time to time Google Play or App Store change the rules of placing applications in their stores, e. g. the application’s permission to use camera etc., and force application developers to implement some changes. Otherwise, they can remove the app from the store. The application may also require some updates after releasing a new version of Android or iOS. Changes in these systems may cause the app unstable or even nonfunctional on the latest versions of mobile operating systems. It comes from the system changes which cannot be predicted when the app is developed. As an example, after releasing iPhone X with changed screen many developers had to change the layouts of their applications.
Research carried by AnyPresence shows that 29.6% of developers of business applications release at least one app’s update a month, and 52,8% plan to improve apps every 6 months.
An application can be used in multiple language versions. Usually it is worth to prepare an application for a multilingual usage even it is expected to have single language users at start.. Even if you do not plan to launch another language version version right away, it will allow to test whether the developers have properly designed the app and implemented the translation mechanisms. The translation process is not that complicated. The developers supply files, which contain a table with all the inscriptions in the app and you only add their translated equivalents in a given language.
Support for external Bluetooth devices
Data exchange with external devices can be operated via Bluetooth. You have to reckon with the fact that the application can consume battery faster. The cost of creating this kind of app can increase significantly. You have to specify which device models you want to connect via Bluetooth. Of course you will need to purchase some devices for development and testing. It is worth checking on the device producer’s website, whether there is already a Bluetooth driver or not, what support it has and which versions mobile platforms it support (Android/iOS) and in which versions. The same is with other protocols, like NFC.
Micro-payments support is a great way to monetize your application. Google Play or App Store have built-in micro-payments mechanisms which can be implemented in your application. It is so convenient solution because a user doesn’t have to give the credit card number. The app uses the fact that the user has already gave the credit card data to Google or Apple. However, this involves paying quite a large commission to the payment operator. Cheaper but more troublesome may be using other payments operators like PayPal. There is also a bunch of local payment operators specific for some countries or regions.
According StatCounter, tablets represent less than 5% of mobile devices in the world. Some apps due to their specification may be designed for tablets only, but you must remember that it will significantly reduce your target market. From the other hand, adjusting the UI of an app to fit both phones and tablets will increase the total cost.
Often, when customers come to us, they say that their application does not need any administration panel – it is simple and they only need a version for phones. It very often turns out that it cannot be done without the administration panel, which increases the costs of the application’s development. If there is a user account in the app, some little server disc space is needed to store them. But if your app sends some other data to the server, and it always happens, when I allow users to share materials and transfer them between phones, then you need to be prepared for much higher disc space usage. And you will need a dashboard to manage and administer these data. Paid applications often feel obligated to help users who for many reasons have cut off access to the account or are unable to set up their account. In that moment, we enter the panel in order to perform some operations remotely on behalf of the user of the app.
Besides the development and maintenance budget you should keep in mind that you need additional money for marketing activities. Whatever you may think, no app will be promoted by itself. Here we list several examples of app marketing approaches:
- ASO (App Store Optimization),
- paid advertising (e. g. Adwords),
- activities in social media,
- developments of a monetization model (e. g. freemium),
- QR Code with a link to the app in marketing materials,
- application catalogs.
An application tests will costs time and money. When developing the mobile app, it is necessary to take into account user tests on different classes of devises, e g. for different displays, subsequent version of Android, etc. What is more, during the process of development the interface usability tests and performance tests are required. In some cases stress tests of the server may be extremely important. One way or another, you have to include the testing phase in your app release schedule. Probably the tests will be carried out by all the parties involved in the creation of the mobile application.
MVP (Minimum Viable Product) is the minimal version of a product/service which is ready for launch into market. Launching MVP means temporarily giving up all the nonessential features and publishing the app with a set of core functionalities. This approach allows to publish the app much faster and cheaper than the full app. This let you to cheap and quickly present the app to the real life users. Quick feedback from them is very useful in further process of development. It may turns out that your idea does not work as well as you expected. Very often, after conversation with some early users it turns out that they expect some other additional functionalities than you designed, but they may as well propose some new brilliant ideas, which has never come to your mind. They can show you new directions for the development of the product or make you aware that the features which you have planned don’t have a great value for them.
The subject of costs estimation and design of mobile applications is very extensive. If you have any questions for this article or you would like to talk about creating a mobile application, please contact us via contact form below.