Thick or Thin

Before the Internet became as popular as it is today create software for users who had PC’s was pretty straight forward, you created a thick (sometimes referred to as a fat) client. This meant the user had to install the software on their PC just like Word. Today however things are not so clear.

The past few years has seen a wealth of technologies come along that have changed the scene and give the developer more choices as to how an application can be built. However whilst there are many choices around what type of application can be summarised into a couple of options;
– Thick client
– Thin client

Thick client – this is an application that needs to be installed on the users PC’s. For example Word or Excel or Skype. Updating the application can be tricky if you have a large installed base. A thick client gives you a tremendous amount of flexibility and generally the applications are much more responsive to the use giving them a better perceived experience.

It wasn’t long ago that many industry ‘experts’ were predicting the death of the PC and therefore thick clients. While that idea might be great in theory unfortunately a lot of these ‘experts’ don’t live in the real world, but one where they are exposed to the new and upcoming technologies. There are a variety of reasons why PC’s and thick clients will continue to exist, but that is for another post (although one good example of why is that I am writing this on the train now on a PC using a thick client with very limited Internet access).

Thin client – this is an application that can run inside a web browser. Some of these applications can now be quite interactive and give an excellent user experience, but they are mostly dependant on having connectivity to the Internet (although with some technologies this is changing a little).

The past 2-3 years has seen a huge growth in the marketing of Web 2.0. Now there are many different definitions of what Web 2.0 really means and that is for another post, but in essence it is about improving the user experience on the Internet by providing useful applications. Web 2.0 is not a technology it is an all marketing term used to give a name to the use of many different technologies. One of the approaches which gains a lot of exposure is Ajax. Again this is a set of technologies in the browser that have matured over the past few years so that they are now extremely useful.

What you will find is that a lot of the technologies used have actually been around for many years and in many case are very mature and stable and continually improving. People are finding better ways of using them all the time and this will continue.

Examples of thin clients are something like email using Hotmail, Google, Google Maps, etc. Interactive applications that you access through the browser.

When Java was created in the 90’s one of the things it was heavily being pushed for was to revolutionise the way the Internet worked and information was presented thus giving the user a much better experience. Unfortunately that failed to materialise in any real way. While there are applications out there written in Java and available in a web browser and some certainly do work well, I think there are two majors reasons why it has failed to take off. Firstly writing a Java application is actually a very complex task and program can quickly become complex and unwieldy. This in turn leads to a bloated client which is heavy and slow to run. The second major issue is the user experience. This is improving now but many applications do not look close enough to a standard Windows application and therefore the user acceptance of these applications is quite low. Users like a familiar environment and whatever criticism you may have of Microsoft, this is something that they have brought the average user.

A few years back there was a big push for what was known as the Application Service Provider model, especially for businesses. The idea was that you wouldn’t need to have a powerful PC to run your applications, but instead you could run everything from the Internet and pay a small rental fee. This would negate the need for businesses to have lots of PC’s that were costly, in reality the price of PC’s has come down so much in recent times this argument doesn’t really fit. One of the other major reasons this failed was connectivity. Accessing your application or documents online sounds great but what happens when you do not have permanent connectivity! At the moment I am writing this on the train with a 3G card plugged in. Bandwidth is ok for basic browsing, but I am unable to keep the signal the whole time, I need a local copy of word and my documents. However with the increase in broadband and it’s improved reliability, the speeds that are now available this model is starting to make a comeback for some types of applications.

There is another option which has slowly been making inroads over recent times, it’s a cross between a thick and thin client. It picked up the tag of Rich Client Applications. This was really driven by the Web 2.0 marketing hype and he use of Ajax and other solutions such as Laszlo and Adobe Flex. Both Laszlo (www.laszlosystems.com) and Flex (www.adobe.com/products/flex) are based on providing a Flash based solution to application development. Some of the ideas have worked well and because Flash is installed on most PC’s out there it is a perfectly valid option, but again it has been suffering in similar ways to Java. The bigger the application the more complex they become the larger they grow. Whether this will have a major impact only time will tell.

So what is the best approach for developing solutions today? Well off course it depends on the task in hand and this is something that I’ll talk about in another post.

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Leave a Reply