But there is another option available today - Java Web Start, which allows applications to be launched from the browser. Yes, it's different - the apps run on the client. But they have the same advantage as a web app - installation isn't needed - and several more:
- Apps run outside the browser window, which may sometimes be better (from a UI design standpoint).
- Apps can be configured (by the developer) to launch from a local cache while doing a background check for an updated version (which runs the next time onwards).
- They can run in an offline mode.
- They can have access to the local filesystem (if they're signed and the user trusts the signer).
- They can optionally be launched from a desktop shortcut.
- You can code in Python (Jython), Groovy, Nice, Java, or any of the other languages that run on the JVM. Whether this is an advantage depends on the people and the task at hand.
- The load on the server could be reduced, and some of the client's resources can be used (which would otherwise probably go unused).
Web Start is certainly not a replacement for AJAX, XUL, XAML, etc, but it seems to be a valuable tool to have in your toolbox.