THINKS ON THE TAXONOMY OF APPS
POSTED BY DAN YOUNG
Not so long ago, people involved in technology engaged in a debate. It was the “client-server” debate. The gist of it was if software should run on the server or if it should run on the client’s PC. Some say this debate has been settled, but today, we are reliving it once more in the form of “web app” versus native mobile app.
If you’re involved in making a decision on how to move forward with your app project, you need to first understand the different types of apps, their classifications and groupings—the taxonomy of apps—so that you can better understand the modern version of the “client-server” debate.
Taxonomy is one of those less used words even though we use the concept every day. In its simplest definition, taxonomy refers to the classification and hierarchical structure of things. In the mobile world, there are different classifications for apps based on purpose, revenue and architecture. It has its own taxonomy.
Let’s first talk about the purpose of apps. Apps can be used for entertainment, amusement, to garner attention or just to pass the time. In a previous article, I’ve named these types of apps “distractor apps.” For the apps that are purpose-built to either get work done or provide an ongoing utility to the user are what I’ve called “tools.”
Excluding the tens of thousands of apps built by students and hobbyists, every app has some type of revenue model behind it. There are apps for purchase, free apps that display ads, free apps designed to be “shiny objects,” apps that access subscribed content or services and apps that are part of a larger system. In another article, I explore these categories in a bit more detail.
May the app be a “shiny object” marketing app for a pizza shop or an app that integrates with a company’s SAP backend, each app will have a unique technical architecture. There are two groups of apps, those apps that reside on a device and run “natively” on that device and those types that are accessed through the web.
To better understand this, I’ve organized the various type of apps into to main categories:
One: Native Apps
- Self-Contained Apps
- An application that runs on a device, such as an iPhone or Android, that contains all of the data and content within the software. This type of app does not need to be connected to a network or the Internet to function.
- ”Wrapper” Apps
- These are apps that run natively on a device the “wrap around” an internal web browser. Data and content is then dynamically displayed from a web-based server. This allows companies to change content without having to re-deploy updates to the app. Even though the app can capture and store data for use “off-line,” they’re best used while connected to the Internet.
- Hybrid Apps
- Hybrid apps combine the self-contained functionality of a pure native app with the dynamic capabilities of “wrapper” apps. Mission-critical functionality is kept locally on the device so the app will have full functionality in an “off-line” state. Ancillary data and content is pulled dynamically from web-based servers to provide additional functionality for users.
Two: Web Apps
- Web Apps
- Any app that is accessed and run through a mobile web browser like Safari, Chrome, Firefox or Internet Explorer is a web app. Web apps exist on both mobile devices and for desktop devices. The content and functionality of the app are contained on the web server, the local device access this content through the built-in browser. Thus a user must be connected to the Internet to download content and interact with the app’s backend system.
- ”Pinned” Apps
- ”Pinned” apps are web apps that run in a dedicated browser that are “pinned” to a user’s home screen. These types of apps are quite similar to web apps, however they differ on how they’re deployed and packaged.
Each of these designs has unique advantages and disadvantages. Some provide a better user experience, others are cheaper to produce and deploy. Depending upon the objective of the project and revenue model, the appropriate architecture will rise to the top as being the obvious choice for your app.
Taking a step back for a minute, if you’re seriously considering commissioning a mobile app or mobile web site, verse yourself in the taxonomy of apps. Once you do, you’ll be better prepared to have substantive conversations with your engineering, marketing and business teams as to the best approach to build your idea.
