Archive for the 'Ajax' Category

Web Apps Offline

Friday, April 27th, 2007

A colleague sent me a link to a O’Reilly Radar article in which the author links to a presentation for, and briefly discusses, a framework, Dojo Offline, for allowing web-applications to work, you guessed it, offline. Pretty slick. They gloss over the 800 pound gorilla of sync conflicts more than I would like (as that’s the real difficulty with on/offline apps), but I think that the presentation does a good job of demonstrating the sensible approach Dojo seems to take. Off-line capability for web apps is coming, and we need to ready.

Now this isn’t a new idea, to be sure, and there have been plenty previous attempts at transparently handling content, with an internet connection or without (see an interview with the author of Dojo Offline for some current offerings). But with at least the presentation made available over at the article, it’s becoming clear that this is something of which to take note. With applications like Google Apps and GMail becoming not only more popular, but also more fundamentally necessary for users’ business processes, the expectation that one does not need to be “tethered*” to the internet in order to function. If Dojo Offline and Dojo Storage (or one of the competing frameworks) were integrated with such applications, the pricepoint of Google Apps would become so much more appealing.

I’ve been delving into WordPress plugin development, recently, for some projects at work, and I keep thinking that I would like very much to have this sort of functionality available for WordPress. I know the need exists. It’s somewhat addressed with the email blogging capability of WP. But that just side-steps the issue – it places the work of the proxying into the hands of the user: they need to install or access an email system to create their posts. It’s something of a disjointed solution. Back in my Blogger days, I made use of a Blogger for MS Word plugin, which let me work with Word to create and upload posts. This was nice because I could work offline (and use a better editor, in my opinion, than the editor that was available then).

I have to wonder if there is another alternative to using JavaScript, though, since it’s not too uncommon for users to disable JS entirely, or to use browsers that don’t support it (though I have no numbers to back this up, though). It seems that the offline capabilities of a browser app (as opposed to web app) could be one more point of abuse for developers, breaking Graceful Degradation or Progressive Enhancement. Of course, I suppose that those that will break those ideologies will break ‘em anyway, if we’ve got this extra tool or not. :)


* Yes, yes, “tethered” was much more appropriate when we were all literally tied to the internet via phone and Ethernet cables, but it still applies. :)