How to Make an App: From an Idea to a Product Launch [Full Guide]
How to make your own app if you only have an idea? Not hard these days, even with no coding skills or time to code.
In this step-by-step guide, I’m explaining how to make an application from an idea to an app published on App Store and Google Play. And why research and planning are as important as actual development.
Here’s what we’ll talk about:
Table of contents
Note! I’m only reviewing the option of hiring a development team, not using app builders or templates. The best way to create an app is to find a qualified team that takes responsibility for the result, unlike app builders.
How to Create a Mobile App: #1. Start With Market Research
'I want to create an app'—sounds great! Now, try taking a hard look at your idea and answering these questions:
- Who are you making apps for? What’s your target audience?
- How will it stand out from similar apps?
- Who are your competitors? What do they offer to their users?
- How you’re going to earn money with your app (if you do)?
- What features (authorization via Facebook, payments, shopping cart, or anything else) you want to implement?
These are basic questions any qualified development team would ask before doing anything. And no one can explain this better than the app owner.
So if you already know the answers, just skip to the next step. If not, let’s see where to start.
Analyze Your Competitors
Most likely, there’s a couple of apps that take care of exactly the same problem you want to solve—be it Uber for babysitting or a trading app for Arabic users.
Still, you can build an app that works better than existing solutions.
Start by looking through similar apps on App Store and Google Play, and pay attention to:
- Features
- Monetization scheme (or app’s cost)
- Publisher—is it an individual or a company?
- Last updated—how well is the app maintained?
- Number of downloads (App Store won’t show the number so use software like SensorTower)
- Ratings and reviews
Ratings and reviews are very important—they’ll show you what current apps are missing and tell you the pain point of app’s users.
Users' comments on Google Play. Feedback is worth taking into account while making an app
Same for features—write down the features of each app you consider competitive, and divide them into three categories—core, unique, and missing.
Here I’m using a video-on-demand app as an example:
- Must-have features: registration, profile, video player, search
- Unique features: cards for renting movies
- Missing features: comments, parental control
Think Through Monetization Ways
In case you want to build your own app and make money with it, consider one of the monetization strategies:
- In-app advertising—you partner with brands that pay for advertising space in your app (like Kayak or Airbnb)
- Freemium mobile app—free to download but pay to unlock more features or content, remove ads, or make purchases (MX Player Pro, Lastpass Premium)
- Premium mobile app—users pay before downloading an app (Facetune, Skyview)
- Subscription-based mobile app—free but with an option to add a subscription (Deezer, Netflix, Spotify, NY Times app)
By the end of this stage, you should clearly understand your audience, the value you deliver to customers, channels you’ll use to reach out to them, and revenue streams.
Try filling in Alex Osterwalder's Business Model Canvas to write down all the details. Here’s an example of a filled canvas to plan how to start a Uber like business:
Though many companies will pick you up from 'I want to develop an app like Instagram/Uber/TikTok' stage, research takes time. Thus, costs money. The money you could spend on creating your own app—developing unique features, custom UI design, or even marketing.
The best approach starts with research and planning. Plan your app first, then get in touch with developers.
How to Make Mobile Apps: #2. Decide on the Features
After you’ve studied competitors and defined target audience, think through your app’s features.
I’d break up the list of features in two parts:
- Core features (or MVP)
- Additional features
For example, if you're looking forward to building a mobile app like Deezer or Spotify app, these would be your must-have features:
- User sign up & making a profile
- A homepage with the most popular tracks and albums
- List of favorite tracks/albums
- A search system
- Music player
Additional features:
- Download button
- Share tracks via social networks
- Mix for you
- Similar artists
- Recognizing tracks (like Shazam or DeezerCatcher)
It's very important to provide your software developers with the list of app's features. Without it, the app dev company cannot estimate how many hours app-building is going to take, thus, how much their work is going to cost.
Of course, you can check the idea with your development team. At Cleveroad, we help app owners define features for an MVP according to project requirements and budget.
How the planning stage goes in Cleveroad, and what additional services we provide.
Here’s an example of a rough app estimation with features and number of hours it takes to develop each.
How to Build a Mobile App: #3. Choose Platforms
Sooner or later, you'll have to decide on platforms—choose between iOS or Android, web, or desktop. Or even cover smart TV or wearables (Wear OS, watchOS).
Which platform to choose? Let’s evaluate a few factors.
Target Audience
It’s simple: go for the OS that's most popular among your target audience.
Making a video streaming service? You’ll have to cover smart TV—Apple TV, Android TV, WebOS. Making a fitness & health app? Adapt it for wearables—Wear OS, watchOS.
And if you’re building an app for smartphones and tablets, you’ll have to choose between iOS and Android.
If your users live in the United States, Canada, Australia, or Western Europe, pick iOS.
While Android is number one in countries like Central and South America, India, Africa, China, the Middle East, Russia, Eastern Europe, and some others.
Tip on how to build app: choose the platform your target audience is on
Development Time
It takes 15-20% less time to create apps for iOS than for Android. That’s because of a smaller number of screens and OS versions.
89% of iOS users update to the latest OS version (iOS 13.5). 9% use iOS 12 and 2% stay on an older version.
OS versions share on iOS: 89% use the latest OS version--13
It’s a bit more tricky with Android. Almost half of all users (41%) have the latest OS version (Android Pie). 19% are using the previous version (Oreo), and the rest—older versions.
Android OS versions share: 41% use the latest version, 19% -- previous
Same for app’s layout: there are hundreds of Android-powered devices from different vendors with different resolutions and screen sizes.
Though the gap in development time isn’t that big (~15-20%), creating a mobile app for Android is more complex:
Manufacturers may alter Android to fit their devices, which forces developers to tweak apps to make them work on particular smartphones and tablets;
Some Android-powered devices have cheaper components (CPUs and cameras), which leads to bugs or poor performance
That makes developing an app for Android more expensive compared to iOS, which can't be good if you're just testing an idea.
Best Platform for an MVP
Lots of companies choose to test their ideas on iOS-powered devices, then make an app for Android:
Here’s a couple of examples:
- Airbnb. It took 14 months for the company to convert their iOS app to Android.
- Instagram. Appeared on Android only 4 years after the launch on iOS.
You may go for cross-platform development if you need to cover two platforms but are on a limited budget and/or time. Our developers recommend Flutter—it's an open-source tool that helps make apps that look and work like native.
Flutter is excellent when you’re creating an app like:
- Shopping apps
- Food delivery
- Social media apps
- Fitness apps
- Dating apps
- Marketplaces
In fact, you can create an app of any type on Flutter as you can always write the platform code.
How much time does Flutter development save?
Our business analysts compared the time to build an educational app for iOS+Android vs. Flutter.
Feature | Back-end development | iOS development | Android development | Flutter development |
---|---|---|---|---|
Singup/login | 47 hours | 42 hours | 42 hours | 44 hours |
Search | 22 hours | 21 hours | 21 hours | 21 hours |
Profile | 59 hours | 39 hours | 39 hours | 47 hours |
Course | 19 hours | 17 hours | 17 hours | 17 hours |
Payments | 45 hours | 35 hours | 35 hours | 42 hours |
Menu | 88 hours | 95 hours | 95 hours | 100 hours |
Push notifications | 14 hours | 14 hours | 14 hours | 14 hours |
Flutter takes 15-20% more time to build than one native app. But you’re getting two apps as a result, not one.
And the less time the development takes, the less it’s going to cost you.
How to Make Application: Pay Attention to UI/UX Design
Up to this point, I’ve talked about things to do before the development starts. Now, let’s see how the process goes inside a software dev company.
We're going to start with UI/UX design: take a peek at some differences between iOS and Android design.
Design Guidelines
When designing an application, UI/UX team refers to guidelines — Google's Material Design Guidelines (Android) and Apple’s Human Interface Guidelines (iOS).
How they’re different:
- App navigation
On iOS, Tabs are placed at the bottom.
On Android, Tabs are at the top, usually represented as either text or icons (rather than text and icons).
- Size greeds
Here’s the size greed for iOS:
iOS grid for media assets
Android:
Android grid for media assets
- Icons
Slightly different on iOS and Android.
Icons on iOS vs. Android
- Fonts
Even default fonts are different: San Francisco for iOS and Roboto for Android.
Typefaces on Android (Roboto) and iOS (San Francisco)
And here’s how it looks like on a final product:
iOS vs. Android design for one of the apps we've worked on--Foodito
UI/UX Design Process
Once everything—platforms, features, target audience—is planned, specification is ready, it’s time to develop app UI/UX design.
The first step is making wireframes following the approved part of the specification.
A wireframe is a schematic placement of elements on app screens. It's monochrome, and designers use it to craft prototypes faster and make fewer changes after the planning stage.
Wireframing is a crucial step when it comes to creating apps
Wireframes are not final product design, they’re just a blueprint of the future app. Again, you have to approve wireframes before the team could move any further.
A development team needs your approval quite often, as you can guess. That's done to eliminate misunderstandings and not spend time on creating apps design owner knows nothing about.
By approving all important steps with clients, a software development vendor saves the owner's budget and cuts misunderstandings.
Now, back to the design.
Cleveroad designers often make a clickable prototype at the wireframing stage to simulate a working application. After the development starts, they start working on app design screens to let the app owners test functionality we implemented on a real device.
Want to learn more about our UI/UX design process? We’ve created a guide that explains it step by step.
The Design team prepares all the screens in all possible conditions, reflecting each possible case on screens. For example, showing how an empty user's feed looks right after sign up or what error message appears when users enter incorrect details.
Ready UI/UX design for each screen of an app
How to Make a Mobile App: Development Process
Finally, it’s time to code.
Let’s see what types of app you can make, what tool you need, and how the custom apps development process goes.
Types of Apps
You can either create your own app just for iOS or Android or make a hybrid or cross-platform app. What’s the difference?
Native apps (iOS, Android)—one app for each platform, different programming languages, and an individual codebase for each app. Examples: Instagram, Uber, Pinterest, iOS calculator
Hybrid apps are usually web-based and run in your browser—Safari, Chrome, Opera, etc. Examples: Instagram, Evernote, Twitter (web version)
Cross-platform apps (like Flutter-based) mobile apps that have a single codebase but run on multiple platforms (Android, iOS, Windows, Linux) Examples: Xianyu, Reflectly, Google AdWords
For native apps, we use programming languages like Java or Kotlin (Android) and Swift or Objective-C (iOS).
For hybrid apps, front end tools like HTML5, CSS, and JavaScript.
For cross-platform apps, Dart programming language and Flutter framework.
How to develop an app: tools for development
Development Process Flow
91% of developers follow Agile methodology and work in sprints. Sprint is a period (two weeks, usually) during which a team has to complete a set amount of work.
During the sprint, the team:
- Writes code (devs)
- Works on app’s design (UI/UX designers)
- Checks if the app works as required (QA)
- Conducts meetings with the team, prepares reports for app owners (PM)
How to make a app at Cleveroad: development process we follow
We have an extensive guide explaining the software development process inside Cleveroad; check it for more details on how we work.
At the end of each sprint, a team prepares a demo for the clients to test. Project demo is an application with features implemented during the sprint, the one owners could install on their device and click through.
As soon as the team finishes making an app, it’s time to release it App Store and Google Play. Or move to an actual server to make it accessible for users.
The Final Step—App Release
Our developers agree that it takes more time and effort to release an app on App Store than Google Play.
Google Play uses automated testing, which simplifies and speeds up the process but may leave some minor issues in the cold. Plus, it may be hard to reach the Google Play team to ask why your app was declined.
App Store, on the other hand, delegates app checking to real people. They’ll notice even minor issues—and tell you what to fix.
Here's how the release process goes in general:
- You make sure the app follows App Store or Google Play guidelines (and fix it, if it doesn't).
- Fill in meta data: title, description, keywords, screenshots, and preview videos you want to add.
- Submit the app to review.
- Wait for the reply. App Store/Google Play team will check the app against the guidelines, make sure the app doesn't crash and work as expected.
- Within 2-3 days, your app will either be approved or rejected.
Software development companies, including Cleveroad, often publish apps on behalf of their clients. Developers know exactly what to expect from each marketplace, and how to build an app that’ll be accepted on the first try.
How We Can Help
At Cleveroad, we start working on an app at any stage—from an idea of your future app re-engineering already existing one.
We help to make apps, even if all you have is just its concept. Our business analysts help with research and planning—define your target audience, advise on platforms. We also make a competitive analysis and help with preparing a tech business plan as an additional service.
If you want to create an MVP to test your idea, we'll suggest features to develop first to reduce time to market. As well as more complex ones for winning more users in the future.
For example, one of our latest projects, Ayoo dance (a social network for dancers), was an MVP at first. But as app owners got a lot of positive feedback, soon it grew from an MVP to a full-featured social network, available on iOS.
Have plans on making your own app?
We’ll take care of the development—from an idea to publishing it on marketplaces.
Here are the steps to take:
- Define your target audience.
- Analyze your competitors:
- features they have
- monetization scheme (or app’s cost)
- publisher
- last updated
- number of downloads
- ratings and reviews from real users
- Think through monetization approach--in-app advertising, freemium, premium, or subscription-based.
It depends on the platform your target audience is on, though it's cheaper to build an app for iOS than for Android (fewer screens and OS versions).
If your users live in the United States, Canada, Australia, or Western Europe, choose iOS.
If you're aiming at countries like Central and South America, India, Africa, China, the Middle East, Russia, Eastern Europe, choose Android.
Because it's the first thing users see. An attractive and user-friendly design means a lot for app success: the UI should be eye-catching to capture users' attention and UX should help users solve their problems fast.
Or they may close the app and never come back.
Native apps are built using different programming languages for specific platforms like Java/Kotlin for Android, Swift/Objective-C for iOS. You can download them on the App Store or Google Play.
Hybrid apps are usually web-based and run in a browser—Safari, Chrome, Opera, or any other. To create them, developers use tools like HTML, CSS, and JavaScript.
Here's how the release process goes:
- Check the app against the App Store or Google Play guidelines.
- Fill in metadata: title, description, keywords, screenshots, and preview videos.
- Upload the app.
- Submit the app for review.
- Wait for the reply from App Store/Google Play team.
- Within 2-3 days, your app will either be approved or rejected.
If you're working with a software development company, you may ask them to publish the app on your behalf.
Break up the list of features in two parts:
- core features (or MVP) that app can't exist without (registration, profile management, search system)
- and additional/unique features (Facebook or Twitter login, sharing content via social networks, and so on)
Comments
Thank you for sharing this information to us.
i love this article great use
Glad it works for you!:)