A Drupal colleague of mine, Steven Wittens just whipped together a new web application using the <canvas> tag, called ComicJuice. The ability to draw on a web page canvas is just one step closer to web applications that can do everything previous generation desktop applications could do. So, really what we are doing with with AJAX, CSS, Web 2.0 and so forth is just converging on a common platform for creating desktop applications, especially the client applications which worked with the old client-server and N-tier architectures.
Back in the 1980s and 1990s, we developed with a variety of tools for a variety of platforms. Early windowed GUI developers wrote applications for Sun's SunView window system. Then started writing X applications, and then choosing between Motif and OpenLook toolkits. Soon, there were VisualBasic and similar applications for Windows, and likewise for Macintosh. Cross platform was hard to do.