In The Magic of Web Apps is HTTP, Not the Browser I argued that the browser is the worst of all possible interfaces with its paucity of widgets -- checkboxes, radio buttons, text boxes, and submit buttons. The success of web applications is not that the browser is a good platform. It's that ubiquitous access is sufficient orders of magnitude better than the alternative that we'll put up with degradation of user experience.
Weren't web applications intended to save us from this mess?
A better solution solves both problems: the ability to write your application in one language (or multiple dialects, as appropriate) on client and server side. (The best solution will ultimately be exposing a RESTful API and allowing many clients, but you'll see why this isn't an option shortly.)
At least, that's the idea behind Silverlight, JavaFX, and Adobe AIR. While the hook may be "HTML and Ajax and CSS can't produce good UIs", however much that's true, the real goal is a unified platform for the complete application, just like the good old days.
Of course, the obvious problem with this approach is that a big blob of proprietary goo is only a solution for people who want to (or have permission to) get that goo all over their machines. Remember how boggled your bank was back in 2004/2005 that you weren't using Microsoft IE (or that no version of IE had ever run on your OS)? Imagine explaining to them that your 64-bit PC-BSD machine will never get a native version of AIR, and you'd really like to write a check.
At least with bog-standard HTML and CSS (and sometimes, Ajax), the horrifyingly ugly interface works.