Thin clients are as dead as the dodo. There =WAS= a reason people stopped using VT-52's and other dumb terminals.
Bottom-line is this. Centralised server systems, with connecting ultra-thin clients place an intense burden on the network, are failure-prone, and have absolutely no redeeming features, whatsoever.
They're failure-prone, because if ANY component fails - network node, server, client - then EVERYTHING fails. It's impossible to make crash-resistant, without spending so much that you'd end up with something so expensive that you might as well have bought the server & software and had the whole lot in your office.
It also places an intense burden on the network, because EVERY transaction needs to be sent, along with all necessary handshaking, error-correction, and assorted other overheads. It really doesn't take much to eat up bandwidth.
(It's also important to note that network loss becomes significant at around 1/3 capacity, for a shared network. As soon as you exceed that, the liklihood of packet collisions and random drops becomes so high that it becomes pointless to continue.)
These considerations, and more, are why people moved from using raw X11 packets, telnet, et al, to such things as RPC, CORBA, PVM, MPI and various proprietary protocols for network connections.
(In -theory-, you shouldn't even need a web browser on your computer. Just run the browser on the web server machine, and redirect the output to your X window. You'll find, as so many have done, that the performance hit vastly exceeds any imaginable benefit.)
But software gets updated so often! Surely, that's a good reason for having thin clients! Nope. You're better off with writing modular code, transferring updated modules on an as-needed basis, and using dlopen (or something similar) to load the modules into some skeletal application manager on your LOCAL machine.
=THIS= is the future, not that web stuff. The ability to do on-the-fly, zero-fuss, zero-intervention automagic maintenance. No worrying about whether something is cached or not. No worrying if a given server is up or not. You run the code, IT takes care of the rest.