Types of Software Products
As a business owner, you wear lots of hats and constantly juggle tasks to keep business going and hopefully growing. You probably see opportunities to improve the efficiency of your business processes or workflows thru software automation. Or you have an idea on an app that will help provide better service to your customers. But you don’t have the time or knowledge to create an app nor do you have the internal resources to do so. And you’ve heard stories of how expensive custom software can be and how long it takes to have it developed. Your focus is on running and growing your business. So how can you take advantage of custom software to help you achieve your goals?
Let’s start with a bit of background on types of software. The following are high-level descriptions of different types of software. I won’t cover the types of languages used to create software, client/server or mainframe software, or “lower-level” or “embedded” software products.
- “Traditional” Software Products – these are software products that are installed and run on your desktop or laptop computer. They need your computer’s operating system (i.e. Windows, Linux, MacOS, etc) to run. While there is still lots of this type of software products out there, generally speaking, newer software companies do not develop this type of software. This type of software will read/write data, have a user interface and apply logic to manipulate the data. Historically to install a Software Product, you bought “shrink-wrap” software and installed it. More recently, you download the software from the website of the company who created the software. To “launch” or start one of these software products, you either click on the product’s icon or go to your computer’s directory of products and select it.
- Websites – websites are a “static” software product that don’t have a lot of functionality per se. Typically they have just “simple” things like displaying text, pictures, embedded videos, etc. Perhaps there are forms used to collect information about site visitors too. There’s no database or logic per se with websites – content is just presented without ability to really interact or manipulate. You don’t “run” websites – you just look at them. To access a site, you simply enter the websites URL in your computer or smartphone’s browser. There’s no downloading of a product.
- “Native” Mobile Applications (Apps) – these are software products (or “apps”) that run on your Smartphone’s operating system (i.e. iOS or AndroidOS). These apps need to be installed on your Smartphone. In that way they are similar to “Traditional Software Products” discussed above but for Smartphones. Similar to those products, Native Apps will read/write data, have a user interface and will apply logic to manipulate the data. These products or apps have grown rapidly in the past decade, piggybacking on the rapid adoption of Smartphones. To install an app, you need to go to either Apple or Google’s respective app stores and download from there. To start an app, you click on the app’s icon.
- Web Applications (Apps) – these are software products that use a browser, i.e. Navigator, Chrome, etc, to run on. As such, the software product is not installed on your device. Similar to a Website, you simply enter the URL of the Web App and go to that “page”. As with “Traditional” and “Native” Apps, Web Apps read/write data, have a user interface and will apply logic to manipulate the data. Due not only to the ubiquity of Smartphones but also inexpensive, high-speed Internet access, the Web App market is growing rapidly. Advances in browser technology has also been a big enabler to support more app functionality in the browser.
At a high-level, those are the 4 types of Software Products you’ve probably been thinking about for your app. Now lets dig a little deeper on picking the right one to focus on. Let’s look at some market trends on how people are using software.
- Smartphones and Internet connectivity are ubiquitous (in the US)
- Unless you’re targeting Baby-boomers, your Customers most-likely use software apps on their Smartphone regularly
- Users expect to interact with software on their Smartphones, ie chat, share, etc.
Based on these trends, unless you have a unique scenario in your business, you probably don’t want to have a “Traditional” software product created. Moving on to Websites, since you’re business already has one, you probably realize that a Website isn’t what you had in mind for a software product due to it’s functional limitations.
That leaves Native Apps and Web Apps. With Native Apps, you can take advantage of the Smartphone’s resources, i.e. GPS, Camera, etc if you need them in your app. However, Web Apps do have capabilities to also use those resources with a little bit of work. With Web Apps, you can create the app once and use it on all Smartphones and Computers (desktops and laptops) since the app runs in a browser. For Native Apps, you need to create a version of the app for iOS and a version for Android. And if you need it to run the app on Computers, you also need to develop a version for those platforms (MacOS, Windows, Linux, etc). That’s a lot of different software to track and coordinate.
If you use some of the social media apps on both your Smartphone and on your Laptop, you’ve probably noticed they not only have different user experiences but they don’t share data very well. For instance, if you’ve used Instagram on both your Laptop and on your Smartphone, you’ll know that setting up your Profile Picture on your Laptop doesn’t automatically set it up on your Smartphone. Even though it’s still Instagram running on both devices, Instagram acts almost like two different software products. As a side-note, Instagram on your Smartphone is a Native App. On your Laptop, it’s a Web App.
While Web Apps provide you a relatively easy solution to use across a wide range of devices, you still need to be connected to the Internet for them to work. Generally that’s not an issue, but it can be and you should be aware. Technology is constantly evolving and there are ways to allow your Web App to work without being connected to the Internet. This is not an issue with Native Apps and something you need to be aware of and consider. Web Apps also aren’t quite as robust in their ability to create highly interactive video games – but if you’re a business owner, you’re probably not looking to develop video games.
Generally speaking, based on the trends in technology, using Web App technology to create Business Applications is probably where you want to start looking.
In the next post, you’ll learn about some of the trade-offs on time and money for getting your app developed.