I'm in Oslo for a W3C working group face-to-face meeting. I've been doing some background research on the types of applications people are creating and came across this really neat calendar application written in dynamic SVG. I found the description of the development process fascinating especially the bit about the backend communication. It strengthens my belief that the balance of power is shifting once again, this time to a more even balance between the client and server. This style of development almost forces the application to be situated more appropriately in the web. Rather than the data api being hidden in the logic on the server, or in binary code in the client, it's exposed to the web for the client's use and more, importantly, reuse by future clients.
At the recent Future of Web Apps conference in London, Steffen Meschkat of Google said something quite interesting about another trend of the smart web application:
Client side session state - transient session state is managed on the client, while persistent user state is maintained on the server. This corrects a long standing architectural aberration. You don't need server-side session state any more!
I think there are a number of approaches to solving this problem for multi-page web applications. One is to enhance the browser to manage more useful storage, and this is in the charter of the Web API working group that I'm a member of. We're tasked to produce "An API specification for persistent storage on the client" and I'm currently nominated to edit that, a very exciting prospect.
Another way might be to encode some of the client state in the URL, specifically in the fragment identifier. The W3C Slidy application does this. It navigates to a new fragment of the current page on each slide transition. This has the bonus effect of giving URIs for individual slides, something that is missing with S5.