I attended the presentation on the new Dojo Offline Toolkit given by Brad Neuberg. It was a little too pitchy, but accepting that, it was very informative.
Homestead has a very extensive AJAX application (SiteBuilder Lite) and making that work offline well might help us eventually retire the downloadable and installed SiteBuilder LPX app. The quick rundown of the practical options:
- Adobe’s Apollo: A lot of splash from this one, including several sessions given by Adobe and even a keynote about it. Brad’s thesis is that users don’t want a separate install, that they want to work in the browser. Frankly, I don’t think they care; they care that it’s easy to install and that it works almost exactly the same as the online version. And technically, I just want a single code base providing the functionality. Apollo may provide that.
- Slingshot: This platform allows you to take Ruby on Rails apps offline. Brad argued the same thing: that users don’t want a separate application, but just want the browser.
- Dojo Offline: I do think it’s pretty cool. It’s made up of a JS library and a 300K installed runtime that acts as a standard local proxy, actually proxying the host names it cares about, providing access to local caches of otherwise online web pages, local file storage, local data storage, and syncing behavior. It’s really interesting and deserves investigation.
Practically, I think both Apollo and Dojo are great possibilities. When it comes down to it, adoption will come down to the same things it always comes down to: ubiquity of the runtime and developer mindshare (will it be easy for developers to build on it).
Again, it’s hard to see Microsoft completely ignoring this arena. I would surprised if MS did not come out with a well-fleshed out web app framework with built-in support for working offline.