How much does it cost to create a mobile application?
Piotr Lewandowski, 10 July 2018
Smartphones and other mobile devices have become an integral part of our everyday lives. According to IDC, over 358 million smartphones were delivered to the global market in the third quarter of 2019. Today, mobile apps are at the core of this market, which is growing increasingly rapidly each year. As a result, increasingly more businesses are asking about the costs of developing a mobile application.
The cost of creating a mobile app depends on many factors. The following questions should be answered before starting development:
- On which platform (iOS, Android) will the application run? Perhaps both?
- Should the app be connected to a server?
- Does the application require creating user accounts?
- How many screens will be in the app?
- Will the app be integrated with any social media platforms?
- Will a version for web browsers be created? Or perhaps such a version already exists?
- Will the app support push notifications?
- Should the app have a separate layout for tablets?
- Will the app have functionalities such as maps or navigation?
- In what orientation should the app work (horizontal/vertical/both)?
- Will the app support micropayments (Google Pay for example)?
- What functions of the mobile phone does the app use (recording, accelerometer, camera)?
- Will the app support external devices via Bluetooth or any other protocols?
- Will the app be in multiple language versions?
The cost of developing a mobile application
ImpiCode specializes in creating mobile applications. The cost depends on many factors. Generally, we can estimate that the creation of
- a small application (probably without internet access) costs between $ 2500 and $ 15000
- a medium application (often an MVP version) costs between $ 15000 and $ 40000
- a large application costs over $ 40000
A key step in mobile app development is selecting the operating system. The two main options are iOS (iPhone) and Android. A good idea might be creating a prototype on one platform and then transferring the solution to the other in a situation when the final shape of the app isn’t defined. Selecting one or both operating systems may be influenced by the country in which the application will be used. For the European market, it is better to firstly create a version for Android, while in the USA iOS is the preferred choice. Bear in mind that developing a mobile app requires a decision on the oldest supported version. For business applications, it is important to determine the number of devices on which application will be tested and used.
An application made to meet a company’s needs is usually called a business application. Creating such solutions is slightly different in comparison to B2C. A business application can be limited to operate on several selected device models used in the company. It significantly facilitates the design and development process. Firstly, business applications have to be functional. Fancy graphic design will only unnecessarily increase the cost of development. When it comes to consumer applications, everything is different. First, the application has to be supported on various devices, as clients can use a wide range of smartphones. The usability of the app should come first, but it is wise to invest in an eye-catching graphic design.
Graphic design of the application
A good graphic design may help to estimate the cost and accelerate the creation process of a mobile app. It can also be a good way to organize and clarify the operation of the mobile app. The design can be created in any graphic editing program (e.g. Photoshop) or you can just use a ready-made tool to create mock-ups (for example https://www.fluidui.com/).
The web version
Creating an additional web version of an already existing mobile app often involves high costs. For this reason, it is best to find a software development company able to create both web and mobile apps. Such a provider will significantly reduce the time needed to search for separate companies.
Servers and APIs
The terms ‘server’ and ‘API’ may be unclear for a person without technical expertise. Servers are required when an application needs to exchange data between users (for example when playing online games) or store some information (for example purchase/sale offers or photos). APIs are the interfaces to these servers or the other third-party servers such as payment or map services.
The option to create user accounts allows to save and store user-related data on the server. It is necessary when a potential user wants to use the application on several different devices. In such a case, it is worth considering integration with the authentication mechanisms of some other websites like logging in via Facebook or Google.
Maps and geolocation
Maps and geolocation are often the core of the application. Geolocation-based applications cover such areas as the sharing economy, transportation, delivery, and maps finding specific services. Map-based applications usually use the Google Maps or OpenStreetMap API. Depending on the purpose and choice, API libraries can be either free or paid. The price list for Google Maps can be found 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 can be paid.
Applications created for internal use in the company do not require to be placed in an app marketplace. However, a marketplace platform is one of the easiest ways to distribute the app among users, update it, and fix bugs. For this reason, B2C applications should be put on such platforms, because it is the easiest way to download them, and such platforms are an additional marketing channel. Google Play and the App Store are the main marketplaces for applications written for Android and iOS. Besides these two, there are plenty of niche stores also worth considering. Even if they are less popular, making an application available in such a store is a good decision, as it might become the only one of its type on the platform. When it comes to Google Play or the App Store, it is more difficult to deliver a unique app. Also, development costs do not significantly increase or decrease due to the chosen marketplace. Below is a list of popular 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,
App marketplace fees
Mobile app publication and its maintenance involve costs. To publish an application on Google Play, the creation of a developer account is required, which involves a single payment of 25 USD. With such an account there is unlimited access to publish free and paid applications.
The App Store offers two different accounts. The first one is a developer account, which costs 99 USD per year. The second one is the enterprise account, which costs 299 USD per year and enables the distribution of an application only inside a given company.
Other maintenance costs
Deploying apps in a marketplace is not that expensive. However, it is recommended to take into account other expenses such as maintenance. For example, some mobile applications need to be connected to a server or a cloud. Such maintenance costs depend on the server traffic and the number of users. To ensure the smooth operation of the application, it is necessary to use SLA services. As software development companies provide such services, they can provide a dev team ready to quickly solve any possible problem when the server stops working. Also, it pays to put aside some money for minor adjustments and improvements. Changes may be necessary after receiving feedback from users. Another factor that may increase the costs is the marketplace. Such platforms sometimes change their publishing rules, e.g. regarding the permission to use the camera in an app. This results in the need to implement changes because in some cases applications might be even removed from the store. Maintenance costs can be also influenced by new versions of operating systems. Changes in a given system may cause errors or even make an application non-functional. Such problems usually happen when developers fail to predict such changes in the application development process. For example, after releasing iPhone X, which had a screen different from other previous models, many developers had to change the layouts of applications.
According to AnyPresence, 29.6% of developers creating business applications release at least one app update a month, and 52.8% plan to improve their app every 6 months.
A mobile application may sometimes require multiple language versions and it is usually worth preparing it for such use in the development process. Even if it is not planned, it allows testing whether the developers have properly designed the app and implemented the translation mechanisms. The translation process is not that complicated. Developers always provide clients files with tables to add translated phrases.
Connection with external devices via Bluetooth
Connection via Bluetooth provides the possibility for data exchange between devices. Bear in mind that such a feature often discharges the battery faster. The creation of mobile applications able to communicate via Bluetooth and exchange data can increase costs significantly. To provide such a feature, it is necessary to specify which device models will connect via Bluetooth. It usually involves the costs of purchasing some of them 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 of mobile platforms it supports (Android/iOS). The same goes for other protocols, such as NFC.
Micro-payments are a good idea to monetize mobile applications. Google Play and the App Store have built-in micro-payment mechanisms which can be implemented in an app. It is a much more convenient solution because many users have already added their credit card numbers in the store and there is no need to add them in the app. However, such a solution involves paying quite a large commission to the payment operator. A cheaper solution for the user, but more time-consuming for the developer, is integration with payment operators such as PayPal.
According to StatCounter, only 5% of mobile devices are tablets. Making a mobile application for tablets will significantly limit the target market. Besides, adjusting the application UI to both smartphones and tablets will increase the total cost of app development.
When planning to create a mobile application, it pays to consider the need for an administration panel. Many clients think their app will be simple and that there is no necessity for such a panel. Unfortunately, it often turns out that the application requires such a feature, which of course increases development costs. If users can create accounts, some server space is needed to store such data. If an application sends any data to the server, e.g. when users share materials or transfer them between phones, then a dashboard to manage this data is necessary. Paid applications usually offer customer services to prevent such situations as difficulties with account configuration or forgotten passwords. It is only possible to provide help in such situations via the administration panel.
Besides development and maintenance costs, mobile applications involve costs of marketing. Unfortunately, apps don’t promote themselves. To conduct a successful marketing campaign, it is recommended to use one or more of the solutions mentioned below.
- ASO (App Store Optimization),
- paid advertising (e.g. Adwords),
- social media marketing,
- monetization models (e. g. freemium),
- QR Code with a link to the app in marketing materials,
- application catalogs.
Tests are an integral part of application development. Of course, they involve some extra time and money but provide significant information about how the app works on different device models, displays, operating systems, and its versions. Also, app development requires interface usability tests and performance tests, as well as stress tests of servers. When planning development and deadlines, a testing phase must be included in the schedule. Usually, such work is performed by the software development company responsible for mobile app development.
An MVP (Minimum Viable Product) is a product that meets the minimal criteria for market readiness and launch. A mobile application in an MVP version only has the basic and core functionality needed to perform the first user usability tests. Such an approach allows to publish an app much faster and with lower costs to check whether it has any potential. Feedback from the first users is very important and impacts further development. Some users may require other features than those planned. Others may suggest new directions for the development or deleting some of the features, as they do not have much value for users.
The cost estimation of mobile application development is influenced by many factors. If you have any questions about mobile application development or you are interested in developing an app, please contact us via the contact form.