Clients often ask us about the cost of developing a new app. This question is not a simple one to answer, as it depends on several factors which we will discuss in this piece. The goal of this article is to clear-up why we cannot accurately determine the total cost of a project at its commencement.
What Factors Determine the Cost of Developing a New Application?
The first is compatibility. How many types of devices and operating systems do you want the application to function on? The worlds of iOS and Android are quite diverse in this matter.
With iOS you only need to choose whether you want your app to work on the latest iPhones and their operating systems (currently being the iPhone 7 + iOS 10), or add support for older models (6, 5S and older), including previous versions of the operating systems (which we do not recommend because more than 70% of users consistently upgrade to the latest version of the week).
With Android there are many manufacturers and versions of the operating system. The wide selection of pairings, as well as the need for more support and testing can consequently make the development of your app more expensive than with iOS. We can consult you on choosing the most appropriate combinations to ensure functionality for your target segment without you having to spend any extra money.
Depending on your requirements, we can also set up a team of developers who will have an impact on total costs:
- The Core team consists of a project manager, UX/UI designer, at least 2 mobile developers, and a product tester. In the case that you are working with data, you will need a backend developer as well.
- The Extended team consists of a DevOps Engineer, Web Developer, and 2-4 Android or iOS developers (depending on your requirements).
Obviously the complexity and functionality of the application has a great impact on the cost. The most common factors that extend basic application features include:
- Backend infrastructure for connecting with databases
- A Web administration interface for your application’s data
- Chat, messaging, and push notifications
- In-app purchases
- Integration of third party features such as social sharing or external payment gateways
- Use of hardware components for smartphones such as GPS, gyroscope, and more
- A separate user interface for tablets
- Use of analytical tools to adapt development to the acquired data
- Machine learning – based on user behavior in the application
- Interference with native operating system behavior (adjustments to Android or iOS settings).
Adding these components and features will increase the complexity of developing your application, thus bringing up the cost.
The next factor is the user interface and appearance of the application. Here are the three options:
- Strictly keep and use the system aesthetic of the existing platform
- Design and create your own interface
- Create a custom interface with added animations and real-time data display (i.e. moving cars on a map).
The more expensive option of course is customized graphics, although the result will be worth it in the end because your application will be unique. Real-time animations and events can make a lovable app.
On the other hand if you choose only system graphics, the overall cost of the application will be much lower.
The last factors that impact your costs are the support and updates for your application (these are no longer included in the initial app cost estimate). Each application requires continuous care after its release: support for new devices, backend and cloud maintenance, and regular updates.
Expenditure on promoting the application should also be taken into consideration.
What is the Average Cost of Developing an App for iOS/Android?
Do not expect an accurate price estimate for developing applications – it is not possible, especially for more demanding projects. It is recommended to develop an app using agile methodologies that will allow the project to be implemented in parts (also called sprints). For the simple ones, the final price can be determined by an input analysis. The total cost is based on time spent developing and implementing all the functions (this time is then multiplied by our hourly rate). The time spent on development depends on the factors we have described above.
For a better illustration, we present 3 model examples of applications categorized by functionality:
- Simple applications: such applications only offer basic features and do not require integration with third-party tools or backend infrastructure. They use a system design without customized graphic elements. Development usually takes up to 100 hours for one platform. An example is Mountimer for the iPhone and Apple Watch.
- Medium-complex applications: they offer more complex things, even a chat, payment options, tablet UI adaptation, communication with other services, and basic backend infrastructure. Here the development takes about 600-800 hours for one platform. One example project would be Babysitting.today, which also includes extensive web administration.
- Complex applications: more complex applications implement audio or video processing, have a complicated backend infrastructure, or include third-party tools such as machine learning. The development time is 800 hours or more. An example of this kind of project is our second screen experience app for T-Mobile or Aš city that supports augmented reality.
Our hourly rate is individualized, depending on the size of the project, deadlines, and complexity.
How to Start Developing
This depends on the possibilities brought forth by each client and the degree of preparedness of the project. Usually we provide an initial rough estimate in order for you to have an idea of whether you can afford to run the project financially.
This rough estimate is in no case applicable for tendering between multiple companies, since it does not take into account the majority of details mentioned in this article that have a significant impact on the final price.
These details are further taken into account in the subsequent analysis, which takes about 2-4 days, the output being the technical specification of the project, including hourly estimates of each function. This will provide you with sufficient detailed information on the project’s complexity. After that, it is possible to choose whether the project can be realized with a fixed budget or as an agile development after each sprint.
At that point the realization of the project is ready to begin!