Google Gears, SyncML, or something like it, is a huge winner. Why? It enables a web where information is cached wherever it is used. As you’re using a web page / visiting a node, you can choose to have the information there cached onto whatever client you happen to be using. If access to the web is interrupted, you can keep working locally, and then re-synch with the web when back online. The stuff on your client is up-to-date with the web whenever you use it online.
Google Gears is currently available for Google Documents (as well as Reader and soon Mail and Calendar).
Overall, with such caching the web is asynchronously up-to-date. If you haven’t used a client for a while, that node’s cache gets old. But use it, and it’s back in synch.
Specifically, wherever you are the web synchronizes with you, just in time.
Overall again, this is very efficient. Unlike an application, which gets installed on the client just-in-case, your web cache (which includes your browser and its extensions) gets installed and updated when-needed, where-needed.
Your local machine backs up to the web, and the web updates your local machine.
This could be very robust, and also feels a lot closer to something living.
As Buckaroo Banzai would have said, wherever you are, there’s the web.