Google kicks offline Web apps into gear

Search giant launches Google Gears, open-source software that brings offline access and local storage to the Web browser.
Written by Martin LaMonica, Contributor
Google engineers have enabled what Internet surfers for years have yearned for--Web applications that work offline.

The search giant on Wednesday launched Google Gears, a browser plug-in that will let people run Web applications when they're connected to the Internet or not.

The company released the source code for the Google Gears software in conjunction with Google Developer Day, a daylong conference in 10 locations.

The goal of Google Gears is to create a single, standardized way to add offline capabilities to Web applications, said Linus Upson, engineering director at Google.

The initial code is aimed at JavaScript developers who write Ajax-style Web applications. It runs on Internet Explorer on Windows; Firefox on Windows, Mac OS and Linux; and on the Safari Mac OS browser.

Google expects to have a consumer-ready release of Google Gears, which will be under 1 megabyte in size, "within months." It also expects to submit the code to a standards body so that it will eventually be built into all standards-compliant browsers, Upson said.

"It's been a long time since the Web has gained new fundamental capabilities. I think it's been about 10 years," said Upson. One of the key capabilities of Ajax development--XMLHttpRequest--came out in 1998 and took years to catch on, in part because of applications like Google Maps.

Google engineers took on the task of bringing offline access to Web browsers because customers of its hosted Web applications complained about not being able to work when disconnected, Upson said.

"One of the reasons we're doing Gears is that developers here at Google have really pushed the envelope on what can be done in the browser so engineers are hitting barriers harder and faster," he said.

The first application to have offline access through Google Gears is Google Readers, the company's RSS reader. Once people install the browser plug-in, they can read RSS content when they're offline and synchronize with the RSS feed provider when they get back online.

As part of the announcement, Google said Google Gears has been endorsed by the Mozilla Foundation, makers of the open-source Firefox browser, as well as Flash developer Adobe Systems and Opera Software, which makes the Opera browser.

Under the covers
By releasing the Google Gear code, the company hopes to get feedback from developers before releasing a consumer plug-in.

The software itself has three components--a local Web server which runs in the browser, the open-source database SQLite for storage, and browser extensions that allow multiple JavaScript jobs to run in parallel.

With that architecture, end users will be able to run Web applications even if they have flaky network connections or if the Web server they are accessing is bogged down. Having a browser capable of running multiple JavaScript scripts, or threads, means that the browser is less likely to get locked up.

"What we wanted to enable was to make applications that essentially run off local data even when you're connected to the network because defining or detecting that (connection state) is very hard," said Upson.

The local SQLite database, while small in size, is capable of saving gigabytes of data, although Google intends to set up Google Gears so that Web application providers have to ask permission from users to store data locally.

Google engineers have already started work on adding full-text searching to SQLite, Upson said.

Other companies have taken on the challenge of making Web applications run offline before but there still lacks a generic, widely used method.

Editorial standards