The 'Thick Client' is dead...

Started by
30 comments, last by Luckless 10 years, 7 months ago

Rejoice, RIA applications have died and gone to HTML5 heaven. The end is nigh. The fall is high.

I really did think that Silverlight and its ilk would have made the web app space evolve. I guess that'll no longer be the case for a very long time.

Beginner in Game Development?  Read here. And read here.

 

Advertisement

Isnt javascript actually a step from serverside html generation back into offloading work to client side processing? Browsers are clientside and they get thicker and thicker.

Yes, HTML5 IS a thick-client, but it has the advantages over the earlier thick clients:

* Relatively standard client

* Browsers deal with auto-update

* Application can easily be updated

* Has more functionality than most of the previous systems

* In some cases, has better performance than legacy systems (for example, cruddy Swing UIs or something) (This also works both ways - it's possible to create really slow apps using HTML5!)

In my view, "thin client", is a very dumb client application such as RDP, VNC, X-terminal or whatever. These have historically been used quite widely and are still deployed in some businesses where they want a very standardised desktop and don't require many fancy apps (Don't run Photoshop inside a RDP session :) ). Unforutnately using these with Windows servers tends to be quite uneconomical in most cases, because of a variety of problems.


After 15 years of browsers mankind should've been able to come up with something more useful than the cruft HTML and javaScript is.

Google has, however it appears it didn't get much adoption (yet?)...

Isnt javascript actually a step from serverside html generation back into offloading work to client side processing? Browsers are clientside and they get thicker and thicker.

Even though browsers are client-side, but the code is hosted on the server. This makes deploying fixes and updates much easier. Everybody just need to reload their browser and get the latest patches.

Compare this to distributing the compiled binaries to your customers that they install on their device/machine. You fix some bugs, and you have to deploy the patches (as you see a lot in PC games) and have your users install them. Some of your users may never install the patches, so now you have user base using 1.00, 1.01, 1.02, 1.03, 1.04, etc. If your app talks to a server that never enforces users to update, then your server has to cater to all the versions you have ever released. This can be a maintenance nightmare.

You might think enforcing users to update is the easy fix, and that's what everybody should be doing. That may make sense in multiplayer games where everybody need to be on the same patches, but it may not be applicable to all businesses. Consider Google Maps. Google Maps apps on your device should still work even though you haven't updated it to the latest version. Why do you need the latest Google Maps app just to see maps? Maybe the latest app is buggy and crashing all the time and the UI sucks, so you decided to uninstall and roll back to the default installation which is dated a year ago. If suddenly your Google Maps not loading maps just because it's old, wouldn't you, as a user, be pissed?

Maybe the latest app is buggy and crashing all the time and the UI sucks, so you decided to uninstall and roll back to the default installation which is dated a year ago. If suddenly your Google Maps not loading maps just because it's old, wouldn't you, as a user, be pissed?

Well, if using server-side code you'd be pissed by the moment the latest version starts crashing or the new UI is out; worse - you have no choice but to use that now. So I'm not sure that argument is valid.

Linux distros do it the best way (IMO); you add a repository, and all updates are integrated with the OS update manager. Microsoft seems somewhat eager to one day make all app installing go through their store, solving that specific problem (but raising new ones).

Tell you one thing: thick or thin, I wouldn't want my primary skillset to be Java Swing. That's a recipe for disaster independent of anything else.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

Unless you do custom components and such I guess... In any case, SWT isn't very popular, JavaFX either (rough start) so if you're doing Java, there isn't that much to pick from.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

Personally find the paradigm of preferring thin clients over thick clients to be actually pretty irritating. It may be because I tend to be on the content-creation side of things, but I've yet to get the same sort of feel when using thin clients as compared to think. Even if it's just the added latency of waiting for it to interact with some server can get tiresome if I'm doing something on the network at the time, or worse yet if the network it congested/down. I'm tolerant of waiting for a website or some such to load, and I don't expect everything to appear before I even feel my finger pull away from the mouse button when I click a link, but I DO expect my word processor to show my characters instantly, and not to underline something 3 lines up when I've misspelled something.

A thick client for me is a lot like the suspension on a vehicle. When everything is going great and the road is smooth, you don't even notice whether it's there or not. When stuff sucks, you notice when it's not there, and you wish it was.

A few years ago I sat in on a presentation on thin clients and "The future of computing". This was a few years before "The Cloud" popped up everywhere as a major marketing buzz word. A number of students showed up to the old lecture hall to listen to a representative from an early cloud style service provider to tell us how the future was going to look with its shiny new off site computational power that leveraged the ever growing internet access speeds.

Gone were the days where you would have to upgrade your laptop every few years to run the latest apps! Instead all the data and heavy number crunching would happen at some massive server/data-center somewhere across town, or even in another city! To drive home the issue he kept pointing out that everything we were seeing in his power-power point and movie presentation was all hosted somewhere on the west coast of the US while he was showing it to us on the east coast of Canada.

He also made the point that it was secure, safe, and would greatly improve how businesses operated by decreasing downtimes and raising productivity. (He was rather vague on how running the exact same applications as you already did on another computer would actually impact a worker's productivity, but apparently it would. Somehow.)

Mid way through his presentation I got bored of him essentially repeating everything for the third time, and I noticed that the network cable of the podium went into the wall near the front of the hall, but all the cords actually plugged into outlets and sockets that happened to be right beside where I was sitting.

So I unplugged his network connection and sat there quietly to listen to the rest of his presentation.

Never rely on a computing system you can't have access to if you don't have to.

Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

This topic is closed to new replies.

Advertisement