Jul 6, 2018 1:58 PM8 Minute Read
"I just had a great idea for an app!"
Let's be honest, most of us have said it at least once before — and some of us more times than we'd care to admit. Without getting into a debate over what actually makes a "great" app, we can all agree that the thrill and excitement of having one of these ideas can be very motivating. Unfortunately, that initial jolt of motivation can fade just as quickly as it hits, causing most of us to never make an attempt at bringing our app ideas to life. Sometimes it's a lack of coding skills, sometimes it's a lack of understanding how to start and sometimes it's both.
While we can't teach you how to code in a single article, we can take you through some of the high-level aspects of app design and distribution — and hopefully give you a little extra nudge to turn your app ideas into realities.
A Little Clarification on "Apps"
Let's be clear about what we mean when we say "apps." The term "app" is short for "application" and is nothing more than a generic term for software that's designed for desktops, laptops, tablets, smart TVs, smartwatches and other electronic devices. However, most people consider the word "app" to be synonymous with "smartphone" or, more specifically, mobile "native apps." When you consider that Apple's App Store has offered over two million apps for download since its launch in July 2008 and, more impressively, has enabled developers to earn over $86 billion, it's easy to understand why people associate "apps" with smartphones and why so many of us want a piece of the action. But,
It's About Being Where Your Customers Are
Technology is always changing, but that doesn't always mean that consumer preferences immediately change along with it. As we said before, "apps" really represent multiple types of software:
- Desktop Apps that run on your PC or Mac, such as Notepad or iPhoto.
- Web Apps (and Mobile Web Apps) that run in your preferred web browser on your PC or Mac (or smartphone), such as Google Docs or Facebook.
- Native Apps that are written specifically for smartphones / tablets and are downloaded through an app store / marketplace.
While these three types of apps are most common, we should also mention the existence of Hybrid Apps, which are a mix of Web Apps and Native Apps, as well as Progressive Apps, which some anticipate will become the new standard in mobile app design.
To depict this visually, here's how Facebook looks as a Web App, Mobile Web App and Native App:
Facebook Web App
Facebook Mobile Web App (Left) and Facebook Native App (Right)
Needless to say, once you have your great app idea, you'll need to determine what kind of app it should be. Would your users be more comfortable using your app on a larger screen, such as a laptop? Would they need quick, offline access to your app on-the-go? Would they need both?
From development time, distribution channels and all-in costs, each type of app has its own set of pros and cons, which we'll break down below.
Desktop Apps are certainly the oldest and most established types of apps on our list. These are programs that are installed on your computer (desktop or laptop) and are often licensed for individual users. For example, think word processors, spreadsheet applications, web browsers, media players, image editors, etc.
- Desktop Apps allow for local storage, just in case you need to store sensitive or confidential information offline.
- In general, desktop apps are faster and more powerful than other types of apps (such as Web Apps) due, in part, to the machines on which they run.
- Depending on their purpose, Desktop Apps usually do not require access to the Internet, so they can be used offline.
- Most Desktop Apps do not require a subscription to use, allowing you to purchase the app once and own it forever.
- Desktop Apps are usually licensed for a single installation and user, meaning you can only use them on the computer on which you install them.
- Whether via a download or a physical CD/flash drive, installation of Desktop Apps can be time consuming, as can installing updates, depending on the number of users.
- Desktop Apps are platform dependent, meaning you can't install the same version of Microsoft Office 2019 on your Windows computer and your Mac computer. If you want to run the software on both operating systems, you need to buy two separate copies.
- Desktop Apps tether you to larger devices which are not always convenient to use on-the-go.
Web / Mobile Apps
Web / Mobile Web Apps are specifically designed to run in your web browser – either on your computer (Web App) or your smartphone (Mobile Web App). For this category, think of apps such as Microsoft Office 365, Gmail, Facebook, Instagram, Twitter, etc.
- For users, there is no need to install any software to run Web Apps. Just follow a hyperlink and you're ready to get started.
- For developers, Web Apps are much easier to maintain and update since there is one set of code that is used by every platform. When designed correctly, this means one set of code can run on essentially any device regardless of its web browser, screen size or operating system.
- There is no need to submit Web Apps to an app store or marketplace where they would be subject to revenue sharing as well as potentially rejected or delayed.
- Web Apps can be released and updated at any time and in any form.
- Updates to Web Apps are transparent to users. They will never need to download or install any software or patches.
- Some users find it difficult to discover Web Apps since they are not catalogued in an app store / marketplace.
- Since Web Apps store both the application and data components online, some users consider them to be security risks.
- There are costs associated with hosting Web Apps, including web servers, database servers and potential licensing costs.
- Web Apps sometimes force additional interactions from users as "system permissions" are limited from the web browser.
- Since they are served across the Internet, Web Apps generally do not work offline and are slightly less performant than Desktop Apps and Native Apps.
Native Apps are essentially the smartphone equivalent of Desktop Apps. When planning for native app development, there are two major operating systems to consider: iOS and Android. In terms of market share, StatCounter reports that, as of June 2018, over 99% of mobile phone users in the US utilize either iOS (Apple) or Android (Google) powered smartphones. While other mobile operating systems absolutely do exist, such as Windows 10 Mobile and Blackberry OS, their low market share often makes the expensive effort of Native App development less attractive on those platforms.
- While users control permissions, Native Apps have access to all capabilities of the devices on which they run.
- Since they are installed on your device, Native Apps may not require an Internet connection to use.
- Native Apps tend to provide a more "authentic, cohesive" feel as they are designed specifically for the devices on which they run.
- Native Apps are submitted to app stores / marketplaces for review prior to being released. While this can also serve as a con (listed below), it does indicate to users that the app is safe and also makes it easily accessible.
- As mentioned above, Native Apps are required to be submitted to an app store / marketplace. This means that any app releases must be approved by a third party before they are available to users.
- Submitting your apps to the Apple App Store or Google Play Store requires that you register yourself or your business as a developer, which comes with a yearly fee of $99 or one-time fee of $25, respectively.
- There is a 30% fee associated with downloads from the App Store and Google Play Store.
- Because they are device specific, Native Apps must be coded for each operating system. That means you can't write one app and submit it to both Apple and Google; you must create and maintain two completely separate versions of the same program for each platform.
- Users of Native Apps may decide not to download the program updates that you release, making it very difficult to maintain your code and offer support.
Hybrid Apps and Progressive Web Apps
Hybrid Apps are a mix of Native Apps and Web Apps. According to Apple, "your app should include features, content, and [user interface] that elevate it beyond a repackaged website." In other words, you can't simply package a Web App inside of a Native App and submit it to Apple. But by creating an enhanced interface and leveraging as much of your Web App as possible, you can significantly reduce the amount of platform-specific-coding required to deploy your app to iOS and Android devices.
Progressive Apps attempt to bridge the gap the other way, allowing Web Apps to act more like Native Apps. For example, users can add a Progressive Web App directly to their smartphone's home screen, so it appears to be installed like a Native App, complete with a custom icon, and also allows for push notifications.
So, Now What?
Now you're ready for the first step in creating your app: deciding the ideal platform for your app. Once you've determined that, the next step is figuring out how you can build and distribute it – either by yourself or with the help of a professional. Knowing the path forward, as well as being able to anticipate a few of the hurdles you'll encounter along the way, will hopefully help you stay motivated in staking your claim in the digital marketplace.