Guide: How to Develop Apps for iOS and Android2020-02-11T17:06:27.000Z 2020-02-11T17:06:27.000Z In this article, we talk about the app development cost, timeline, and whether you should just use an online app builder to create an app for iOS and Android.
“How to develop an app like Uber?” or “I want an app like Airbnb” - we get these questions and requests all the time. While we recommend our clients not to copy an international business, there are valid ideas when the startup wants to offer a similar business in the country where there are no such providers.
According to Statista, Android and iOS are the most popular mobile platforms out there, with Android taking 74% of the mobile OS market share as of 2019.
What is the most common trap entrepreneurs fall into when attempting to create a “like” app? Oftentimes, it’s too easy to underestimate just how much it costs to create a mobile app like Facebook, for example. The temptation lies in seeing the front end - the tip of the iceberg - and think “Oh, it’s so easy. I’ll create my own.”
As a result, when the client gets the development estimation - with costs and hours required - it’s easy to get confused. Since everyone understands the idea of “like Facebook” differently, some iOS and Android developers might estimate the cost of a social media network creation as something that would take 4 months and $10K (thinking about the white-label solutions, which don’t require much coding and minor adjustments). At the same time, other developers might do reverse-engineering on Facebook and create an estimation for a minimum of 1 year for the MVP, costing $500K+. How do you choose a development partner in such a case?
In this article, we’ll focus on the things you should consider in case you’d like to develop your mobile app and the answers to such questions as:
- How much does app development cost?
- What are the development stages in mobile app development?
- How to create a development brief so that your iOS and Android app developers understand your idea?
- What are app builders and should you use one for programming for android and ios?
- Native or cross-platform app?
Ready? Let’s go.
How much do iOS and Android app development cost?
If you meet a person at a conference or elsewhere, who would be able to answer that question right away: don’t trust your development to his company.
You have to understand, every project, even a comparatively simple one, consists of numerous parts: the app itself and the platforms you want to reach, third-party integrations, website, database, possible admin panels, etc. Therefore, the cost ultimately depends on your expectations, uniqueness of the tasks, and your particular business (for example, financial apps require two-factor authentication, while for most of the other industries it’s just a “good-to-have”).
As we mentioned above, a project description “I want something similar to Facebook” will range from $10K to $500K. Why are prices so different?
- Different understanding of what’s expected
- Different prices per hour of development
- Different prior experience
HUSPI Notes: We usually take around 3-5 days for initial estimation, which includes preliminary basic business analysis to see what your business is like and understanding what exactly you’re looking for (as well as the ways we might go about it). One of the next steps also includes the creation of technical documentation, which describes every detail of your project more precisely and in such a way that developers understand what exactly is expected in a technical sense.
You might also be interested: Why push notifications are great for user engagement
Mobile applications development stages
The creation of an app doesn’t equal to programming for Android and iOS. It involves a lot more stages:
- Preliminary analysis, learning the client's expectations, creating a plan for further cooperation, etc.
- Creating the technical documentation and choosing the ways to make it all happen.
- The design includes creating the layouts of screens, deciding on interactions, choosing or drawing icons, prototypes, etc.
- The actual development stage starts here, where you need to combine the design with the technical requirements and make it all work (includes integration with third-party services and APIs, if necessary)
- Testing goes along with development (we support test-driven development), but it's also a separate stage as well to check all possible scenarios and system loads.
- Letting other people enjoy your brand new mobile application by making it available at the Google Play and Apple App Store.
- There is always something that you will remember after the release - or, perhaps, a helpful user might recommend a feature. Therefore, you need support after the release of the app as well.
HUSPI Notes: Each project is different, which is why we take care of time to understand what each client expects as a result, even if we have done “a simple ecommerce website” a million times. Everyone has a different understanding of a “simple” and even a different understanding of a “website” :) Would you like to talk about it? Send us a message.
How to create a development brief?
The project can be described in many ways.
- You can simply try to explain your idea using words.
- You can draw basic prototypes on a napkin.
- You can write a development brief.
- You can write technical documentation.
Articulating your project’s idea in words is a good start. If you can explain your idea to another person and s/he can understand what you mean - you’re on the right path. However, that’s not enough for the start of the development.
Basic prototypes (on a napkin during lunch business meetings or in prototyping apps) are also a very helpful aid in helping others get excited about your project.
The next two options are more to the point: brief and technical documentation. The latter requires tech specialists and time to think of all possible scenarios, user stories, and milestones for development. The former - a brief - can be done by you.
What’s the purpose of a development brief? It helps to identify the main features and functionalities for the app and evaluate the idea in general.
What’s included in the brief? There are four major parts:
- Users - who will be the primary target audience using your application? (For example, older people would probably require fewer features and larger buttons. Restaurant delivery services would need various options for delivery and take-out as well as payment options.)
- Problems - what user problem are you trying to solve with this app? The idea is that if the user won’t be able to find a definite benefit in using your app, s/he will delete it and never look back. Try to explain it in situations, for example, “get a cab when you don’t have cash” or “dry-cleaning services or laundromat nearby”
- Benefits - what makes your app stand out among competitors? It can be a unique option (for example, a social network for people with disabilities and additional features that help them navigate your app) or a better analog of an existing service.
- Profits - how will you earn money from this app? This can include anything from in-app advertising, in-app purchases, premium features, subscription-based accounts, or users need to purchase this app in the very beginning. If you are creating a mobile app to help you with your general business, the app can also help to attract more customers, increase existing customers’ loyalty, or automate business processes (and therefore save you money on processing all that manually.)
HUSPI Notes: write down everything you think of, don’t just say it - this will save you from repeating yourself over and over as you are working on your project with PMs and developers. (In case you don’t like to write and it’s easier to speak, use the speech-to-text option in Google Docs, for example.)
Should I just use an online app builder instead of mobile apps developer companies?
One of the most prevalent benefits in all of them - you can create an app yourself without needing to resort to coding. It’s quite a tempting idea for sure.
But should you use one? Yes and no.
- Yes - if you need an app that does typical things for business (for example, a basic ecommerce store or an app for communication and information.)
- No - if you need some specific algorithms or unique features that aren’t available in any other app on the market. (You’ll need a proper development team there.)
Native or cross-platform mobile app?
Native apps are mobile apps that have been created specifically for a given platform - for example, Apple iOS.
Cross-platform apps, on the other hand, as you can guess from their name, are created in such a way they can work across platforms - for example, both Apple iOS and Google Android.
Which one is better?
Once again, the answer depends on the purpose and type of your mobile application (and business in general.)
Native App Advantages:
- You can utilize all the platform’s abilities (including hardware) in your application. For example, seamless integration with Siri or 3D touch technology on iPhones.
- The app will be more efficient because the features will be optimized for the given platform’s abilities.
- In case you’re creating an app that would be a part of an ecosystem (for example, it should work on both iPhones and Apple Watches), a native app is a way to go.
Cross-Platform App Advantages:
- The code is usually easier to support
- Business logic is located in one place which helps with testing the functionality simpler and more straightforward. You also don’t have to re-write the same business logic several times for each of the platforms.
- Cross-platform apps are a wonderful solution when you need a web app shell without major integrations with third-party resources.
What factors should you take into account before you make your decision?
- Price - creating one app for two platforms might seem like a cheaper choice and in many cases it is. However, it greatly depends on your app’s features, therefore, consult with developers about this issue before you begin the development.
- Features - as we mentioned above, if you don’t need anything from rocket science or machine learning, you’ll probably do well with a cross-platform app. If you need to involve hardware options, then you should consider creating a native app for each of the platforms you want the app to be available on.
- Updates - if you have a cross-platform app, the testing time for each of the new features is a bit more complex because it should correctly work on several platforms. Therefore, if you plan to update your app frequently (many apps today are updated once in two weeks in response to the user feedback), then we would advise going for native app development.
Also, remember that each platform’s app store has different requirements and time for approval. Take this into account as well, especially if you need the app to be released on a specific date.
Combining all advice:
- The same idea can be evaluated differently by different teams. Get a few estimates to get an idea and work through the project’s requirements.
- Write everything, don’t simply discuss the requirements verbally. This will greatly simplify the estimation process because all team members will be on the same page as to what was said.
- Create a brief for development that includes target users, problems, benefits, and profits.
- Cross-platform and native apps have specific purposes and cases when each is better.
- Start with an MVP version of your app to get feedback from your early users and use that feedback to make your app better.
- Remember that apps take time to be reviewed at the app store, so plan your launch activities well ahead (but keep dates flexible just in case the review doesn’t get approved.)
- In case of any questions, consult with HUSPI - we’re here to help you with tricky questions and software development.