It seems strange that 20 years later the crude stateless hypertext technology designed to share physics documents has been hacked to serve desktop-wannabe apps. Yes, we all love the web's easy and ubiquitous deployment benefits, but what have we traded in exchange for that?
We've long since solved the problem of laying out desktop apps or printed materials. But it seems every time I read about CSS or Ajax hacks to get something similar to a desktop-style interaction it just boggles my mind at how much cruft we have to tack on to make the browser pretend to be a desktop system. Nowhere is this more apparent than the HTML5/canvas game development scene. While I'm cheering for open standards as much as the next guy, it's disappointing that a modern computer with its Gigahertz CPUs has trouble rendering a game that 20 years ago was being ran on CPUs in the tens of MHz range. We herald frameworks as our salvation, but these extra layers of abstraction will only serve to slow performance.
The Java applet, everyone's favorite web app bastard child was IMO at least a step in a (not the only) right direction. It would be cool if browsers supported a sandboxed execution environment that used a common open bytecode technology that allowed for languages other than javascript to be used (client-side python would be cool), and provided a common library for UI development and layout similar to what Java Swing has. It seems that everyone would love applets if they were introduced today using an open standard, implemented by the browser by default, and without everyone's memories of the horrible performance over dialup on orders of magnitude slower hardware and the whole Java/Sun thing.
Maybe it's time that we started looking for successors to HTTP and HTML designed with webapps/games in mind.