Ruby on Rails Developer, 8+ Years of Web Development Experience
November 20th, 2020
As a developer who’s worked on agency projects for over nine years, I’ve met with countless clients who can’t wait to have an “app” built.
Maybe they’re a small business owner looking to stand out from their competitors, maybe they’re a project manager feeling pressure from stakeholders to innovate or risk becoming irrelevant, or maybe they’re just someone who thinks an app is an alternative to a website.
Given how volatile the economy has been during the pandemic, maybe you’re thinking that having an app could right the ship, gain new revenue, or do something to offset how challenging this year has been.
Regardless of your motivations, it’s crucial that you understand what an app actually is, and whether or not it will actually help your business grow.
I’m not only going to cover the basics but also empower you to know when having an app developed is the right choice for you and your business.
First off, what is an app?
If you remember nothing else from this article, remember this: An app (or application) means different things to different people. There is no standard definition, which leads to a lot of confusion between developers, clients, and project managers.
However, all apps exist with the goal of executing specific tasks.
You can think of an app as a tool. Apps serve a purpose, and are aimed at making a task or process easier for their users. For example, Basecamp is an app which helps with project management, whereas Spotify is an app to help organize and stream your music. Although both apps are very different, they are similar in that they are used to make our lives easier.
In the context of this conversation, there are generally two types of apps:
What’s the difference between a native app and a web app?
A web app is simply a website that has complex features focused on completing specific actions, and, as we know, a website is anything you can visit in your web browser, such as IMPACT .
Now you’re probably wondering “Wait, are all websites web apps, and are all web apps websites?”
You can think of a web app as a website that you interact with, rather than passively engage with. It allows you to complete some advanced actions or tasks. Web apps are sometimes referred to as “Platforms” and are things like: :
A native app, on the other hand, is an application that is designed to complete actions on a specific mobile device or operating system. A native app is not inherently different from a web app. It’s still a tool that users engage with; it’s just built differently.
Apps built for one operating system won’t work on devices that don’t use that system. For example, an app in Apple’s store won’t work for an Android. So, if you decide to create one, you likely have to create several different versions to accommodate your whole audience.
You need to download a native app on your smartphone or smart device in order to use it. However, most native apps have a web app counterpart. For example, Facebook has a native app in both the App Store and Play Store, but can also be accessed via the web at https://www.facebook.com/.
Now that you know the difference between native apps and web apps, you’re probably wondering when to reach for one over the other.
When should I use a native app?
You should reach for a native app when you need access to device features such as the camera or location. Think Instagram, Google Maps, or Uber. Native apps excell at this type of thing because they have a direct connection to the required hardware. This is in contrast to your desktop computer or laptop which may or may not have the necessary tools such as a camera or gyroscope.
Native apps are also more performant and run more efficiently on the device they were built for compared to a web app.
This is because native apps are written in the programming language designed for the smart device with more focused and precise actions. Because of this native apps just run smoother, especially when dealing with a lot of data. This is especially important for real-time events, such as navigation and direct messaging since these can be very resource heavy. You wouldn’t want to use a chat application that had a noticeable delay between messages, or a navigation app that updated only after you missed the turn.
In addition to better performance, native apps excel in situations where you’re on the go. For example, imagine if you could only use your laptop to post to Instagram, or record an activity on Strava. It would be very limiting. Also, some native apps work without data or an internet connection. Imagine how long a flight would feel if you weren’t able to stream Netflix on your phone?
When should I not use a native app?
You should avoid using a native app if you have a limited budget or time frame, since you likely will need to build and maintain multiple versions of the same application.
This can be expensive and can sometimes require two sets of development teams.
Also, your app is at the mercy of the platform on which it is hosted and could reject and removed from their store at any time. Apple has strict guidelines for performance, safety, and design. If you fail to meet any of these standards your app can and will be rejected.
This has happened to large organizations, most recently Hey.com. Being rejected from the App Store could quite possibly be the end of your business if your organization relies solely or heavily on that app to make revenue. Not to mention, you don’t want to invest a lot of time and money into an app only to find out it was rejected. This fact should not be taken lightly.
When should I use a web app?
Alternatively, you should reach for a web app if you don’t need access to device features, or are not concerned with data heavy real-time events.
Basically, you should be asking yourself “Can someone effectively use my app on their computer?” If the answer is “yes,” then you probably don’t need to invest in building a native app.
If you’re interested in building a SaaS application, then I recommend building a web app as well.
By building a web app, you inherently skirt all of the requirements imposed upon you in order to not be rejected from the Apple Store or Play Store. Plus, it traditionally takes a lot less time and money to build a web app since you don’t need to build for multiple platforms. Finally, most SaaS applications follow the same pattern, and are deceptively simple. Users pay a monthly fee, and are granted access to special features.
Web apps excel in situations that don’t require specific hardware like the camera or navigation system, and that require more time and focus to complete actions. Examples include HubSpot, Google Docs, and Trello. These typically aren’t tools you’re going to use casually, but only when you have focused tasks you need to complete.
When should I not use a web app?
You should avoid using a web app if your users don’t always have a reliable internet connection. Since a web app is merely a website, you need direct access to the internet in order to have access to them. Plus if you have spotty internet, you could risk having data note save. You wouldn’t want to type up a whole Google Doc and close the browser only to find that it never saved because you lost internet connection.
You should also avoid using a web app if you’re building something that deals with sensitive data such as healthcare or financial records, since web apps are less secure than native apps.
Since web apps run directly on the internet, they’re not only susceptible to any vulnerabilities in the codebase, but also any vulnerabilities in the network or web standards. Web apps are also not as effective at locking down media. This is why you can download movies and show off Netflix and onto your phone, but not your laptop.
Do I really need an app for my business?
Although I recommend you leverage an existing service or platform first, there are several valid cases where you'll want to build a native app or web app.
You have a unique solution
Remember: Native apps and web apps are tools. They serve a specific function, so one reason to build a native app or web app is if there’s nothing in the market that currently exists to solve a problem, or if you think you can do it better.
You need to ask yourself, “Would improving the mobile experience on my existing website solve my problem? Would creating a native app?”
I once worked with a client that wanted to create a native app simply because their mobile website did not meet their needs.
It’s much easier and effective to improve an existing website than it is to build a redundant application.
Improve your workflow
Another reason to build an app for your business is if you need to improve or create a better workflow within your organization.
For example, I was once tasked with creating an app to streamline the purchase order process at a company. They had been manually filling out order forms which had been inefficient, slow, and error prone.
The app I created replaced the paperwork with a few simple online forms which helped increase productivity, which in turn saved money.
In this case, the app had nothing to do with what the company actually did (they’re in the pharmaceutical space). It was only for internal use, but the company still benefited from it.
Improve user or customer experience
Regardless of what your business does or sells, you may find that you need to improve the experience between your organization and customers. For example, you may find that your customers have a difficult time being onboarded, paying invoices, or generally communicating with your business.
Although there are many off-the-shelf solutions that can handle these issues, you may want to invest in rolling out your own solution.
If your customers have a good experience with your business when it comes to traditionally bland topics such as invoices and troubleshooting, then chances are they’ll make payments faster and work with you more effectively. Happy clients means more referrals and less churn.
When don’t you need an app? Let’s talk through a few common questions that may have you wondering.
Do I need an app to sell goods or services online?
The pandemic has forced many brick and mortar businesses to go digital in order to survive. If you’re in this situation, you may be considering building a native app or web app to sell your goods and services online.
Although e-commerce is a good use case for building a native app or web app, I would recommend using an off-the-shelf solution first. This is because existing services will save you a lot of time and money upfront, especially if you’re running a small online shop. Plus, they are battle tested, and account for issues you probably don’t want to deal with, like taxes, shipping rates and stock management. What you should be really asking is “Are there existing services that already meet my needs?”
Below are a few examples of existing services or products that can help:
They were concerned with increasing user engagement and being able to alert their customers to new deals and events.
Although there is nothing inherently wrong with wanting to quickly communicate with your customers, you need to consider the medium in which you’re communicating with them.
It’s usually more effective to leverage social media or use a marketing automation platform like HubSpot, MailChimp, or Constant Contact to reach your customers with a “notification-style’ push.
Alternatively, a customer would need to first download the native app, and even then, there’s nothing stopping a user from disabling push notifications on their phone.
Do I need an app to get found?
Finally, you might be concerned that you need a native app to be discovered by customers and appear credible. However what you should really be asking yourself is “Why are customers not finding my business, and why does my business not seem credible?”.
Reaching for an app to solve an SEO or credibility problem is like reaching for a hammer when you need a saw. It’s the wrong tool for the job. What you really need is to focus on improving your inbound marketing techniques such as content creation, lead generation, email marketing, and social media.
Solve for your customer
Regardless of whether or not you need a native app or web app, you still need to focus on what really matters, which is your customers.
Sure, building a native app or web app might solve some of your problems and help increase revenue, but don’t forget that you still need to have an effective inbound marketing strategy to gain new customers and stay relevant.
Most apps will need a separate marketing site to help generate leads and to also address and answer any questions potential customers may have regarding the app and your business.
You’ll want to be sure to consistently create content, paying special attention to The Big 5 and above all, recognizing your customer’s needs.
Here Are Some Related Articles You May Find Interesting