What are Thin Client and Thick Client Systems?
The difference between thin client and thick client operation is mainly about describing where software is physically running in a system. When choosing software there are often two options. You can download software (an app) and install it directly on your computer or you can use software that is available online, such as through a web browser. When you use software directly installed on your computer this is using your machine as a thick client. When you use software online you are using your computer as a thin client.
Thin client (online) software is not running on your computer, it is mostly running somewhere else. Often the software runs on a server located somewhere on the internet, possibly in another country, but it could equally be running quite close to you. The important point is thin client software runs on some computer other than the one you are using. Whatever you type on your computer is sent to a remote server and so is information regarding any buttons or other areas you click on the screen. The remote server decides how to use those key presses and mouse clicks to produce a response, which is then sent back to your computer. Your computer simply displays whatever is returned to it on the screen.
Often a computer runs a mix of thick client and thin client software. You may run some software that is installed directly on your machine, such as a calculator or a music player, but other software you may operate online through a web browser in a thin client mode. Sometimes the same software runs partially in one mode and partially in another mode.
Mobile phone apps can disguise thin client operation. You may believe you have downloaded and installed an app locally on your phone, however it is actually starting up a web browser behind the scenes and is using software in thin client mode that is running entirely on a remote internet server. Your phone is behaving as a thin client to the remote software.
One rule of thumb to help differentiate thick client operation from thin client operation is if you disconnected the internet would the software continue to work? If the software cannot function in any way without the internet it may be more likely to be considered thin client software.
The term “thin” is to imply the computer you are accessing the software through doesn’t do very much. Where a computer has practically no involvement with running the software it can also be known as a dumb terminal to mean the computer has no intelligence of its own. In the early days of computing, when a machine was very expensive, a single computer would be shared by many people, each equipped with their own dumb terminal. These were little more than display screens with a keyboard and had no capability to run software. They could only relay key presses to the remote computer and display what was sent back.
In modern times machines are regularly used as if they were dumb terminals but they are almost always full computer systems with a capability to run installed apps. Complete computer systems are now so inexpensive that dedicated dumb terminals that are not capable of running any other software no longer make financial sense to manufacture.
Other terminology that is related to thin clients is SaaS (Software-as-a-Service). SaaS means that software is leased from a third party. Usually a payment of a regular subscription is required although SaaS software may also be provided at no charge. A common example of free SaaS software that is widely used is web based email. A key characteristic of SaaS that differentiates it from other forms of software delivery is the software provider is responsible for the installation, maintenance and upgrade of the software. SaaS can be delivered by a thick client approach where the software vendor installs and maintains the software on the premesis of the customer, however it is most commonly delivered over the internet using a thin client model.
Advantages of Thin Client Software
With thin client operation, the user potentially requires a less powerful computer in order to be able to use the software. A complex application may require a very sophisticated machine but the majority of potential users may only have a cheap mobile phone with little capability. The software creators would not be able to sell many copies if they required each user to have their own very expensive hardware. By using a thin client approach the under-powered mobile phone is able to use the complex software.
Thin client operation can make more efficient use of resources. If a business has ten employees who all need to use a piece of complex software, then they may need to buy ten expensive highly powered machines in order to run it. However, each of those machines may be underutilised. Each employee may spend the majority of the time thinking about how they are going to use the software but only a small percentage of the time actually running it. Each of the expensive machines may sit idle the majority of the time. A business may be able to save money by buying a single high-powered server that runs the software centrally for everybody. Then they buy ten cheap machines for the employees which each connect to the single central machine as thin clients. The single server machine may be very heavily utilised as it is running the software simultaneously for ten people. The fact that the thin client machines are underutilised does not matter because they are very low cost.
Thin client software can be cheaper to maintain. Complex software can be complex to install and also to upgrade. In the thin client approach it only needs to be upgraded once on the central machine. However, in the thick client approach the software may need to be upgraded on many hundreds of machines on which it has been installed.
Advantages of Thick Client Software
A problem with thin client operation is the requirement for a continuous reliable network connection in order to reach the central server. If the software is intended for mobile operation this could be a serious issue as mobile connections tends to drift in and out and are sometimes completely unavailable.
Someone has to pay for the expensive centralised server on which thin client software runs. If a software producer intends to give their app away for free or at low cost they may be disinclined to pay for servers to support millions of users if they anticipate little revenue in return. In which case, thick client operation may be more appropriate, where each user purchases their own appropriate hardware if they wish to run the software.
Thin client operation can have commercial disadvantages for users. The user is dependent on the whims of the operator of the central server. The operator may decide to shut down that service at any time without notice to the detriment of users. This could have serious consequences for a business that is reliant on the software. With the thick client approach the user typically has a copy of the software in their physical possession. It is more difficult for the software creator to subsequently prevent them from using it after it has been purchased.
The thin client server may develop a fault and the operator could be slow at fixing it, leaving the user powerless to resolve the situation. With thin client software the user is completely reliant on the competence of the operator of the service.
Image Credit: VT100 Image by Jason Scott