Just read an article about Firefox 3 Planning - I have long been a fan of the concepts behind application services, (and distributed applications as well) This is what the internet is really good for.
Here's a link to the article I read: http://www.pcmag.com/article2/0,1895,2109401,00.asp
I am just writing with a little idea:
Any system that hosts applications which users are using remotely in real time needs to be able to store the users work periodically, according to a scheme that can recognize very accurately if the session has been interrupted. Closing a session is not a problem, because the application can ship the most current version of the document, as well as maybe switching local components to be ready to work offline. What is a problem, is if the client's wireless connection drops right in the middle of a sentence. Solving the problem could be very memory intensive, depending upon how it is done. My idea was to use a very small component that samples keyboard and mouse usage and sends back a very small ping to the host application indicating that the user is still in front of their machine, just doing another task. This 'user is present' ping could be optimized to use just a fraction of the upstream bandwidth, and it would give the app a chance to keep a cache updated in the client machine, which would let the user keep working if the connection was interrupted. Signal comes back up, 'user is present' and the host app can re-synch, and start refreshing the cache.
The basic idea was to monitor mouse movement. Keyboard is important too. Know if the user is there.