You wouldn’t go into a Rolls Royce showroom and try and buy a cheap family car, nor would you go into a Ford showroom and try and buy a tank or go to a Smart dealership expecting to come away with a limousine. While they are all different types of ground transport they are very, very different things, generally speaking though, most people understand the differences and know what they are looking for when they go shopping.

Unfortunately software is somewhat more abstract that cars, and for many people and businesses, figuring out what sort of software they should be buying isn’t easy. If you don’t know the different types of software, and you don’t know how they relate to the problems you are trying to solve it can be a nightmare experience filled with hesitation, fear, and a range of prices and options confusing enough to make even Albert Einstein scratch his head in confusion.

What follows isn’t intended to be a complete, or even an accurate list of the different types of software, (that would be almost impossible). Instead it’s intended to be a useful list of different types of software. My hope is that it will help orientate you and give you the beginnings of a mental map you can use to find the right software for you.

Boxed Software

This is the software that until recently you could buy in a box at your local computer shop, it came with a licence key, a disk, and an instruction manual. Today its more likely that you would download it off the internet and install it on your computer, but to be honest that’s a detail. This type software does one particular task, and if you need to do that task then you should buy a copy of the software.

Famous examples of this type of software include:

  • Adobe Photoshop which is for performing a range of photo manipulation tasks
  • Microsoft Word Which is for doing all range of tasks involving writing and manipulating text
  • Filemaker Pro Which lets you store large amounts of arbitrary information in a way you can search later

For many years Microsoft was the biggest producer of this type of software, and it was highly unlikely that there wasn’t a Microsoft product that would do your task, whatever it was.

Online Services (SaaS)

Online software services, or Software as a Service (SaaS) are software tools that live on the internet, rather than being installed on your personal computer. Some of them do a specific task, just like boxed software, but the most successful ones let many people use them at once, and collaborate to do either a single task, or a set of related tasks. Sometimes you have to download and install a piece of software to access the service (like with Skype) and sometimes you visit a web site to use the service (like with Facebook). When you have to install software, that’s an example of boxed software whose task is giving you access to an online service.

Famous examples of this type of software include:

  • Google docs, which lets people create and edit text documents, and spreadsheets. (Despite bing a different type of software, this is in competition tools like Microsoft Word. Microsoft has since brought out Office 365 which is an online service version of its office software.)
  • Facebook which lets people share whats going on in their life, and chat to each other
  • Salesforce which lets sales people keep track of the potential customers they are talking to

With most examples of online services, the user can customise some aspects of how they interact with the service, but can’t do much to change the way the service behaves. If that were possible it would change the way it behaves for all users, which would only lead to mass confusion.

Customised Services

Customised services are types of software that allow you to create your own online service. You obtain a copy of the software, install them on an internet connected computer and then access them from any computer on the planet. Because it’s your own service you can customise it to work differently from other copies of the same service. Most software of this type is intended to be easy to customise and extend, and can sometimes be made to do a large range of different things, but there are limits to how far it can be customised effectively. Try and customise it too much and you will end up beset with errors and bugs.

Famous examples of this type of software include:

  • WordPress which is fundamentally a blogging tool. An installation of wordpress lets some users write blog articles, and other users read those articles. WordPress can be customised with features such different visual appearances, social media integration, and even shopping cart / e-commerce features. (WordPress is also available as an online service, giving you a choice of which you want to use.)
  • Joomla which is a content management system (CMS). An installation of Joomla allows some users to add content, which can be text, videos, pictures and so on, while allowing other users to view that content. This can be used for anything from running an online magazine, where the content would be the articles, to the website of a company, where the content would be press-releases, white papers, and so on. Joomla can be very extensively customised with add on modules, that add many new features, like learning management systems (helping users learn specific educational content)
  • Jira which is a tool for tracking bugs and tasks inside a software development project. Jira is now available either as an online service or as a customised service.

Customising a customised service can be done in one of two ways. Either by installing extensions or by paying a developer to write some custom extensions for you. Most examples of software like this have both a range of extensions available, and clear documentation for developers working on creating their own extensions. Typically when the same software is available as both as online service and as a customised service then the customised version will allow much more customisation.

Bespoke software / service

Bespoke software is where you get to throw away most of the rules. You need a team of developers, and to understand how to work with them, but you can build almost anything, as long as it’s within the range of reality. You can choose to either build it as a installable program (like boxed software) or as as a service that can be accessed over the internet.

The main difference between a customised service and a bespoke service is that with the customised version you start with a piece of software which already does something, and with the bespoke option you start with nothing. The developers have to build everything, either from scratch or using frameworks and libraries (bits of code that make the task easier and faster). This can be slower, but provides a lot more flexibility if you want your software to do something unique.

Deciding whether you should start with a customised service and customise it or start from scratch is a very difficult decision, and one you should take advice on.

Summary

Most companies will find they need to use a range of different software to find the best way to get their work done. A typical range might include Microsoft Word (boxed software) for creating letters, Gmail for emailing the outside world (online service), WordPress for running their company blog (customised service). Many companies have also brought bespoke software to help with the most unique parts of their value chain. For example the software that Uber uses to decide when to start surge pricing will be bespoke software.

Some companies start out doing their core activities manually without software, then start to replace parts of their workflow with either boxed software or services, before eventually commissioning some bespoke software. Other companies are in a position to start building bespoke software much sooner. Whichever you plan to do I suggest to take a look at 5 Steps to better business software for some pointers.