App Development: Frequently Asked Questions
Below we have collected and answered some of the most recurring questions we get regarding app development. If you’re still looking for information after consulting this page, feel free to contact us for a noncommittal discussion on what we can help with.
By far, this is one of the most common questions regarding apps. We probably get asked about this more than all other questions put together. But it is not surprising, with the booming popularity of smartphones, everyone has had a great idea for an app, and before people begin thinking about technical challenges, there’s the simple and universal question of cost.
The good news is that app development doesn’t have to be expensive depending on what features need to be included. However, it is virtually impossible to give someone an exact price without having a roadmap, mockup and or wireframe in place.
Ideally, every scenario should be thought out and planned for, before a developer would start coding. So every app is different, and so is the cost and time that app needs in order to be successful. This means that it might be easier to roughly determine the cost of any given app, by breaking the functionality down into separate parts each with their own estimated cost.
- The size of the app: In terms of how many unique pages, or screens, has to a certain extent an effect on price. For very simple apps that just needs to pull text, similar to WordPress or another CMS, the added cost is relatively small, and does not go up with each dynamic page you wish to add. That means you either pay for a few static screen views, or you purchase a content management system so you can add or remove pages in the app to your liking, even after it has gone live.
- Users & Authentication: There are a few different ways of handling user authentication. By now one of the most common ways are to allow people with social profiles to use them as their login credentials, ie. Facebook or Google accounts to synchronize with. If all that’s needed is a simple login/logout function then this step is not too expensive. Adding user roles, databases with more than just usernames and passwords, content posting capabilities etc. will all add to the cost and can be segmented into modules.
- Database setup: For some applications no database is needed, most however benefit from a simple MySQL or similar setup with basic tables for user logins, saved data and so forth. The most basic databases are virtually up and running in less than half an hour from start, but depending on the features this step can be one of the most simple, or complex out of all the steps mentioned here. Take Google’s databases for instance – not only do they have huge archives of text links, but they have cross references for each link – contexts and images associated as well, and various scores assigned. All of this adds up to make a highly complex database system, and a very heavy and large one as well both in terms of physical and digital sizes.
- Hardware features: If the app needs access to the smartphone or tablet’s camera, fingerprint scanner or gallery an added cost for development will often incur. Just like most other features, the price entirely depends on the complexity of the functionality, where a simple on/off button for the camera is the cheapest. Adding filters, or designing a new user interface for the camera would be an example of extra expense and customization possibilities.
- Enterprise integrations: Some apps are built for public consumers, while others are designed to improve the employee workflows and optimize efficiency within an internal organisational structure. Simple API calls to internal databases or systems will vary greatly in cost depending on the target programming languages, formatting and storing of data, and the visual representation in terms of design and output.
- Custom functions: Many times, the bread and butter of an app has to do with the unique code that’s designed around it. For many developers this custom code is what makes an app great and what makes it stand out. For that reason it is not possible to even come close to an average estimate of this cost, as every app is different. What is important to know however, is that many times shortcuts have already been developed by others. Often times it is possible to find an existing project that will help bootstrap the project by installing ready-made modules that provide a specific service. For instance, developing a square feet calculator app for roofing tiles would be easier with first downloading and implementing a square feet calculator, and then adapting that to fit with roof tiles, rather than design the calculations themselves as well. This way there’s a possibility of saving time and cost on the process, but it depends on the needs.
- Other integrations: Just like with custom functions, often times an app idea involves the mobile app communicating with some other devices. Whether they’re connected in the interconnected IoT cloud, whether it’s a paid web service, or a free and open database such as Wikipedia, setting up these API calls to other systems can be a time consuming affair. Depending on the complexity however, many of the popular websites and services out there already have frameworks in place to allow for a speedy development process for obtaining data, so most of the time the majority of the expense lies in presenting the pulled data, or combining that data with other data-sets for a new perspective.
- Operating systems: Another important aspect to consider when talking price, is which systems the app should work on. By far the two most common ones are Android and iOS, together accounting for more than 99.5% of all devices out there according to TheVerge. These days there are a few different routes to choose from, with native app development and hybrid app development being the major options. Native apps are designed specifically for one operating system, and often works better than hybrid apps which are designed to run on multiple systems using the same code. For most simple apps, a hybrid solution can work just as fine as a native, but for more complex features and access to all hardware, native apps are more robust.
This is a very subjective question, and as a rule of thumb the answer is whichever programming language the developer is the most comfortable with. However, as cream rises to the top, so does the best frameworks and languages. We’ve collected our favorites below:
Objective-C & Xcode
Still, there are some languages that are objectively better or worse than others. Based on the old and extremely respected coding language C, Objective-C is the default programming language for Apple’s iOS that is used on iPhones all over the world.
This is also the language that Apple officially recommends iOS developers use in combination with their development IDE called Xcode, and it’s a very actively supported language in terms of community support and official updates.
Swift & Vapor
But as with all types technology new innovations enter into our lives on a daily basis, and other languages for iOS includes Swift and Vapor that allows developers even quicker development routines and just as stable results.
This latest hyper-modern combination is made for speed and built with love. Never before has it been so easy to publish an app once it has been written, using Heroku for instance, which is part of the reason why Vapor has been one of the hottest GitHub projects in both 2016 and 2017.
Okay, so now we know which languages are used to develop iOS apps. But what languages are used for Android apps?
C++ & Java
For Android, C++ is one of the most popular languages, together with Java. C++ first appeared in the early 1980s, and Java is actually heavily influenced by C++. But where C++ was created with the intention to mainly run on desktop computers and at a very low level, Java was designed to run on all sorts of machines, and was introduced in the mid 1990s.
So both languages have a significant age to them, meaning that all major bugs and flaws have long since been removed and fixed, making both ideal choices for a serious application for both hobby projects, as well as large enterprise solutions.
The advantages of developing in these languages are plentiful, but the main reason people choose this stackprobably has to do with the fact that many web developers are branching over into app development, and these are the languages they’re already familiar with.
With the latest versions of HTML5, it’s even possible to tap into some of the features that were previously out of reach for non-native languages, so now using just HTML5 and JS we can use the fingerprint scanner in apps without having to write more than a few lines of code.
What’s interesting about Node.js however, is that many people feel it combines the best of these three languages, while being built for modern use cases and the lightweight approach makes the language a preferred system to use when developing for speed, efficiency and scalability.
As a server-side runtime script Node.js is one of the more secure ones as well, and is a popular choice for both games, webapps and larger websites. Tons of third party modules are available, and a great number of various services for easy launch and deployment exist as well.
While there are hundreds of languages out there available for the adventurous app developer, the ones described above are by far the most used and recognized languages out there.
And as always with any type of programming, while there are fresher and more trending languages out there, the best language is usually the one you know the best.
Google charges $25 for creating a new developer account, that can then be used to submit apps from. So this cost should be considered as a very negligible expense if you are planning to make money from your Android app.
Apple charges $99/year for developers to have an account at their app store, which still is a relatively low expense considered the giant market the store opens up for.
Both Apple and Google have strict guidelines for what types of apps they accept, and the coding standard on especially Apple’s app store is something to be respected if the app is to be accepted. It is common to get rejections even for simple and small mistakes such as spelling errors, not filling out all metadata and descriptions, and so on.
There’s a number of articles online detailing the best practices for developing an app, and looking at this checklist for common rejections for instance, it really is simple things that most people have issues with.
While both Android and iOS have their advantages and disadvantages, most businesses choose to develop for both platforms to reach as many users as possible. However, there are scenarios where it makes more sense to just develop for one platform, make that app great, and then port to the other platform respectively. This can help keep costs down, and most apps that go live and starts getting users soon needs some unexpected updates or features, that would otherwise be have to made twice.
With both brands having about an equal share worldwide, certain countries and geographical locations have a clear preference and market share for either Apple or Android, and as such it can be wise to do the diligent market research to determine where the main focus should lie.
Especially in developing countries where we see a much larger percentage of the relatively cheaper Android phones could a case be made for saying Android’s better. But better at what? It’s better in one way since there are more users, but that’s just one part of the puzzle.
Even though you might be developing for the African or Indian markets, if you’re selling a high-end service or product through the app then iPhone users might make more sense to target. This is because iPhone users in general have more disposable income, and thus more likely to part with the money you charge.
There are quite a few free app makers out there, and a quick Google search should easily reveal the more popular ones. Most of these work fine for a very simple application – but they’re all different in how they work – some are drag and drop, while others are designed for coding simple what if statements.
Depending on your level and set of skills, there are a few different methods or approaches for making an app yourself. A few key considerations are the amount of time you’re willing to spend on it, the potential price or cost of such a project, and your experience with coding and previous apps.
- Programming: There’s a few different options if you’re open to the idea of programming your app from either scratch, or by using a template or boilerplate to get a bootstrapped and basic app to build on. Whether you choose to follow a detailed step-by-step tutorial that holds your hand while you code, or whether you install Android SDK and Studio and dive deep into the official documentation, programming an app is the single most flexible solution out there. With more than 2 billion mobile devices running Android and iOS, the market is a massive one, and as such there’s been a growing number of tutorials, how-to’s and guides to help the budding developer program his or her first app.
- Visual Editors: With little to no experience with development, many people try out various visual editors or state machines to help ease the coding. Unlike the app makers we mention in the next step, a visual editor helps with some basic elements but is not a complete solution for a one-click drag ‘n drop app, so some knowledge of a programming language is still required to achieve an app ready to publish on the stores, and therefore using just a visual editor is not really recommended, as you will need to program features anyway, so you might as well either learn more and code it all, or proceed to the next point in the list; app makers.
- App Makers: These app generators are a so-called “what you see is what you get” type of service that’s become popular for many simple apps these past years. With a complete system designed to help you make mobile applications easily, you can drag and drop images onto the desired screens, add text like you would in a normal text editor, and more. The more advanced app makers out there offer plenty of customization options, and often includes a number of beautiful themes. The functionality of these types of apps however is often limited to just the very basic features such as static text, images and so on. If you wish to develop a login screen, or build a database of users the app makers are probably not for you.
- WordPress Conversion: A relatively new invention is plugins designed to convert your existing WordPress website into a complete mobile app. This generally works by converting it into a webview or hybrid app, so full native functionality is not included, but for a simple ecommerce catalog, or information app, this solution can be a painless one compared to some of the other options on this list.
For some types of mobile apps it is entirely possible to use the existing website as either a complete clone, or as a stepping stone for further development and design.
However, it is of some importance that the website is fully responsive, meaning it needs to be optimized for mobiles and tablets in order to look good out of the box. So if the app does not need a set of new features separate from the website’s, this is a viable solution.
There’s a few plugins available for the more popular content management systems out there, such as WordPress, that allows a website owner to convert their entire site with just a few clicks. And while these converted mobile apps are not native apps, they’re still functional in terms of displaying static content.
Some plugins even give you the option of either saving all the website data internally in the application, or requiring an internet connection to pull the latest blog posts and data from the live website.
Still, since these converters create a so-called hybrid app displayed in a browser wrapper rather than the mobile’s native wrapper certain issues can occur, such as slower performance compared to native apps, less flexibility in design and an overall boring and generic visual look and feel.
An enterprise application is ordinarily designed for larger businesses looking to either gather existing software into a single solution, or for organisations wanting to enable customers or employees to use their databases without giving them direct access to all internal systems.
The most advanced of these apps consolidate hundreds of different programs and systems into a single streamlined service that makes it much easier to analyze data from different departments or countries, and enables managers to get an overview of all activities from a single view.
Therefore, these types of apps are rarely used for commercial purposes, but tend to be meant for internal use in one way or another. The use cases for enterprises applications span the entirety of human creativity, both in terms of scope and features.
Some companies wish to merge existing IT solutions into a single app so as to decrease the amount of maintenance required on the various systems they use, to make it easier for customers and employees to navigate their content, and to enable detailed reporting based on data from previously different sources.
Other businesses wish to incorporate a mobility strategy solution into their existing processes, increase security and better handle sensitive data with version control, user authentication and damage control procedures in place.
While it’s true that apps are generally built for an operating system such as Android or iOS, there are different versions of these systems, just as there is Windows 7, 10 and older ones such as Windows 98. Developing an app that works on really old devices, or the latest of the latest can be tricky, and this is where market fragmentation comes into play.
For iPhones there are mainly 3 different branches: iOS 11, iOS 10 and iOS 9. What is important to note is that some functions won’t work on brand new systems, and some won’t work on the old ones. So how do you know which to develop for? By taking a look at user adoption stats such as this one, and then figuring out which target demographics are interesting for your purpose.
It is important to keep in mind future updates that will roll out to users, just as it’s vital to keep in mind a number of users on older operating systems are not able to update their systems due to hardware limitations.
The latest versions of both Android and iOS require a minimum hardware setup in order for the software to work, and as such users are being segmented into various version pools.
Thus by identifying the key demographic users to target, and comparing that to statistics for user adoption rates and market fragmentation, a strategy should be put in place to accommodate the maximum amount of users while supporting the minimally required amount of different operating systems.
In terms of looking towards the future, little is known with regards to Apple’s schedules, and Google’s Android road-map shows not much information concerning previous versions and their future support and capabilities.
This means that planning to continue supporting older operating systems in the future might not be a wise move, and a strategy for phasing old out software should be considered as a serious option.
Depending on how you interpret this question, there are 2 answers. If you came to this article looking for information on how to develop an app, please look at bullet point #2 for a detailed guide on the programming languages used for app development.
If you’re asking how to develop the app idea itself, meaning the concept, strategy for marketing and so forth, then by all means read on.
Step 1: Realize it is a business. What I mean by this, is that people tend to think that apps will market themselves, and that just a good idea is all it takes to make money and have thousands of downloads. In reality, it is not at all like this.
Some mediocre apps have millions of downloads, and truly amazing apps never break a thousand app downloads, even over the span of several years. If you are not interested in promoting, marketing and running your app like you would run a normal business, then apps are probably not for you.
Step 2: Solve a problem. Most people want to develop an app because they wish to have their own business and make money from home. But unless you by luck happen to also solve a problem when thinking up your new idea, then you might not make it very far. It is advisable to identify areas in which other apps are not performing at their optimal, and then focus on creating that missing link.
Step 3: Research the competition. Before you go much further with your idea, it can be a very informative and eye-opening experience to look at the competition. What are they doing that you can improve on, what are their core strengths, and is there anything they do that you can’t?
This last question in particular can be important – since that’s an area where you need to think creatively. Of course you might not need that feature, but chances are that feature which is unique to the competition is what makes them special.
Step 4: Figure out an MVP. This means you should try to figure out which features are absolutely required in order for your app to be good, and cut out all of the excess bloat features that doesn’t really add to the core experience.
By only spending time perfecting the unique and important features, you’ll spend less money and time on development, and get your app out there on the stores that much faster.
Step 5: Plan for marketing. At this step you still should not be forking out a single dollar towards programming, logo design or any other promotional materials. Instead you should be hard at work figuring out the names of all potentially interested journalists that might write about you and your new app, scrape together lists of Twitter influencers, websites that review apps, brainstorm ideas for a compelling press release and all other preliminary marketing related topics.
You will have to do this anyway once the app is done, so you might as well do it before you’ve designed or named your app, since you will learn a lot of things when doing this type of research that will hopefully set up your app for greater success by implementing this newly learned information.
Step 6. Create wireframes and views. Finally. This is the fun part. By now you should know in detail how you want your app to perform, which features are critical, and which can be ignored until later.
Spend the time necessary on this step to draw out on paper each view. That means one view for the login screen, and another for the “forgot password?” screen. You might end up with 40 views by the time you’re done, and while most are simple having all the different views created up front helps tremendously down the line.
Step 7: Contact app developers. With your marketing plan in one hand, and the wireframes and view drawings in the other, you are now ready to start contacting developers and enquire about their pricing and offers.
Shop around, don’t be shy and stay realistic. Many app agencies that have in-house programmers charge a significant hourly rate, while offshore freelancers are much cheaper. Striking a balance between quality, reliability and pricing can be a difficult task, but one that is within your reach, especially with all your preliminary work done already.
Listen to each of their issues, suggestions and problems they list, consider them with an open mind, revisit your strategy and your wireframes, and sleep on it for a day or two.
There is no single answer to the question of how long it takes to develop a mobile application. But there’s a few guidelines you can follow in order to approximate the time a developer will need to spend on a mobile app.
The most simple app that only contains a blank screen and a line of text would take a few minutes to put together, but that’s rarely enough to make an app great, or even worthwhile, and could be accomplished faster and easier with just a website and a CMS of some sorts.
When trying to estimate the time needed for an app project, dividing up the various features into sections can help with an overview.
Adding email authentication, push notifications, complex functionality such as chat-bots, database requests or even machine learning all add significant time to the project, and as such once more it is important to know exactly what the app should do at every single click, screen and user input.
For in-house development, most agencies stick to certified processes, meaning that an app has to pass through a number of predefined stages, from concept inception to design, coding and quality assurance through to launch and then maintenance and updates. All of these things are dependent on a number of aspects.
By creating a roadmap, ie. planning ahead a fair portion of time can be saved or cut away due to fewer surprises during development, and a truly well planned project can be the sole difference between a costly failure and a great success.
Submitting an app to the stores used to take a significant portion of time, before Apple actually listened to the community and ramped up their process so that now the average time is down to less than two days.
Google has also sped up their process, with some developers reporting their app was reviewed in less than an hour after submitting it. This has changed how people develop apps slightly. A few years ago it could take up to a month for an app review to take place, and this provided a time window in which to pre-launch and market the app before it hit the stores.
Now this process has been sped up, it’s important to consider whether or not to submit the app as soon as it has been developed, or whether to wait until the marketing campaign and efforts have reaped enough fruits.
So this is an interesting question, but unfortunately not a very common one. Most people with an idea for a mobile application assume their idea is great, and do not bother asking themselves this question. And I do not doubt that most ideas are truly great, but that does not necessarily mean that the app launch will be a success.
It’s one thing to create an awesome product, but it’s another thing entirely to sell that product, to market that product and get people to use that product. So if you don’t have a plan for how to spread the news about your app to a wide audience, you could have the greatest idea ever and still see just 100 app store downloads in total.
And the opposite is true as well, a terribly designed application can have hundreds of thousands of downloads if they’ve marketed their app well enough. After all, consider this small fact: people who have not downloaded the app yet don’t know how great, or mediocre it is.
So while you can have your app go viral and spread through word of mouth if just a few people find the app amazing, it is by no means the only factor to consider when making a good app. And if you are counting on your app making the rounds online then you might not be setting yourself up for success.
Part of what makes an application great then, is not just the idea of the app itself, but just as much the idea of how the app is going to be marketed, how it will be maintained and updated, and how it will affect the lives of the people using it.
Making money off an app is not just about the concept, but also about the number of people using it, and reaching the maximum amount of people generally ensures the most profits.
However, it’s a good idea to consider the various types of monetization options that today’s market offers app developers and designers. From AdSense clicks to in-app purchases, there’s plenty of options.
Our advice is usually to focus on delivering a great experience or product, and then work backwards from there. Take Instagram for an example, starting out as a free to use app, they gained millions of users before monetizing their services.
For games on apps especially, most developers and programming houses focus on building up a user base by offering a very low-cost to entry barrier, often completely free for the most basic features. Adding various mini-transactions to enhance the gameplay or prolong it is one of the most popular methods in use today, since only the truly hooked people are buying this, and as such as more inclined to enjoy their purchase.
This also means that the people who truly love the app tend to pay more and thus as a developer you’re not limited to just charging a one-time fee, but can earn profits from a single active user that outnumber 10 semi-active users.
So the short of it is to focus on creating an amazing experience for your users, regardless of whether you charge them for it or not. Then, once that is in place you can start considering monetization to complement the existing features, rather than being the core if it all.
This won’t necessarily work for all types of apps. But even in the world of business, this is a viable concept. Instead of charging a one-time fee, selling subscriptions ensures recurring payments, and enables you once more to earn a larger portion of money per user than otherwise.
An added benefit to this is that the people who dislike the app won’t feel cheated out of their hard earned money, while those who love it willingly pay what it costs.
Apart from the fact that there’s probably better, and more known apps out there, this often comes down to a question of marketing and has nothing to do with the mobile app itself. While it’s true people browse the app stores looking for new programs, it’s rare that brand new apps get featured in the search results.
Instead, it’s a much safer bet to prepare a launch campaign with a promotion complete with a landing page / website, social media posts and profiles and a general PR campaign. Using Kickstarter or other similar services can also help gain some much needed exposure early on.
If however, your analytics tell a story of plenty of visits then you’d do well in looking closer at CTR rate, download conversions and similar metrics to make sure there are no glaring mistakes of turn-offs, either in the description, images or somewhere else.
Still, by far the most common reason that apps are not seeing downloads is due to lack of traffic and awareness from the general public. A conversion rate of 2% is not at all out of the ordinary, which means you’d need 50 visitors to the app store page for your application, to harvest a single download.
So to gain a thousand downloads, you’d in theory need 50,000 people to know about your app, and to visit the app’s store page. This means it’s advisable to start considering promotion and marketing of your app way before it is live on the app stores. Since you’ll require a large number of eyes on your product, you should develop a plan for achieving that.
Both Android and iOS uses their own proprietary software to build apps around. In simple terms this means that Google and Apple each use their own language developed specifically for the 2 different types of operating systems.
Normally one would develop an app for each system independently of the other, meaning that you’d essentially write the same program in 2 different languages. This for many people feels like an unnecessary expense, why pay twice for the virtually same thing?
That’s why hybrid app development is a thing. Instead of programming in either of the 2 languages, developers can choose any language and use that. When the first app is ready, they then use a program to “translate” the Android app into iOS readable code.
This method can be cheaper than going the native route, but often times the user experience will be weaker, since having a computer program translating large portions of code still isn’t as good as having a human being in charge.
Because of this, hybrid app development have been on the down trend for a while now, as the slightly cheaper costs generally doesn’t outweigh the added features and feel that a native app offers.
Some enterprises have been working with the best of both of these worlds however. A large organisation that already has a number of different software projects in place to handle accounting, employee records, customers and so forth can use hybrid apps to quickly establish a connection to these external systems.
Once this connection is up and running, the hybrid app can then pull that data into a database which in turn is connected to a single native app that consolidates all of the various system’s data into a single entity that enables lightning fast cross-referencing, a shared database for all the sets of data, and an API endpoint for integrations.
Not all mobile applications can be developed with push notifications, there are a few different requirements that need to be taken care of, before the app stores will accept an app with push functionality.
It’s not particularly difficult to set up, but as mentioned the moderators of the app store will need to agree with the app developer in that the push notifications are not used for spam purposes or other less than ideal uses.
Using push notifications to increase the click through rate for advertisements, notifications and updates is a great way to ensure that users see your messages. However, it is easy to go overboard with this method, and spamming users with too many notifications will most likely result in the user uninstalling your app.
So take care with the amount of messages you push to users. And also consider which types of information is the most relevant. For an enterprise app it would make sense to prompt employees once a week to update their working hours in the time tracking application, or an automated notification that the customer needs to pay his or her invoice.
Sending notifications just to send them is not a good idea, and might even be an issue in terms of app store reviewers. Both Apple and Google have a set of guidelines developers need to follow in order to be compliant with user policies.
Most new smartphones & tablets have GPS trackers in them, allowing app developers to utilize these in order to get users location anywhere in the world where there’s a GPS signal. The requirements are few, and mainly has to do with privacy settings and a clear user consent.
Today there are many solutions in existence that allows developers to quickly add this feature, so the time and cost for a simple integration is not too bad, more often it is what the location is used for that takes time to develop.
So enabling the GPS tracking feature itself is not a time consuming developer task, however using the coordinates for something useful is another thing entirely. Today there are many free snippets of code that allows an app developer to quickly implement GPS tracking and Google Maps, but to further manipulate that data or use that data to calculate other functionality can easily become time consuming.
Therefore it is a good idea to first develop a wire-frame that details each step in the process, from the user is prompted to turn on his or her WiFi and 4G network, to inputting the location in a database, or extracting an address from the coordinates.
Per default, apps are created in a single language, and for a single device. Apps can work on all devices, and in any or all languages – if they are made for it that is. The main restriction has to do with time and effort – do you wish to pay for a Dutch translation of all the English text in your app? Do you think a Google translated version is good enough for B2B use?
The same goes for device types. But rather than being model specific, apps are generally designed for operating systems. Most people know of Windows, but did you know that Android and iOS are operating systems too? Developers can code an application for just one operating system, or multiple – again depending on how big of a budget the programmer works with.
To truly support all languages in a single application, manual translation must be made. Any and all automated translation software still leaves much to be desired in terms of quality and context understanding – so until Google pushes a revolutionary AI translation update – automatic translations are not recommended.
In terms of universal device support, this is certainly doable in theory – but in practice it would be inefficient and seriously costly to support even just 99% of all current devices in use. Instead, it is advisable to gather research in terms of the demographics, and if possible target the 3-4 largest user groups.
This could mean focusing on all Android devices with version 4.0 or higher, and Apple devices with iOS 9 or greater – and would ensure somewhere around roughly 90% of all current mobile users.
Adding support for these last 10% or so of users would prove to cost more than 10 times the amount of money for supporting the 90% of users – so it is only really advisable if you truly need universal device support for mobiles and tablets.