A Toolkit for Offline Web Applications

Web applications are not yet as powerful as desktop applications. One of the big problems is that when no live network connection is available, users can't use the application or its data. Dojo Offline Toolkit is a small package that could enable compatible web applications to work offline.
Imagine Alex is using a web-based real estate application for realtors built with the Dojo Offline Toolkit. In the upper-right corner of this web application is a button that says "Work Offline." The first time Alex clicks on this button, a small window appears informing him that this web application can be accessed and used even if he is offline. If Dojo Offline has never been installed, Alex is prompted to optionally install a small 100K through 300K download that is automatically selected for his appropriate OS, including Windows, Linux/x86, and Mac OS X/Universal Binary.

Once Dojo Offline is installed with the included installer, the web-based real estate application prompts Alex to drag a hyperlink to his desktop and bookmark the web application's URL. As Alex works online, anything that should be available offline is simply stored locally. If Alex is offline, he can reach his application by simply double-clicking the link on his desktop, opening its bookmark, or by simply typing in its normal web address. The application's user-interface will magically appear in the browser, even if the user is offline, and all offline data will be retrieved from and stored into local storage. Dojo Offline detects when the network has reappeared, allowing the web application to send any data stored in local storage to the web server.

The idea is that web applications would continue to work offline, even though the server doesn't push any data.
Imagine a version of GMail with a "Work Offline" button on the left-hand side of the screen. When pressed, GMail downloads 100 of your most recent emails into Dojo Offline, including pieces of it's user-interface. A user can now close their browser and leave the network, stepping on an airplane for example. Once in the air, the user can then simply open their laptop and browser and type in mail.google.com. The GMail UI magically appears, along with their 100 most recent emails. A user can read these mails, compose new ones, or reply to existing ones. A flight attendant announces that the plane will land soon; the user closes their browser and laptop. Later, when they are back on the network, they can click the "Work Online" button, which will send all of their locally written emails to the GMail server.

An offline Gmail (but also offline Google Docs, Google Reader, Calendar etc.) might be a key step for a wider adoption of these tools. All these applications try to mimic desktop applications, but don't have an essential feature: continuous availability.

What I don't like about the Dojo Offline approach is that users have to click on a "Work offline" button. It would be better if the application detected the offline state.

Related:
Offline Google Docs
Handling online and offline files