The web browser has been the dominant thin client, now rich client, for almost two decades, but can it compete with a new thin client that makes better technical choices and avoids the glacial standards process? I don't think so, as the current web technology stack of HTML/Javascript/Flash has accumulated so many bad decisions over the years that it's ripe for a clean sheet redesign to wipe it out.

When I say "thin client", I mean a thin client of the "smart terminal" genre, vs a thin client in the X-Windows/VNC/RDP genre.

In "thin client" mode, the modern browser is little more than a "smart terminal". Smart terminals have addressable cursors, fonts, colors, line graphics, some even had downloadable character sets. That's effectively what a "javascript free" web browser is today.

Add in javascript and XHR, and the web becomes a fat client.

The key limitation of this kind of thin client is extensibility. No matter how rich the "widget set" you allow coded in to the standard, someone will want a different one. Whether as simple as formatting to as complex as creating a new widget, despite our long history in the business, no one has come up with a complete set. The needs are always changing, and creativity knows no bounds.

The modern web browser is limited in this way today.

However, it does have an out, of sorts. Today, browsers implement the Canvas tag. The canvas tag lets us pretty much build most any widget we want. It's a bit map canvas that can take mouse hits, which is effectively what most any widget is, at least at their core.

However, the heart of a canvas widget is not canvas itself, but the code that powers it. Dowloaded code executing on the client machine.

That's all that Flash is, a square in the browser window with code behind it, code downloaded from the network. Canvas and Flash, at 30,000 feet, are "the same". Flash just happens to be more efficient with a richer toolkit.

So, frankly, the quest for a "better thin client" is simply a quest for another thick client, in the end. The web is where it is at today as a combination of capabilities and the market driving it.

There are already revolutions on several fronts (as mentioned), but the web is winning anyway. Each of its competitors as a rich client application platform are working in parallel on independent paths, whereas the browser makers on working on converging paths. Any good idea is getting rapidly incorporated in to the entire platform. And with the openness of the implementations, the web moves faster.