What is an app?
An app or application is a computer program that serves a specific function. There are all sorts of apps ranging from small apps that run on your watches to full-blown desktop applications. When talking about apps people most likely refer to mobile apps or software that runs on the website (a web app). The term was initially used to describe something small and simple, but that has changed over the years. There are three main types of apps — desktop, mobile, and web.
Mobile apps
Mobile apps are designed for users on their phones or tablets to use on the go. They are downloaded and installed by the user on his device and have access to the ecosystem of various resources — camera, microphone, GPS, accelerometer, and many others. Mobile apps can work without an internet connection and need the user to update the app manually to get a new version.
Web apps
Web apps are accessed via the web browser and typically are built to adapt to the device of the user. That means that you can open web app on your phone or your desktop and be able to use it. They don’t need to be installed, but internet connection is usually required to load and save the data. Every time the user opens a web app the most recent version is loaded, so there’s no need to update it manually.
Desktop apps
Desktop apps are the most powerful ones because they have all of the resources of desktop or laptop computer. Typically desktop apps work offline and allow a wide range of actions that require space of the big screen, have complex UI or need a lot of computing power. Desktop apps were around since the early days of personal computers and were the only type of software available to users before the smartphone revolution.
Why do you need an app?
If you are reading this, you probably know already that building an app can improve your business. Here some benefits:
Improve and automate an internal process
If you have an existing business, building an internal app can make your internal processes more efficient and organized. Consider moving the paperwork to the digital space where any of your employees can access the data on any device. Wouldn’t that make their work easier and quicker? It comes with the additional benefit of storing a history of changes and an audit trail.
Create a tool for your clients
Can you create a valuable tool that your customers will use? Build an app that solves the problem and then offer it to your existing clients and use it to get new ones. By investing into something that is useful for people you will increase brand loyalty, recognition and create a new direct marketing channel for your company
Create a service and sell it
Are you a startup? If you have an idea of a problem that customers have, you might build an app to solve it. Startups are usually less aware of real customer problems and have less space for mistakes, so make sure that you do customer research before starting to build the app and regularly get user feedback during the process. You also need to understand typical use-cases for the service you want to sell to choose the right type of the app.
What do you need to consider?
The costs of building an app are mostly based on its features, platform, and complexity. If you want to develop an app with a backend or use more than one platform, you will have to spend more (consider backend as another platform). You can manage the costs by hiring different types of companies or people — for example, the offshore freelancer will cost you much less than a high-end agency, but you will have to find the right person and manage the process yourself. Don’t forget to include other costs in your budget — marketing, promotion, updates, and maintenance are the most common ones.
Business model
Before building the app, you need to understand how new app fits into your business. Do you want to generate revenue using the app through sales? Are you going to use a subscription model? Or maybe you want to build a utility application that your team or existing customers will use. Depending on how you lay out your business plan your app might be your main product or just one of the tools available. That choice should drive other decisions — choosing the type of the app and defining the scope of the project.
Type of the app
Web apps are the cheapest option available and are the choice of most small businesses. The web app allows you to build an app that will work on any device and improve it over time, without the need for the users to continually update it. Cost is also reduced because there are many technologies and existing libraries available for web apps and there are way more web developers out there then there are mobile developers.
Mobile apps typically come in two flavors — native and hybrid. Native apps are built using a native language of the platform (Java or Kotlin for Android, Swift or Objective-C for iOS). They are typically more performant than hybrid apps, but they are more expensive to build and are bound to work on a single platform. Hybrid apps are developed using web technologies (e.g., Javascript) and have lower development costs because of that. They allow web developers to build mobile apps and be very productive. An additional benefit of a Hybrid app is that a lot of the code can be shared between platforms, further lowering development costs. Hybrid apps are a great way of building most of the apps that don’t require outstanding performance (such as in video or photo editing app).
Mobile platform
If you want to build a mobile app, you typically need to choose between two sides, two ecosystems — Android or iOS. Depending on your budget and your target audience you might want to have an app on one of the platforms or both.
Android has much more users than iOS, according to the latest reports, especially in emerging markets. Android apps have more freedom in using the system and interacting with users and have a vast open-source community with a lot of modules and customizations. On the other hand, Android users are very reluctant to spend money on the apps and typically are less tech savvy and engaged. There are also a wide variety of devices and updates of the system are not always backward compatible, which includes the costs of development.
iOS users spend way more and are more engaged. Apple has strict development guidelines, which converts into a higher quality of the apps and users trusting the platform. iOS has a steady release cycle that makes developer's and user's life much easier, but still some updates bring unexpected issues causing additional maintenance costs.
When making the choice you need to look at your business model and your target audience. If you need to generate revenue iOS might be a better choice, but if you’re aiming at emerging markets or you know that your users will use Android then you should consider building an app for Google’s platform