Software 101: Understanding the Different Types of Software in the IT Landscape.

The Software landscape

The Software landscapeSoftware used to be installed on the computer in front of you, but the internet has led to cloud computing, SaaS and more. What does this mean for your business?
If your business used computers 20 years ago, you might only have encountered one type of software. Desktop apps were installed onto individual machines by way of floppy disks and CD-ROMs, and that was it. However, now there are multiple categories of program, website, app and more.
If you are unsure about what each category of software entails, then look no further; read on for a handy guide that should clear up the differences.

On-premise Software

This covers several sub-categories; however, the key thing that links on-premise applications is that they are installed and run on computers that are physically in your building. The software and the computer are on the premises, and most of the time it’s the computer sat right on your desk in front of you.

There are variants of this. For example, a group of people can all connect through their own computer to another computer, often called a server. However, the server is still geographically close by. We’re going to start off by explaining the various types of on-premise software and then move on to the other main kind: web applications.

Desktop Applications

First of all, desktop apps. These are the programs that were installed on machines before the internet, and are still widely in use now. All the name means is that these are installed on individual machines, usually working independent of any internet connection.

Examples include Microsoft Word and Adobe Photoshop. You may have got these from a disk or a download, but either way the actual software program is to be found on your computer. These apps have some advantages, such as not needing to be connected to the internet to use them. This makes them convenient, and can make them more responsive or richer in features.

For some intensive jobs, such as video editing, a desktop application is still the norm. However this is all changing as technology improves. Desktop apps can be more customisable, as you could in theory modify programs to fit the needs of each user. In practice this is rare except in large enterprises, due to the high costs involved.

Client Server Applications

Some business software is built to run as a ‘client server’ application. This means some of the software is installed on another computer and several people access it through a network using a separate desktop app.

It’s called client server software because part of the software is on an individual’s computer (the client) and another part on a central computer (the server). All the computers are typically on the same office network and there could be anything from hundreds of people to just a handful using it.

A server is simply a computer that you can access remotely, so you can install a program on it that multiple people can use. However, you will need a specific network setup for this; it is not enough to simply connect to the internet.

Client server applications have been common in offices since the 1980s, especially for things like financial accounting, order processing or group email. Since the explosion of the internet this is changing, as we will explain below.

Mobile apps

Finally, mobile apps are essentially desktop apps built for installation on a smartphone rather than a full sized computer. Many mobile apps will access data or other systems through the internet, but importantly they must be downloaded and installed. This is typically done through an app store controlled by one of the platform vendors like Apple or Google. Because of the ubiquity of these devices, there has been an explosion of mobile apps since the launch of the iPhone in 2007 and fortunes have been made.

There are good reasons to build a mobile app to meet this demand, but it is worth bearing in mind that there are three major code bases for mobile: Android, iOS and Windows Phone. Creating the app for two or three of these can increase the cost of ownership significantly, with coding, maintenance and updates all taking longer and costing more.

On-premise Pros and Cons

Until the internet came along everything was an on-premise app with the vast majority created to run on Windows computers. Buying a software licence means owning something tangible, which perhaps felt good. However, with that ownership comes responsibilities and costs. It’s your job to install the software and also install updates over time.

That may not sound bad, but with an office full of computers it soon becomes time-consuming. When installing updates you may encounter compatibility issues with other apps you own and you may need to test how new versions work together, which takes more time and is more expensive.

In addition, backing up your data is your responsibility; not to mention guarding against viruses and recovering should you encounter a malicious attack. All this means that the cost of the licence isn’t the same as the cost of ownership, and for many businesses this lifetime expense is critical. All these factors have led to an industry shift away from on-premise software.

Web applications

Web apps often look the same as desktop apps, except they are installed on a remote server and – importantly – run inside a web browser like Google Chrome or Mozilla Firefox. This means anyone with access to the internet can use them and they never need to install the application on their computer.

To use a new piece of software is no harder than going to a different website. Gmail, Microsoft Office 365, accounts system Xero, Salesforce CRM, project-management app Basecamp, and social media tool Buffer are all examples of services where you don’t need to install anything to use them; they are simply accessed online. The features these applications provide would have traditionally only been available through one of the desktop apps described earlier.

Web Application or Website

Whether something is a web application or a website is a fuzzy line. Suffice to say that a pure website generally only contains pages of information, much like a book, while a pure web app delivers pure functionality to get a job done much like a desktop app. However many websites, perhaps most websites, provide a blend of both.

Users browse through pages of text and look at pictures or videos, but they can also log on and send each other messages, buy theatre tickets, order flowers or even submit an expense form through their employers web based finance system. Many web applications have become popular websites and many popular websites have added functionality that makes them in some sense web applications.

Technically web applications and websites differ in their complexity. They are both hosted on remote servers, possibly even in a different country. At their most basic level, websites are a collection of documents with little or no programming code other than HTML. However the complexity rises rapidly with the functionality being delivered and modern web applications can be formidable.

Content Management Systems

A content management system (CMS) is a popular kind of web app that allows businesses to write and maintain the content of a website themselves, without having to learn HTML or rely on a web design company to make changes. One of the most popular examples is WordPress. Through this, you can design a website, edit it and continually update it without using any kind of programming knowledge.

There are many varieties of CMS, and these are often highly customisable with plugins that provide complementary features or functionality. Sometimes content management systems are used as the basis to deliver specific business functionality through creating bespoke plugins for them.

Because only the plugin is bespoke this approach can often be cheaper. However, when the functionality you require is extensive these savings soon disappear. They are replaced by compromises imposed by the CMS architecture that often increase costs.

Software as a Service

Software as a Service or SaaS is actually a business model rather than a technology and means using a web app and paying for it through a subscription instead of owning a licence. This makes a lot of sense, as it removes a lot of the disadvantages of owning apps. For example, you never have to worry about maintenance or updates, as the company that owns the software takes care of all of this. You just have to pay to access it.

For SMEs, this has become a very popular option. You can access up-to-date software for as long as you need it, without any associated hardware costs. These apps are typically easy to learn, and they are designed for in-browser use and most people already know how to use a browser, the documentation is just a click away and as it’s much easier for customers to switch to alternative services it’s important for SaaS companies to provide good levels of customer service.

The Cloud

You might have heard about ‘the cloud’ when referring to web apps, as it seems like lots of technology companies are offering cloud services or the opportunity to move your systems into the cloud. An article like this wouldn’t be complete without a short explanation.

It’s really about the shift to computing capacity being offered as a commodity service by some of the big technology vendors like Amazon, Microsoft and Google. A host of smaller vendors have now joined in with similar services.

These businesses offer access to computers and storage through the web and allow other technology companies to run their software applications on them, paying for what they use through metered usage much like an electricity bill. All the computer hardware and data centres are owned by the cloud provider and the precise location may not even be known by the customers.

This allows these cloud providers to drive down costs through economies of scale, offering very low prices. The companies using these services don’t need to buy any hardware or rent space in a data centre, and they can quickly increase or reduce their computer processing power or storage to suite their needs and demand.

In a similar way to SaaS, the cloud is a change in business model rather than any particular technology. In fact you may also hear the similar term “Platform-as-a-Service” which is used synonymously by some vendors.

The Future of Business Software

The world is becoming increasingly computerised, and software will continue to evolve. At the moment, SaaS has grown massively in popularity and seems to be the future. More and more applications are being created for this, as it seems like a great financial option for both users and creators.
This makes now a great time to be a tech entrepreneur, as the web provides a low-cost mechanism to reach customers globally. The demand for unique software is there and the SaaS model means more people can afford it more than ever before.

Author: Royd Brayshay

I work with software development teams needing greater business effectiveness. I give lean and agile leadership advice plus coaching and training in Scrum, Kanban and XP practices. Dramatic improvements in productivity and predictability can be found in most teams. I also write code, design products and perform technical leadership.