How to make an app? A successful mobile app in 13 steps
You got it! Do you want to do something big? Have an excellent idea for the next billion-dollar app?
But how to create an app?
This article will detail the lessons learned during our 13-year entrepreneur journey running a software development company and creating hundreds of mobile apps. We’ll 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 us. Here are the 13 steps to building a mobile app.
- Write down your high-level idea
- Choose either Android or iOS, but do not develop both at the same time
- Wireframe, mockup, and prototype your app
- Collect feedback from customers
- Create your app backend
- Code your app frontend
- Create your app landing page
- Implement your app analytics dashboard
- Optimize your app for SEO
- Beta test your app with real users
- Publish your app
- Promote your app to reach the right users
- Improve your app with customer feedback
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. ☹
Don’t start coding right away
We 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 we 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, make some market research, design some sketches, and get feedback with potential customers before coding the app. This simple rule may save you thousands of dollars and possibly avoid you 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, but 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 conceivable cost! Please don’t wait until your app is fully coded to show it to your 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. Doing this, you improve the likelihood of launching a successful application.
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 our company in 2004? Our 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 like 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.
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
Make sure you define your budget to develop your mobile app! The amount you will spend needs to be precise since the project inception.
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 the reason 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, in the US, it’s challenging to find developers and convince them to work for your company. 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 are going to 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 or iOS
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.
It has roughly 80% of the user base. Generally speaking, if you want to target a broader user base, you should start with Android. It’s also mainly used in emerging markets like South America and Asia.
On the other hand, iOS encompasses 20% of the user base. Generally speaking, it’s a better choice to reach more engaged users and with more earning power.
3. Wireframe & Mockup & Prototyping
First things, first! The wireframe is not the same thing as a mockup, and 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 on 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.
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 of the 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 be able to automate repetitive tasks like authentication, social login, data backup, and others. The main benefits of using a backend as 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 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 to a backend as a 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 will act as the data processor. The app owner will act as a data controller. The advantages of using a backend as 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, for small projects, it will be very hard this investment to pay off. 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 in comparison to 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 on 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 that if you are going to 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 there is no requirement for download. 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 in terms of 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 large 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 provides you clarity about 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, or refining existing ones in a way that would 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 KPI that is important 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
A well-tested mobile app you will increase your review ratings and customer satisfaction. Invest time on 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?
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
- 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. 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 that 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 you can. 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.