This post comes from Google Developer Day in Sydney, Australia, where Aaron Boodman has just finished his presentation on Google’s new enhancement to web applications, “Google Gears”. With Sydney being on the right side of the planet, you saw it here first!
The goal of Google Gears is to allow rich, AJAX – heavy web applications to become fully functional both on and offline. Delivering this capability would be a substantial step toward Google’s aspirations of becoming the dominant application platform.
To solve this problem, Google Gears brings local database storage to your web browser, and provides an offline synchronization service to keep local and remote data in sync.
All data interactions should take place locally, helping speed up the UI, whilst a background process takes care of the sync tasks whenever a connection is available.
On the storage side, Gears embeds an SQLite database server into a browser extension, providing API hooks to query and update the database much as you would with any other db.
Aaron was somewhat lighter-on for detail on the sync aspect, which is unfortunate as this is the crux of the offline < -> online problem. Anyone who has tried to keep various calendar and address books in sync with their mobile phone would attest to the vagaries of sync technology. It’s hard.
Imagine the complexity of taking your online banking application offline. Would you trust an SQL db in a Firefox extension to hold payment details awaiting sync with your favorite financial institution?
Lofty as this goal is, Google has taken a very open approach to encourage the adoption of Google Gears as an open standard. Full adoption by web browser makers and buy-in from web app developers is vital if this technology is to take off. The code is fully open source, under a BSD license, and available right now.