Text-only version.

This morning started with a genuine “Wow” moment: On Read/Write Web, I learnt that Robert O’Callahan from Mozilla has announced that Firefox 3.0 will allow for offline access to web applications (as reported by Rod Drury). Obviously, some re-engineering will be required to enable a web app for offline functionality, and the typical application might not expose its full functionality in offline mode.

But, hey, this is still revolutionary: Imagine you want to keep working on some documents in Google Docs when on an air plane: currently you have to remember to download them before and upload them again afterwards. Even worse, if others work on them concurrently, you might unwillingly undo their changes. Imagine you could just open Google Docs in your browser while offline without all the hassle and error-proneness of “manual synchronization”.

The growing need for better synchronization

Web apps are great – I personally use most of the Google services and love them. No more moving files between different machines, your data is associated with you as an individual rather than with one particular machine, and you can access it from anywhere (even from a friend's computer or an Internet café whatever OS they may run).

However, most people are not constantly online. I like to work on the underground, on the train, on the plane, at the beach and I do not want to be unable to access the thing I was just working on if my modem or router goes down. When something like this happens, having your stuff on your own hard-drive suddenly becomes a life-saver.

The solution is better integration between your local machine and the Internet. Right now, it's often cumbersome to keep your local and online content nicely synchronized (except in some rare cases: the Evolution calendar allows you to access, locally back-up, and synchronize with, your web calendar quite nicely).

The Firefox approach – but how is it going to be implemented?

So Mozilla wants to allow web apps to offer some of their functionality in offline mode as of release 3.0. Sounds great, but it left most readers wondering: How are they going to do that? After all, typical modern web applications talk to the server every two seconds and need to perform complex server-side calculations and to query large databases.

As Robert O’Callahan explained in a very elucidating comment on Read/Write Web, API-wise, the main idea is to introduce a new rel tag for storing application pages along with existing quasi-standards: WHATWG DOM client-side storage (sometimes labelled “super-cookies”), jar URLs and WHATWG online/offline sensing (an awful lot of it is already implemented in the current FF – it's just that hardly anyone seems to use it yet). As he pointed out, some issues such as persistence remain to be solved in detail – but this already sounds extremely promising.

One concern: user control

One thought: Unfortunately, it appears that client-side storage is permitted by default, the same as cookies. I think once apps start storing massive amounts of data on the client for the sake of offline functionality, there's a clear difference compared to traditional cookies, and there should be a white-listing approach (i.e. the user has to explicitly allow sites to use client-side storage) rather than a black-listing approach as with cookies.

Additionally – I am not too familiar with this subject – but as a layman it bothers me how one will ensure that applications clean up behind themselves and don't “leak” storage space.

Implications on Google's office solutions

As pointed out on RWW, this will make Google Docs & Spreadsheets much more competitive. Nonetheless, I hope it will not take momentum away from efforts (or, at least, the desire of many users) to integrate OpenOffice.org with Google Docs and Spreadsheets.

Apparently, Google has not announced any plans to enable its products for offline mode yet. However, I think they should do so (and help write a synchronizer for OpenOffice.org as well – come on, you know you can afford it.)

Implications on the convergence of the Internet and the Desktop

The increasing integration of Desktop and Internet is a fact. What a lot of people are asking themselves is whether the result will be a thin client (where everything will be done on the web) or a super-connective desktop making massive use of web services. As I have written previously, I think the end result will be neither, but something that we cannot imagine yet.

This new perspective adds an interesting approach: The web uses the storage and computing power of the local computer in a flexible way. The local machine as a backup. This is neither the thin-client philosophy, nor the connective desktop application philosophy. Still it moves the web and the local computer closer to each other.

Implications on start-ups

One of the great advantages of the Web 2.0 era has been to lower the barrier to entry for small teams with limited budgetary means and a great software idea. These new possibilities take this tendency even further: now you will be able to offer a software product that's usable both online and offline without the bother of duplicating the functionality of your web product on the desktop or vice versa.

The psychological implications for Web 2.0 adoption

Before the Web 2.0 era, hardly anyone would have expected “real”, mature, user-friendly, intuitive, interactive software products from the web. Nowadays, this has changed, but psychologically, many users still do not feel as much “in control” on the web as on their own desktop. Knowing that your web-based application will keep working when you're offline will be of great help in making the average Joe (or the average business user) trust web applications and give them a sense of ownership of their remotely stored data.

Good news for cross-browser compatibility

Some concerns have been voiced concerning cross-browser compatibility. However, since it seems that wherever possible they use WHATWG (quasi-)standards – Safari and Opera are members of the WHATWG (Web Hypertext Application Technology Working Group), too –, it can be expected that the other major quality browsers will follow suit.

This is a beautiful day for browser innovation!

Back to the top of this page

Categories: Web Development and Programming

Keywords/tags:

| Comments (0) | Trackbacks (0)

Trackbacks

Trackback URL for this entry:
http://christianflury.com/cgi-bin/mt/mt-tb.cgi/26

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Christian Flury

World 0.1

Link to the RSS feed for my blog.