Monday, 26 February 2007

Google vs Offline Web 2.0 Applications?

There is lots of buzz around the whole Google Apps thing at the moment, but an insightful observation from Josh Bernoff at Forrester Research:

"Google believes in a future where everything is connected all the time, and they're wiring up cities to help with it.  But this problem would be solved a lot faster if browsers ran apps, especially AJAX apps, offline. Then you could work on your gmail, your Google docs and spreadsheets, your calendar, in your browser. Offline browsing isn't new, but this is more complicated, because once you connected up again your apps would have to sync up -- the whole replication problem that Notes and Outlook take care of now. That's hard -- but not so hard that Google engineers can't figure it out, especially with some help from Firefox, Adobe, and others trying to weaken the Microsoft monopoly (see Rob Drury's post on this topic)."

This Mozilla Firefox offline applications thing is something I've been trying to get my head around too - we have a demo of sorts from Chris Double, showing Zimbra in offline mode, however incidentally there is an earlier example of this offline capability.

Considering the success of Web-based services and applications to date, I'm undecided at this stage about how important this is in the overall future of Web 2.0 - I mean:

  • If I wanted a fat client application connected to a server, I would still be using one;
  • Many of the benefits of social software come from providing simple access to common content that can be remixed, but offline mode is going to introduce the complexity of managing syncronisation conflicts in this shared data pool; and
  • It is built on the assumption of poor Internet access through a single device, rather than being always on, always connected through multiple channels.

I also think that I'm a little uncomfortable with the idea of browser-based offline applications is that it smells like we are reinventing the wheel. Think about this: I'm not quite enough of a geek to read through all the specifications Chris Double points at in his post, but I did read enough of the DOM Storage spec to see this:

"DOM Storage is the name given to the set of storage-related features introduced in the Web Applications 1.0 specification. DOM Storage is designed to provide a larger, securer, and easier-to-use alternative to storing information in cookies. It is currently only available in Mozilla-based browsers, notably starting with Firefox 2." [Emphasis added]

So, at the moment we have offline capability being built around the functionality of a particular fat client application (even if you make sound good by calling the browser the OS)... hmm, this all sounds a bit like (dare I say), Lotus Notes.

But either way, who ever wins out, are we just on the verge of replacing one monopoly with another?


  1. I'm frequently off-line and can sync Outlook and files. For me, the main thing missing is offline access to our wikis. But SocialText have recently released a new version with offline support. I can't wait to try it out.

  2. Notes actually has a capability for offline mail/calendar/applications in the browser. Called "Domino Off-Line Services" (DOLS), it shipped first in Domino Web Access in 2000. The metamodel addresses both application logic and data, and synchronizes (replicates) with the server upon next connection. So, it delivers the browser metaphor with the rich client underpinnings. Since it's for Notes/Domino browser-based apps only, it probably hasn't gotten huge exposure, but it is a problem that was solved some time ago.

  3. The DOM Storage capability is a WHATWG specification so it's likely that other browsers will be supporting it.

    To me the advantage of offline support is that it enables new things that web applications can do. For me there's not much advantage in having fully offline applications in the browser that sync when I go online - I don't tend to use that type of functionality myself. I do know that a lot of other people are asking for exactly this though so others are bound to find it useful.

    I'd like the ability for web application to detect when I've lost connectivity and allow me to save the state of what I'm doing and have it continue when I'm reconnected. And I'm sure others will come up with innovative ideas as application developers start using it.


Note: only a member of this blog may post a comment.