Mobile Development

How long does it take to create a mobile app?

Mikhail Shchelkunov ◽ Aug 20, 2021

Several months or several hours?

Creating a mobile app is expensive and time-consuming. That’s certainly the impression you get when you read most of the articles and case studies on the topic. If prices can vary greatly depending on the location and popularity of the developer company, then approximate deadlines generally tend to be the same everywhere - about two to four months. And that’s just for products with relatively modest user functionality. More complex products take years to build. For example, it took two and half months to develop just one algorithm for Tinder. The Microsoft Office mobile app was worked on for nearly three years.

“A single person created the Yo app in just 8 hours and it took Microsoft 3 years to release Office for iPad”

But there are examples where minimal effort has yielded impressive results. So, the Yo app with its single function - sending greetings to contacts from the phone book - attracted 1 million dollars in investments and made the top 10 list for most popular apps in the App Store (USA) for 2014. The app was created by one person in 8 hours.

Many people are interested to know how to speed up the process of creating a mobile app. Let's find out what factors affect development time and how to save time at each phase.

The average time it takes to build an app

It takes about 68 days or 2-3 months, on average, to create an app.

Consider the average development time for some popular mobile apps. To simplify calculations, we will only be taking the main functions into account.

WhatsApp Yelp Tinder Postmates
Functions
one-to-one chat, group chat, notifications, contacts synchronization, file sharing, video and voice calling, status upload, user profile, privacy settings, share locations
listings & categories, maps, geolocation fencing, reviews and ratings system, search, advanced custom filters, multi vendors, adding new products, in-app admin dashboard, in-app chat between users and stores, dark mode, account management, settings
matchmaking, geolocation, Tinder swiping, realtime chat, push notifications, localization and RTL, user reporting & blocking (per Apple’s rules), account management, profile, dark mode
products & categories, maps, geolocation fencing, shopping cart, advanced custom filters, multi vendors, adding new products, in-app admin dashboard, orders, order history, payments integration with Stripe, Apple Pay support, in-app chat
Screens 20+ 60+ 30+ 50+
Time 600 hours
or 1-2 months
1000 hours
or 1.5-2 months
1500 hours
or 2-3 months
2000 hours
or 3-4 months
Functions Screens Time
one-to-one chat, group chat, notifications, contacts synchronization, file sharing, video and voice calling, status upload, user profile, privacy settings, share locations
20+ 600 hours or 1-2 months
listings & categories, maps, geolocation fencing, reviews and ratings system, search, advanced custom filters, multi vendors, adding new products, in-app admin dashboard, in-app chat between users and stores, dark mode, account management, settings
60+ 1000 hours or 1.5-2 months
matchmaking, geolocation, Tinder swiping, realtime chat, push notifications, localization and RTL, user reporting & blocking (per Apple’s rules), account management, profile, dark mode
30+ 1500 hours or 2-3 months
products & categories, maps, geolocation fencing, shopping cart, advanced custom filters, multi vendors, adding new products, in-app admin dashboard, orders, order history, payments integration with Stripe, Apple Pay support, in-app chat, dark mode, account management, settings
50+ 2000 hours or 3-4 months

* Time is calculated on the basis of a 35 hour working week of 4 specialists.

What affects development complexity and its deadlines?

It is impossible to calculate development time with absolute precision. But an experienced specialist knows roughly how long it will take to develop a particular function of an app. This places critical importance on the analysis phase of the future app. The more detail you put into your description of how the app should work, the more accurate the forecast will be.

Factors that most affect development time:

  1. Functionality - This is the entire set of functions: authorization, messaging, the search feature, payments, geolocation, multilingualism, etc. Adding a new function at a later phase will significantly increase the development time.
  2. Platform - Android, iOS, or both platforms. It will take twice as long to develop for Android and iOS simultaneously. Development time can be reduced by 30% by using a cross-platform tool.
  3. Customized design - It is faster to develop an app with standard elements.
  4. Number of screens - This does not always directly affect complexity, but it is usually faster to build an app with 10 screens than one with 50 screens.
  5. Backend or server-side infrastructure - You can create your own backend or use a ready-made infrastructure. Development time can be reduced by 40% using turnkey backend infrastructure (BaaS) such as Firebase or AWS Amplify.
  6. Development experience - The key factor is whether you develop the app yourself or contact an agency.

Phases of work on the app

Generally speaking, the entire process can be divided into five phases: analysis, prototyping, development, testing, and publication. Let's look at these in more detail.

Analysis and research

With experience, no more than 2 weeks is needed to analyze the app.

No matter how ingenious the idea behind the app may seem, it needs to be tested and discussed with various people. It should be studied against similar examples, its functions determined and prioritized, and an estimated time established for creating the app.

“Spending an extra week on research will save you a month on creation”

Phases of research for a prospective appn:

  1. Discussing the idea with various people to test its viability
  2. Defining the target audience; the age and interests of users
  3. Examining similar apps and identifying their pros and cons
  4. Creating a list of features and highlighting 1 or 2 of the most valuable
  5. Predict total development time based on the feature list
  6. Choose appropriate technologies for development

Sample specification for a simple app: https://www.scribd.com/document/282906991/The-Kids-Learn-App-Proposal-Report

Prototyping and design

A simple app can be sketched on paper in a few days

Wireframing is an important step in mobile app development. A wireframe provides a visualization of the functionality and capabilities of the app, bridging the gap between the original idea and the finished product. After wireframing, a detailed user interface design is developed, including font, colors, and images. Sometimes an interactive prototype is also created.

Step-by-step process from wireframe to design and an interactive prototype of the app

When it comes to visual details, drawing with a pencil is much easier than explaining an idea with your fingers. Sketching on paper is the fastest way to create a mock up of a future app. Once you've sketched out the main screens, you can start creating a more detailed schematic wireframe that consists of blocks, words, lines, and sometimes descriptions.

Freehand rough sketches of the mobile app screens on paper.
Freehand rough sketches of the mobile app screens on paper.

Finally, turn your sketches into the final design. If you are planning to do the design yourself, don't reinvent the wheel. Find the right template and customize it to save time.

A detailed design of 
the mobile app screens.
A detailed design of the mobile app screens.

If your app contains many elements and screens, or involves complex user interaction, it would be beneficial to create an interactive prototype. A prototype will show the app in action in the early stages of development before programming has begun. You can even press buttons and navigate between screens with the prototype, although it is simply an emulation of the functionality and there is no programming involved.

An interactive prototype for a university app

A list of free tools to create a sketch and turn it into a prototype:

Front-end and Back-end Development

The app development phase can last from 1 to 2 months

The architecture of most software products, be it an online store, an online game or a mobile app, consists of two parts: Front-end and Back-end. Only the simplest of app, such as a calculator, camera or alarm clock, do not require a backend.

  • Front-end - the user side; the interface. This is everything the user sees and interacts with on the screen. Buttons, text, tables and images.
  • Back-end - the server side, where data is processed and stored. Databases, file storage, authorization data.
Frontend vs backend

For example, in the Facebook app, on the screen showing the list of friends, the user clicks on a friend's photo (that’s the Front-end), and a request is sent to the server with the friend's ID. A search is performed for the corresponding record in the database and images in the storage. The data collected is then sent back to the app ( that’s the Back-end), after which a list of the latest posts by that friend (Front-end) is displayed on the screen.

The server side is created once and is used for any platform - Android, iOS, or others.

“It takes twice as long to create an app for two platforms”

An interface is created separately for each platform, and the creation time for different platforms is approximately the same, meaning production time will double if you need to create versions for Android and iOS. By choosing a cross-platform tool, you will save up to 30% of the total development time.

“Save 30% of your time with a cross-platform tool”

Approximately 80% of time spent waiting in an app is on the front end and only 20% on the back end, so interface optimization will give you the most production speed with the least effort.

"80% of the waiting time in an app is in the interface"

Of course, this rule only works if the response from your server comes quickly. But even if your server is fast during development and testing, it would be a mistake to assume that it will always be that way. As the number of users on the app increases, so does the load on the server. At peak times, when 100 or 1000 users simultaneously launch the app, the waiting time for a response can increase significantly.

This is why it is so important to account for scalability on the server side during the platform-choosing phase, and to conduct tests that simulate a high load during the testing phase.

"Development time will be reduced by 40% using turnkey infrastructure for the backend"

If you don't have any experience in backend development, check out ready-made solutions like Google Firebase or Amazon AWS Amplify. These platforms will significantly reduce the time needed to develop the server side and they can withstand any workload or number of users. The free plan is sufficient for most app at the beginning. Even paid plans will be cheaper than the cost of developing and maintaining your own solution.

“Accelerate app development with MVP techniques”

You can reduce the development and release time of your app by using a minimum viable product (MVP) methodology. The point of the method is simple: instead of implementing all the functions of an app, focus on the single most important function. This will allow you to create and release a working app as quickly as possible, creating immediate value for the user.

Once a minimal version is released, move on to adding and releasing the next major feature, and so on. In addition to speeding up development, MVP has several other advantages:

  • The user gets the most important functions quickly
  • Accelerated user training
  • Each new version is improved by feedback
  • Reduces the risks of entering the market
  • Rapid assessment of app demand

The development phase is the most time-consuming and expensive. Five to seven years ago, when the iterative approach to creating app wasn’t so popular, app could have been in development for years, and this was considered the norm. Today, with the use of ready-made frameworks and MVP techniques, the development process is significantly faster and allows the first version to be released within a month.

Testing and fixing bugs

Allow at least a week for testing

The goal of this phase is to identify all possible flaws that arise in various use scenarios and eliminate them. During testing, each element of the interface is worked through. Each button should work correctly, each link should lead to the right place. The app is tested on real devices with different versions of operating systems.

Key points to consider when testing mobile app:

  • Testing on real devices
  • Testing basic functions
  • Usability testing
  • User interface testing
  • Performance testing
  • Security testing

If you do not have the device you need for testing, use a service that offers remote access to real mobile devices.

Online 
services for testing app on real devices
Online services for testing app on real devices

A list of services where you can test an app on real devices:

Publishing to the App Store and Google Play

It takes 7 days for your app to be reviewed in the store.

The process of submitting an app to the App Store or Google Play itself is not technically difficult, but it can be confusing the first time. You just need to fill in all the required fields in each section and upload screenshots of your app. Various online tools such as AppLaunchpad can help you quickly create screenshots and download banners.

"Within 3 to 7 days, the app is verified by the store"

After entering all the information, the app is sent to a store employee for verification. The timeframe for verification and approval on Google Play is roughly 7 days. In the App Store it’s 3 to 5 days. Your app is tested to meet Apple and Google standards. If everything checks out, then in a few days your app will appear in the store. Otherwise, you will receive a list of comments for correction before resubmitting for consideration.

“Knowing the root causes of app rejection can save you a week or more”

The most common reasons app are rejected:

  1. Crashes and errors in the app
  2. Broken links in the app description
  3. Lack of requests for permission to use sensitive data (geolocation, camera, etc.)
  4. Inaccurate screenshots or their absence in the app description
  5. Incomplete information that makes it difficult for the store employee to test
  6. A non-standard user interface that makes it difficult to work with the app
  7. Your app is just a website opening in a browser
  8. Re-publishing a similar app
  9. Misleading the user in any way
  10. Insufficient usefulness

How to speed up the development of a mobile app

Front-end and back-end development takes the lion's share of timing. Creating an app from scratch without specific functionality takes 2-3 months under favorable conditions. But the development process can be sped up by using modern mobile development tools — app builders. What’s more, the app can be made independently without spending years learning programming languages.

“You can create a working app adapted for iOS and Android in a weekend using the app builder”

This approach is called zero-coding and it is widely used in developing various digital products - app, websites, chat bots, and even marketplaces. A ready-for-market product is assembled "Lego-style" from ready-made templates and widgets. This does not require specific knowledge in development, design or testing. The functionality of the Flipabit app builder resembles the well-known PowerPoint or Figma, with a large library of elements.

Over the weekend, you can end up with a working app, adapted for iOS and Android, ready to be published in the store.

It sounds very tempting and a little too good to be true, but this is the reality of our time: Back in the era of dial-up, unlimited Internet in every home seemed like a pipe dream, too. Now, the next "Tinder" or "Instagram" cannot be thrown together in a couple of days on a design tool, but a service or entertainment app with sufficient functionality can be made.


Share
More from the blog