If you want to know how to make an app, there are three important questions to ask:
- What kind of app do you want to make?
- What are your technical skills?
- How much time and money do you want to invest?
Once you have a rough sense of the answers to these questions (this should take about 5 minutes), you can choose an App Maker (an online platform that you use to make an app) and proceed.
What kind of app do you want to make?
This is the most important question, so we’ll break it up into three sub-questions.
Q1: Is your app meant to be a large-scale consumer app (like a game or a shopping app) or is it meant to be used for work (in your business or for your team)?
If you want to build a consumer app, then
- You need to be a software developer or hire software developers
- You will use a code-centric app development platform like XCode, Android Studio or Xamarin
- Your costs (time and money) will be high—probably $100,000 or more
If, instead, you want to make an app for your work or team, read on.
Q2: Who do you expect will use the app and why?
It is always good to know who your initial users will be. The more specific the users and the use case, the better. Here are examples of good answers:
- The app users will be members of my sales team in the field who will use the app to capture new sales leads.
- The app users will be drivers of our delivery trucks who will use the app to record daily vehicle inspections
A bad answer would be:
- My users are anyone in the world and they will use the app to communicate better with each other
Q3: Can you describe what the initial version of the app should do?
This is also a pretty open-ended question. If you haven’t already, you should definitely think about the requirements at a very high-level. Should it run on iOS as well as Android? Should it also run in a web browser? What data does the app use (eg: your existing customer data) ? Should the app be able to work offline? Does it need to show data or also capture new data?
For now, let’s assume you need your app to run on a variety of mobile devices as well as web browsers, utilize some existing data in spreadsheets or databases, work in occasionally offline environments, and both show and capture new data.
What are your technical skills?
- A programmer (you write software for a living)?
- A knowledge worker (you use computer technology regularly in your job)?
- A web and smartphone user (you use spreadsheets, forms, and apps etc)?
If you answered yes to 1, 2, or 3, you could use a “no-code” app maker platform. The term “no-code” indicates that you do not need programming skills. Even if you do have programming skills, a “no-code” platform can make you much more productive. To learn more about this option, read on.
If you answered yes to 1, you could write the app yourself. An app is just a program. It is tougher to write a mobile app than a regular web app because you have to handle offline behavior and the differences between iOS and Android. If you haven’t built a mobile app before, it is a learning experience and can be rewarding even just for the learning. There are a variety of platforms to consider. For example, you might want to think about writing a “native” app (an app specifically written to run on mobile devices):
- XCode is the programming environment for native iOS apps. Apple advocates that all new apps be written in the Swift programming language.
- Android Studio is the standard programming environment for native Android apps (sometimes called an ‘apk’). If you chose this option, your app will be written in the Java programming language.
It can be challenging to ensure that the app works the same on both Android and iOS if the code has to be written twice. Some solutions you might want to try:
- Use a programming environment like Xamarin. You write the code once and it translates the code to iOS and Android. The downside is that Xamarin doesn’t have all the features that each platform natively provides.
- Make a HTML5 mobile web app. This is really just a web app that runs in a web browser on the mobile device. It has the ease of development of a web app (if you are familiar with how to build a web app). However, it has all the limitations of a web app and in particular, will not work well offline.
- Make a “hybrid” app. This is a simple native app that hosts a web browser. Some part of your app is written with native code and some of it (usually, most of it) is written with HTML5. The advantage of a hybrid app is that you might also be able to get the same app to run in a regular web browser without much effort. A popular platform for hybrid apps is PhoneGap which is based on the Apache Cordova technology.
- Or use a “low-code” app builder. There are many such platforms that have emerged recently to make it easier to develop an app. The term “low-code” implies that these platforms provide some of the common code modules automatically so that what you need to do is to only write the remaining custom code components.
- If you are a programmer, the good news is that you have many choices. However, many of these options are potentially expensive in terms of time and effort.
- If you are not a programmer, the good news is that you can choose a no-code app maker and be on your way to building your first app within an hour. However, you will be limited to the feature set provided by the no-code app maker you choose.
How much time and money do you want to invest?
Of course, this question has an entire spectrum of possible answers, but here are three main options to consider:
- Option 1: I want an app that is made in minutes and that is free.
- Option 2: I’m happy to put in a few hours to learn and get started, but need my app done in a few weeks. I do not have much budget to spend and I’d really like to at least start for free.
- Option 3: I need this done within a year. The project and a significant budget has been approved by our IT director.
If you intend to write code or hire developers to write code, you fall into option 3 as options 1 and 2 are not really viable.
But if you select options 1 or 2, you should probably be considering a no-code or low-code app maker.
Please note that if you selected option 1, we sympathize :]. Realistically, while it is possible to make an app in minutes, it is likely that it will take more time for you to refine it into a useful app. In practice, option 1 is the same as option 2.
We’ve pulled together a number of resources that will help you make your first app, regardless of the app making platform you choose (we like to think that our platform is the best but leave the final decision up to you). If you are a new app creator about to embark on your first custom app, this page is for you!