How to create an app and make money?
You got it! Do you want to do something big? Have an excellent idea for the next billion-dollar app?
How to create an app and make money?
This article will detail the lessons learned during my 13-year entrepreneur journey running a software development company and creating hundreds of mobile apps.
I will reveal the hidden secrets of how to bring your ideas to life. We will provide practical steps based on our own experience making mobile apps and share some tips that worked well for me.
Mobile phone usage continues to grow, and these are the most accessible devices in the world. Believe it or not, there are more phones than people!
While the number of people using mobile phones continues to rise, developing a mobile app, it’s not necessarily straightforward or cheap.
This tutorial will provide you with simple steps that will speed up app development and save you money.
Here is a warm-up that will save you save thousands of dollars! All lessons learned the hard way, of course.
- 1 Don’t start coding right away
- 2 Please keep it simple and start with an MVP
- 3 Get feedback from customers as early as possible
- 4 Making money is hard, but you can do it
- 5 The 13 steps to make a mobile app
- 5.1 1. Write down your high-level idea
- 5.2 2. Choose Android Apps or iOS Apps
- 5.3 3. Wireframe & Mockup & Prototyping
- 5.4 4. Get customer feedback
- 5.5 5. App Backend
- 5.6 6. App Frontend
- 5.7 7. Landing Page
- 5.8 8. Mobile Analytics
- 5.9 9. Test your app
- 5.10 10. Optimize your App SEO
- 5.11 11. Launch your app
- 5.12 12. Promote your app
- 5.13 13. Get customer feedback
- 6 Conclusion
- 7 General FAQ
- 8 What are the steps to make an iOS app?
- 9 How to make my app GDPR compliant?
- 10 How to save money developing an app?
- 11 Should I outsource app development?
- 12 Should I use a BaaS for app development?
Don’t start coding right away
My previous company started to code our first product in 2004 without any customer validation. It took two years and, at the moment it was ready, there was no market need for the product.
The product was great, had all the features you can imagine, but customers did not want it! Wow, we will never forget that and never make the same mistake again.
The first lesson I learned the hard way is that you should NOT start coding right away!
Coding is the most expensive piece of the equation, and you will be able to have significant savings planning the north of the product. Finding developers is hard and costly!
The hourly rate will vary from $25/hour in offshore development to $200/hour in Silicon Valley. So, make sure you write down your idea first, do some market research, design some sketches, and get feedback from potential customers before coding the app.
This simple rule may save you thousands of dollars and possibly avoid creating an app that nobody wants.
Please keep it simple and start with an MVP
The second thing to bear in mind is that the development cycle has to be small! An MVP – Minimum Viable Product should be ready in no more than three months.
I know what you are thinking: “My app has all these features, and it’s impossible to have it ready in 3 months”.
Don’t fool yourself because before collecting customer feedback and real-life data, you don’t know (you think you do, but you don’t) which features are required for a successful product.
It may be an exception here for enterprise apps that, in most cases, demand complex legacy systems integrations. Still, even in this case, the initial development should be as simple as possible to meet minimum business/security requirements.
Get feedback from customers as early as possible
Validate the hypotheses of your app as soon as possible and at the lowest possible cost! Please don’t wait until your app is fully coded to show it to potential users.
The reason for that is simple; if your hypotheses are not correct or need adjustment, you may not have more financial resources to continue the project.
It’s much better to collect customer feedback in the early stages of the project and redefine app requirements based on real-life data. By doing this, you improve the likelihood of launching a successful application.
Making money is hard, but you can do it
The process of making money with a mobile application is not straightforward, and there are multiple ways you can do it. Here are monetization strategies:
Subscription Model for Paid Apps
This model may incorporate a free version plus paid subscriptions or a free trial and paid subscriptions.
- Creating a B2B app and selling to large organizations
- Creating a B2B app and selling to startups
- Creating a B2C app and selling to consumers (very hard! How many times have you paid for an application? )
Advertisement & Partnerships
There are two main options to move forward if your app is free to use. You either run ads via an ad network or partner with companies to sponsor your app.
- Creating a B2C app and generating revenue via Ads
- Creating a B2C app and asking enterprises/startups to sponsor the app
- Creating a gaming app and monetizing via In-App-Purchases
These are the main ways you can earn money on your mobile app.
The 13 steps to make a mobile app
All right! Now, I will guide you step by step on how to make a successful app! Here is what you will find reading this article.
1. Write down your high-level idea
More than 5 thousand apps are released every single day on the app stores! So, you have to stand out in the crowd to be successful.
The first step in developing a popular mobile app is to write down your high-level objectives. You must have a goal, or you will drift around and get nowhere.
Use the Business Model Canvas
Remember my company in 2004? The business plan had more than 100 pages and covered all possible scenarios. I do NOT recommend that!
Move away from complicated and broad business plans! Time to market plays a vital role in mobile apps!
A business plan will delay this process and not help you to achieve this goal. On top of that, most of the projections will be wrong.
An excellent way to develop your high-level plan is by using the business model canvas. This template will cover the most critical aspects of a business: value propositions, customer segments, revenue, and more.
It’s possible to have a first version ready in a couple of hours, depending on your prior knowledge of the business. To know more about the Business Model Canvas, please read the article 15 minutes Business Plan.
It would be best if you used this framework for the following reasons:
- It’s fast and agile
- It’s great to generate a collection of ideas
- It helps to structure discussions
- You can redo it and pivot the app as needed
Startup Owners Manual
Buy this book and use it to develop your business! It’s a checklist of how to create a successful company from scratch.
It’s like a car manual, but for your company! It has almost 600 pages, and you will find all the answers there. Use it as a manual and not as a book to read during your vacations.
Have a budget
Developers earn a lot of money, and make sure you define your budget to develop your mobile app!
The amount you will spend needs to be precise since the project’s inception. Mobile app development is expensive, and you need to plan your expenses to avoid unpleasant surprises properly.
For example, let’s consider a budget of $25,000.
- Total Budget: $25,000
- Offshore Development Hourly Rate: $25.00
- Total hours of coding: 1,000
- Work hours/Day: 08
- Business days/month: 22
- Work hours/Month: 176
- Quantity of developers: 2
- Total hours/developer: 500
- Months of work: 500/176 = 2.84
So, this simple example shows how expensive a software project can be!
Even if we consider an offshore software development company at a rate as low as $25.00/hour, the budget of $25k will only allow two developers working on a project for less than three months.
So, it’s fundamental to minimize the cost of each mistake you make! The budget can get out of control pretty quickly, and that is why I say it’s essential to make some validation before coding the application.
Use the Lean Startup Methodology
This paragraph is a contribution written by Mike Van Drongelen, from Miker Works.
It is good to see that the lean startup methodology is becoming more and more popular. But the following is still a valid question for a lot of developers and a lot of customers:
Why would you spend half a year or more on developing an awesome piece of software that nobody wants to use in the end?
We have been there. We have done that too. As a developer, it is just more fun to sit behind your computer and start coding, I guess.
But it quickly made sense to us that validated learning through the Build-Measure-Learn feedback loop can prevent wasting precious time and money! In addition to the books written by Eric Ries, we have learned a lot from the lean startup circle and from the wise lessons of Ash Maurya.
Now we no longer develop the features that we want to create; we insist on developing the features that users want to have! The only way to find out about that is to ask them and to start app development by creating a Minimum Viable Product (MVP) first.
By talking to our customers and our customers’ users, we can find out whether a certain assumption is true or not. We found that continuously repeating this process, considerably increases the relevancy and the value of any app.
Today the lean approach is a part of our companies’ philosophy. Key elements of successful mobile development are a short time to market and obtaining feedback early.
I believe the services of Back4App contribute to that to a great extent because of the possibility of setting up a back-end very quickly. There is no more excuse for anyone not to develop a Minimum Viable Product (MVP) first.
Developers vs. Software Development Company
That’s a difficult decision! Generally speaking, you should outsource development if the app is not part of your core business.
For example, you have a business and want to create an app to control internal processes or any other aspect of the company that is not the core. Outsourcing would work better for this use case.
If the app is your core business, the decision will be more complicated. In particular, it’s challenging to find developers and convince them to work for your company in the US.
Let’s consider you are a startup with few financial resources. Outsourcing would be an acceptable alternative until your business grows and you have more compelling reasons (more clear vision, technical challenges, money) to persuade developers to work for you. Another path you can follow is to look for a technical co-founder, and he or she will be your first developer.
The flowchart below will help you to decide.
Will the app be your core business?
If the answer is NO. Outsourcing will make a lot of sense.
If the answer is YES. Make some additional questions.
Will you work full time on the project?
If the answer is NO. Outsourcing will make a lot of sense.
If the answer is YES. Make some additional questions.
Do you have funding or money to pay a developer for at least 1 year?
If the answer is NO. Two options, outsource or have a technical co-founder.
If the answer is YES. Two options, hire a developer or have a technical co-founder.
Consumer App x Business App
At this step, you need to define if you will target your app to consumers or businesses. There is no right or wrong, and it’s a matter of choice.
- Free or Freemium
- Low $ per user
- Emotional design
- High Churn
- Large user base
- High $ per account
- More utilitarian and focus on simplifying business processes
- Lower churn in comparison to consumer apps
Research competitors for your app
Here are some ways you can know more about your competitors:
- Google search / Google trends
- Reporting firms like Gartner/App Annie
- Websites like Alexa / Similarweb
- Use tools like SEM Rush / MOZ
2. Choose Android Apps or iOS Apps
Ios and Android are two of the most used technologies to run an application. Before moving to the next step, please choose one operating system to start.
Even though hybrid development makes it easier to create apps on both operating systems, selecting a single platform will simplify the design process, save you money, and you can easily add a new one in the future.
Developing on both platforms at the same time will make your MVP more complex, increase costs, and delay customer understanding.
Here is the worldwide market share between Android and iOS.
3. Wireframe & Mockup & Prototyping
First things, first! The wireframe is not the same thing as a mockup, and the mockup is not prototyping!
The wireframe is a sketch of how the app is going to look like.
A mockup has animated pictures and colors.
A prototype allows the users to perform actions like pressing a button and interact with the app.
Here is an example of a wireframe, mockup, and prototype.
Investing time in this step can save you time and money! Another significant reason to go through this step is that you are going to learn! You will gain clarity and speed up market validation!
The reasons you should design your application are:
• It’s fun, and you will enjoy the process
• It’s much faster to change design than changing code
• Designer hours are usually less expensive than developer hours
• You can do by yourself if you wish
There are several tools you can use for this purpose. Some examples here:
Here is a quote with a valuable lesson from Rob Blackburn of Blackburn Labs.
“I have found that wireframes/mockups are some of the most critical elements to the early phases of any project.
They say a picture is worth a thousand words. This holds particularity true when trying to describe an abstract concept. Sometimes the only way to accurately convey the apps vision is with a wireframe or mockup.
For some projects I won’t even try to give a quote until we’ve done at least a few mockups, just to make sure we are all talking about the same thing.There are many great tools that help make the wireframe/mockup process faster and easier such as Mockflow or InVision.
However, sometimes I find simply as using MS Powerpoint or Google Slides works best for quick ad hoc wireframes or mockups. The key is to get the idea to where everyone can see it; be it on a whiteboard, a napkin, a slide deck, or using special software. Use the tools that fit your team best and allows for fluid creativity and communication.
Use App Templates
Here is another vital tip that will help you accelerate your app development and reduce the total investment! Make sure you use app templates.
Application templates are a great way to start your app without recreating the wheel and drive value to your mobile app’s unique functionalities.
Check this Slack Clone example. It’s really easy to use and implement on a new project.
4. Get customer feedback
Now that you have your prototype ready, you can conduct the first round of customer feedback! Show it to friends and potential customers. Here some ways you can that:
- Show the app to startups founders at coworking spaces
- Please share it with family & friends
- Go to meetup events
- Show it to real customers
- Advertise the product on Facebook, LinkedIn, and Twitter. You can get free credits for that.
- Go to pitch competitions
Want to know more about customer feedback?
Read this article:
Watch this video (min 2:54):
Based on the feedback you receive, you need to review your high-level idea and prototypes. Run this loop until you are comfortable with the results and move to the next step.
5. App Backend
Now we are ready to start coding the app!
Mobile apps are like an iceberg! There is a piece the users can see and an unseen piece.
Users can see = frontend
Users can’t see = backend
Generally speaking, most of the development will concentrate on the backend. I say that because the backend will run most business rules, store/retrieve data, and generate the APIs.
There are two main paths to create a backend:
- Use a backend platform
- Code a custom backend from scratch
BaaS – Backend as a Service Platforms
A great way to speed up backend creation is to use platforms to accelerate development. Using a backend service, you will automate repetitive tasks like authentication, social login, data backup, and others.
The main benefits of using a backend as a service are:
- Speed – Reduce the time to market
- Cost – Less engineering hours
- Infrastructure – No need to worry about cloud management
Let’s take, for example, a dating app. Here is how much you can save using the backend service.
Setup Time: 16 hours
Development Time: 16 Hours
Total Cost: $800
Money Save with backend service: $800
GPS & GeoFences
Setup Time: 08 hours
Development Time: 80 Hours
Total Cost: $2,200
Money Save with backend service: $2,200
Send Push Notifications
Setup Time: 40 hours
Development Time: 480 hours
Total Cost: $13,000
Money Save with backend service: $13,000
So, reducing total project costs and faster time to market are two compelling reasons for a backend service platform.
Here are some options you can start:
- Back4app (That’s our company, please try it first!)
Would you like to know more about how a Backend as a Service can save you development costs? Please read the article below:
How to make your app GDPR compliant
Another consideration you need to bear in mind is how to create a GDPR compliant app. If your app is going to store data from EU users, you must comply with GDPR.
Backend services will help you to do that and speed up the entire process. Generally speaking, a backend service will provide you with a DPA – Data Processing Addendum and act as the data processor. The app owner will serve as a data controller.
The advantages of using a backend as a service for GDPR are:
- The app owner will act as Data Controller
- Outsource Data Processor responsibilities to the backend service
- Preconfigured Security/Privacy settings on the server-side
For example, at Back4app, we allocated most of our engineering team for around 60 days to redefine the backend structure to comply with GDPR requirements.
So, it’s possible to do it by yourself, but the time & effort required will be substantial. It’s not an easy task, and in particular, it will be tough for this investment to pay off for small projects. You can download an example of DPA below:
The main advantage of a custom backend is the flexibility it provides. The downside is the higher cost than a backend service and longer development time until you launch your MVP.
If you decide to choose this path, here are some frequently used programming languages:
- Node.JS – Some famous projects are, LinkedIn, Netflix, Uber
- Python – Some well-known companies using are Instagram, Spotify, Dropbox
- Ruby on Rails – Some great examples are Airbnb, Shopify, Bloomberg
6. App Frontend
The frontend of the application plays a critical piece in the success of your app! A successful app requires a functional, clean, and attractive appeal to raise interest! The first choice you will face is if you will develop a Native, Web, or Hybrid mobile app.
Native apps work on the devices’ OSs and require full access to hardware and functionally. The main benefits of native apps are the speed; they work offline and have the best look and feel.
Web apps do not have access to the hardware and have more limited functionality. The main benefits are the fast time to market, low development cost, and no download required.
Hybrid apps have a web view that runs inside the native app. This image is helpful to highlight the differences.
- Fast time to market
- Less expensive
- Updates don’t require new app store review
- User experience is not the same as a native app
- Slower and less resourceful
- A browser it’s required to open the app
- Best performance
- Superior user experience
- Development flexibility
- More expensive option
- More complex to maintain and upgrade
- Requires two separate code repositories
- Single codebase, and less expensive than native
- Similar user experience as native apps
- There is no need for a browser
- Slower than native apps
- You need a third-party platform to code
- Bug fixing may be more difficult
Generally speaking, to develop an MVP, I would go for hybrid development for the following reasons:
- It’s easier to standardize development for Android/iOS
- Less expensive in comparison to pure native
- The UX is superior to web apps and will work offline
There are plenty of options regarding the technology stack you can use to develop the application frontend. Here are some options:
- Reactive Native – Open source stack supported by Facebook
- Xamarin – Microsoft company
- Ionic Framework – App development platform for web developers
- Xcode and Swift for iOS native
- Android Studio and Java for Android native
Cross-platform, you don’t misuse time recompiling and used by prominent players like Instagram, Wallmart, etc.
Not clear the long term promise from Facebook to keep the platform.
Cross-platform, supported by Microsoft, near to native app performance.
Limited outside coding support, UI development is time-consuming.
Quick development time compared to native, plenty of UI components, and plugins available.
Debugging is challenging, and builds can break.
Xcode and Swift for iOS native
Rapid development, swift apps are easy to scale, safety, performance.
Hard to find developers (usually very expensive), poor interoperability with other tools, lack of support for legacy apps.
Java and Android Studio for Android native
Performance, more talent pool available, hardware independence, instant apps.
Multiple device screens and security issues.
7. Landing Page
Producing an app LP will enable you to target your audience, offer them something of value, and transform a higher percentage of your visitors into application downloads while also obtaining data about who they are and what they’ve converted on.
Landing pages are also relevant because they increase your credibility and strengthen your brand. There are lots of tools that can help you to create a landing page.
I will list 3:
- Wix Landing Pages
- Mailchimp Landing Pages
8. Mobile Analytics
If You Can’t Measure It, You Can’t Improve It. So, you have to monitor your mobile app! Mobile app analytics is indispensable for several reasons.
It clarifies how customers are using your application, which components of the app they interact with, and what actions they do within the app.
You can then use these insights to create an execution plan to improve your product further. For example, adding new features, refining existing ones to make the users’ lives easier, or removing elements that the customers don’t seem to use.
App analytics will also show if you are achieving your goals, whether it’s the number of downloads, revenue, or any other important KPI for your business. Real-life data is the best way to optimize your app.
Here are some tools that will help you:
- App Annie
- Google Analytics for mobile
Here is a quote with valuable lessons from Andrew of Appliquette App Development.
There’s a lot to digest when it comes to App analytics, and looking at an analytics dashboard for the first time could be overwhelming, but using mobile app analytics is a very important component of the success of your app.
It will help you learn how users engage with your product, or how to tweak campaigns to achieve higher conversion.Events are the backbone of your analytics, all tools come with some automatic events such as app open, session length, crashes etc, but the real power lies in custom events you can create specific to your product.
For example we used events in “Two Dollar Coffee Club” to understand customer coupon redeem patterns for the venues.With the redeem event we could dig deeper for specific parameters like the venue it was redeemed at, the demographic of the user redeeming etc.
This could tell us more about customers who are more or less likely to redeem coupons in the app and help us in our marketing campaigns.Events are just one part of a much bigger picture, but it’s clear that without analytics it will be extremely difficult to really understand the behaviour of your app users.
9. Test your app
With a well-tested mobile app, you will increase your review ratings and customer satisfaction. Invest time in this step, and you will get valuable referrals and grow the download rate.
Here is some necessary testing you should do before publishing your app:
- Functional Testing – Does the app work as expected?
- Usability Testing – Is your app easy to use?
- User Interface Testing – Check elements of the screen
- Performance Testing – Is your application stable and fast?
- Compatibility Testing – Screen resolution, orientation, hardware, etc
10. Optimize your App SEO
Most people miss this step! There is too much competition in the app stores, and users need to find you quickly.
An excellent way to do that is by optimizing your app and having a good SEO (ASO) ranking. Several factors will influence your ranking and are detailed below:
- App Title
- Quality backlinks
As soon as your app is published, your Reviews & Ratings and the number of downloads will also influence the SEO. So, make sure your early users are delighted, and it will help you to grow.
Here are some platforms that can help you with app store optimization:
11. Launch your app
Now you are almost there! Are you inspired?
You should budget at least $5,000 if you use a law firm. Another alternative is to purchase a template and adapt it.
Publish the App
The last step is to publish your app in the stores!
The publishing process it’s much more relaxed and straightforward with Google Play in comparison to Apple Store. The differences are listed below:
Google Play Store
- Create a Developer Account
- Pay a $25 one-time registration fee
- You can publish as many apps as you wish
- Add App Title & Description
- Add Screen Shots
- Specify content rating
- Select app category
- Upload SDK
- Add pricing
- Google conducts almost no curatorship (automated review process)
- The app is published in less than 3 hours
Apple App Store
- Create a Developer Account
- Pay a $99/year subscription fee
- Pass on App Store Guidelines
- Test and ensure there no bugs or crashes
- Upload your app
- Submit for official review (manual review process)
- The approval can take up to 2 days or more
12. Promote your app
Now that you worked hard to build your app, please make sure you advertise it! Here are some useful tips:
- Start a blog
- Use LinkedIn, Facebook, Twitter, and other social media
- Create a video for your app
- Answer questions on Quora and Reddit
- Create a Slideshare presentation
- Post a job on Indeed
For a complete list, don’t forget to read:
65 Simple Ways Promote Your App
13. Get customer feedback
This step never ends! The more data and understanding of your users you have, the better decisions you can take for the future of your app.
There is no magic pill, and to increase your app usage, you will need to work hard and have a regular monitoring routine! Getting customer feedback has to be a part of your daily routine!
Let’s suppose you invest 1 hour per day getting customer feedback. Imagine how much you can learn after 365 days. It’s essential to obtain quantitative and qualitative data about your users.
How to get app users quantitative data?
- Use analytics tools like Google Analytics, Mix Panel, App Annie
How to get app users qualitative data?
- Make surveys using Typeform or SurveyMonkey
- Send emails to your customers
- Schedule calls with your users
One action I suggest you do is to create a simple excel spreadsheet and prioritize the improvements based on the collected data. Try to find low hanging fruits and categorize the upgrades as follows:
- Bugs and clear mistakes
- Easy fixes
- More complex improvements
Bringing your app idea to life, it’s not an easy task! You need to organize yourself, allocate time and financial resources to start a mobile app project.
The core monetization models include subscriptions, advertisements, partnerships, and in-app purchases.
Before coding the app, please make sure you create high-level specifications, design the application, and talk to customers.
As soon as you are comfortable there is market demand for your product, choose one operating system and start developing your MVP. Test your app with real users and optimize your SEO before launching.
Once you are online, advertise your product, and interact with your users as much as possible. The better you understand them, the more successful your app will be.
So, what do you think about the results we attained? Has it helped you figure out how to create a mobile app?
If you would like to contribute to this article, please email me at [email protected], and I will be happy to include your comments.
What are the steps to make an iOS app?
– Have a MacOS up and running
– Install XCode
– Decide between Objective-C, Swift, and SwiftUI
– Follow Apple’s guidelines for code and design
– Download a ready-to-use iOS app example
How to make my app GDPR compliant?
Generally speaking, you will have to sign a DPA – Data Processing Addendum with the backend provider and they will act as the data processor. The app owner will act as a data controller. Here is a sample DPA – Data Processing Addendum.
How to save money developing an app?
Developers are expensive. So, don’t start coding right away, keep your app simple and start with an MVP, and get feedback from customers as early as possible.
Should I outsource app development?
That’s a difficult decision! Generally speaking, you should outsource development if the app is not part of your core business. For startups, in-house development is, in most cases, a better option.
Should I use a BaaS for app development?
Backend as a service platforms are a great way to accelerate app development and reduce the total cost of a software project. To know more, please read BaaS | Backend as a Service.