What are Thin Client and Thick Client Systems?

What are Thin Client and Thick Client Systems?

The difference between a thin client and a thick client is mainly about where the software is running. 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, usually on a server on the internet. The remote server running the software on your behalf sends instructions to your computer to display the results on your screen but your computer has done little itself to produce those results. When you interact with the software, whatever you type on the keyboard and notification of whatever buttons you click is sent to the remote server and it decides what to do with that information to produce the results you require. Your computer has very little involvement with actually running the software.

Where a computer has practically no involvement with running the software it can also be known as a dumb terminal to imply the computer has no intelligence of its own. 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 in exchange for payment of a regular subscription. The third party is responsible for the installation, maintenance of and upgrades to the software. Whilst such software leasing could be achieved using a thick client approach, it is more commonly delivered using a thin client approach as it is considerably easier.

Often the lines are blurred between thick client operation and thin client operation. 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 also can disguise thin client operation. You may believe you have 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 on a remote server. One rule of thumb to 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 operation.

Note that thick client operation is about where the software is mostly running not where any data it may rely on is located. You may have some kind of streaming video device either within or attached to your television. The device is most likely operating in thick client mode however it relies on data (video) which is stored on the web. Without access to the internet the device is fairly useless. However the software is still running within the device that you own and it is a thick client.

The advantage of thin client operation is the user requires a less powerful machine in order to be able to use the software. A complex application may require a very powerful 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 very many copies if they required the user to have a expensive hardware. By using a thin client approach the under-powered mobile phone is able to use the complex software.

Another benefit of thin client operation can be efficient use of resources. If a business has 10 employees who all need to use a piece of complex software, then they may need to buy 10 expensive highly powered machines. 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 high-powered machines may sit idle 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 10 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 10 cheap thin client machines are underutilised does not matter as much 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 hundreds of machines.

A problem within 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 the mobile connection tends to drift in and out is sometimes completely unavailable. Another problem is someone has to pay for the expensive centralised server on which the software runs. If a software producer intends to give their application away for free or at low cost they may be disinclined to pay for service for millions of users if they anticipate little revenue in return. In which case thick client operation may be more appropriate.

Thin client operation can also 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 the users business. The operator may be charging a subscription fee for access which they could decide to increase. The service may develop a fault and the operator could be slow at fixing it, leaving the user powerless to resolve the situation. 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, following purchase.