navigation
 Thursday, February 28, 2008

I was on a conference call today talking to a client about how to architect a 'sometimes connected' web application, where the user would be able to

  • connect to a central web app/database when Internet access was available and see all data
  • download a local copy of needed data and then disconnect and continue to use the app with the local data copy, still in a browser
  • make change, deletions, and additions to the data in disconnected mode
  • when connected again, sync changes with the central data store.

Furthermore, this was to work cross browser, and cross OS (Windows and Mac).

My initial thoughts revolved around creating a local web server and database, and then sync data between the central and local database upon disconnect and reconnect. But to be cross browser and OS, you would need a local database like MySQL, and a local Web Server like Apache... and you would have to write a lot of tricky data sync code...

Luckily, Lino Tadros was on the call and pointed out that Google has a new API (still in beta), that does all of this for you! It is called Google Gears.

I would highly recommend that you check it out if your requirements are similar to the ones above, it seems to do just the trick!