To reiterate what we've covered so far, in the world of Thin Client technologies like Citrix XenApp, we use our computer to remote control an application installed on another computer.
The other computer does all the grunt of processing the application and dealing with the users inputs that is, changes in their mouse movements along with keyboard strokes and dealing with outputs, that is, changes to the applications user interface, which is, how the application is presented to the user.
So we could have a computer in New York City which has word processing software installed and we could connect to this computer say from a computer in London and use the word processor without having the word processing software actually installed (resident) on our computer in London.
The Thin Client software on both computers will make it appear as though the word processing software is on the computer in London even though the actual word processing application is on a computer in New York.
Every time we move the mouse or press a key to type into the word processor at the computer in London, the Thin Client software sends this information to the computer in New York, which also has Thin Client software running on it.
The Thin Client software on the computer in New York calculates the change to the screen when the mouse has been moved, or when keys have been pressed and recalculates the changes to the screen representing the word processor. This is then sent to the computer in London, where the thin client software redraws the changes to the screen.
This happens in milliseconds and gives the user the experience of the word processing software being resident on the computer in London when in fact it is actually resident on the computer in New York.
The screenshot below shows a computer which looks like it's running a word processing application in London, when it's actually connecting to the application on a computer in New York City.
Understanding the principles of technology can be easier to grasp by using analogies, as this makes something which otherwise would have been completely alien, understandable.
So for an analogy to describe how Thin Client technology works, one scene from the James Bond film 'Tomorrow Never Dies' provides a good understanding.
In this film there is a scene, where James Bond, played by Piers Brosnan uses his phone as a remote control to drive his BMW (whilst crouched uncomfortably in the rear foot well of the car) around a multi-storey car park as he's being pursued by some ruthless individuals.
James Bond's phone displays a picture from one of the forward facing cameras mounted on the BMW. He uses the remote control's touchpad, to control the car.
As the car moves around the multi-story car park the pictures are sent back to his phone, which displays them on the phones screen.
The phone itself isn't actually driving the car, it is just sending signals to the car's on-board computer and this computer is then doing all the thinking and carrying out the appropriate actions such as turning the steering wheel, accelerating, braking and so on.
In essence the phone is a dumb device which only sends the driving movements James's makes on the phones screen to the car's on-board computer and in return, the phone receives pictures from the car's cameras.
The remote control by itself doesn't actually drive the car, that's done by the computer on board the car.
If we look at this from a Thin Client perspective, the phone would be a computer which has special Thin Client software running on it. The BMW's on-board computer is like the computer the Thin Client device connects to, which has the applications installed..
The BMW's on-board computer does all the calculations from the instructions it receives from the remote control and sends updates to the phone, in terms of video images to show how the BMW is progressing.
Likewise, the computer, the Thin Client device connects to, does all of the processing and sends image updates to the Thin Client device.
Whilst the Thin Client approach looks at processing the application logic remotely, that is running the actual application on a different computer to where the user is using it and in turn presenting the user with images of what is happening remotely.
The Fat Client approach looks at processing the application locally, that is on the computer being used by the user. This is the typical approach used by most computer users, where they use a computer at home for instance, which does all the application processing.
The screenshot above (Thin Client versus Fat Client), the word processing software on the thin client is running on a powerful computer in the data centre. Whilst with the fat client approach, the software is running on the computer itself.