Rich Gui/Poor Gui: There's been a slow moving discussion floating around about the limits of Web Based User Interfaces. There have been many postings in the past months. Most recently Jon Udell posted an interesting article. Tim Bray had some comments on it. Here are some points which often are glossed over:
Existence Proofs. From my own experience with eRoom, Web Based User Interfaces can be pushed quite far to produce remarkably rich experiences, if you think about them the right way. Other examples are far more advanced, for example OddPost does some absolutely remarkable things inside the browser, without using Java or other plug ins. And there are plenty of other good examples. But running inside a browser window is not the only test.
What makes a Web UI a Web UI? One thing folks don't point out is that one of the key characteristics of a good web UI is its use of URLs. On the Web URLs are fundamental. Not only can you click on underlined links, but you can put the links on your favorites list, you can email them around, etc. That behavior is essential, and if an app cannot be cast in that form, then trying to run them inside the browser is IMHO a waste of time.
Where do you draw the line? Another key advantage of browser based apps (which has been discussed) is that they are significantly easier to get adopted, especially inside larger organizations and even more so, within large enterprises. The simple psychological barrier of installing software is present for all users. It is just easier and safer to go to a web site than to install an app. And within those larger organizations, there are often various restrictions if not outright prohibitions against installing software.
But what about web based apps which are beautiful, useful, and well behaved but require a plug-in to run. Or that require Java components. Or that perhaps have some optional components. There are many ways in which the core Web experienced can be ehanced by adding code in one form or another, and sometimes this is permitted and sometimes it is prohibited in the end user's environment. This is an important consideration in choosing the right approach.
DHTML et al. I believe there is a ton of untapped potential in DHTML and other related technologies built into modern browsers. Yes it is difficult to make reliable, and yes, there are tricky variations between browsers from different sources, but it is possible (although hard) to build an app that deals with these variations in a reasonable way.
When rich clients? I agree with Jon that there is a uniformity that has come to be among rich clients especially on Windows. In particular, there is way too much use of the plain old 3 pane interface (folder tree on the left, list of items on the right, and a property page below.) I believe that Microsoft has made it so easy, and the widgets are so powerful and elegant, that they have become overused. They are an easy crutch to make a fancy looking client app without nearly enough thought about the user experience or flow.
In summary, I am bullish on web based user interfaces. For very many applications a very rich user experience can be built which will run in the major browsers on the major platforms. However it is important to make sure that the application's requirements fit with the fundamental characteristics of web based interfaces and those are 1) run in the browser, 2) appropriate use of URL.