Hi, George.
>Seriously, I look at a web server as simply a conduit through which data passes. I'd really hestitate to put any CPU/MPU intense operations on it. Even a "slow" workstation should outperform a server that has to handle
n requests.
Well, I have to agree with Evan in this case, and it is good to find something we don't agree, at last. 8-)
Of course there are some cases when you can be better running client-side, but I'll never take your approach as a rule of dumb. Specifically, most of the time heavy calculations requires some baseline data from time to time. Then, having your process as close as the data source always helps. However, even in "get all the needed data in a chunk and then calculate" scenarios, a server can be more powerful (remember what we see as a server can be a cluster or a whole datacenter), is easy to parallelize, and it is usually far more stable from a context perspective. You know... users tend to have anything running on their workstations from Kazaa to Norton Antivirus, to the latest and more fashionable trojan horse or ad-ware eating lots of CPU time.
In any case, my take is that even while I can provide a LOT of value with a thin client, I architect my apps so it is not difficult to provide a fat/smart client if needed (and I actively check if this is not a hidden requirement as soon as possible). Hoping the net will be there is in most cases a painful learning experience sooner or later.
About the old argument of easier deployment, I don't buy it anymore. There are lots of technologies and solutions available to deploy and keep updated smart-clients today.
So, I like to keep the best of both worlds. 8-)
Best regards,