May 30

Artur Bergman

Artur Bergman

Google releases open source toolkit for offline web apps.

Google joins the group of companies trying solve the offline web application problem with Google Gears. Released as an developer oriented open source technology, under a BSD license, as a new browser extension. It provides 3 significant components to the browser ecosystem. A multithreaded javascript environment, which provides a restricted background taks JavaScript environment for accessing remote data source without blocking the main UI. Adding support for local data storage is a new set of javascript APIs. The storage support transactional data based on SQLite. The last part is local application caching wich hosts data locally and pulls down updated data . So the other The plugin and SDK is released under a BSD license. The first Google app released as a Gears enabled example is Google Reader with offline capabilities. The Google Web Toolkit will add support for Gears to facilitate the easy of adding offline support to Google Web Toolkits.

These components are available in Internet Explorer, Firefox, Safari and Opera on Windows, Mac and Linux. In an effort to provide this as an industry standard, Google is co-operating with Adobe. The promise is that the Gears API will be available in Adobes new Apollo platform. Opera is interested bringing the technology to the handheld.

This adds to the trend started by the Dojo Offline Toolkit to support offline apps by a small browser add-on reported on by Brady a month ago. Hopefully the Dojo API and the Gear API will converge to avoid developer frustration, and increase the total developer ecosystem.

I find this development very interesting. The demand for offline rich applications is still strong, but you want to combine it with access to the grid environment that the Internet provides. On a recent trip to New Zealand I discovered the pain of 300-500 ms lag for the web apps I use. Ability to do more stuff locally would have been a much beneficial ability.

David Heinemeier Hansson blogged a while ago in You're not on a plane that apps only need to live online and that the offline idea that you only need on an airplane is irrelevant. I disagree with his idea that the net is ubiquitous. Perhaps in a distant future the net will be available everywhere, all the time. Even when that happens, we still have the problem of speed-of-light latency, like the 200 ms the roundtrip to New Zealand from Europe. In the meantime we need to be able to provide ability to use the combination of hosted platforms and local apps.

The one missing part of the Google announcement is how we actually sync multiple different local sources to remote data sources. They have chosen not to tackle this area due to the highly application specific domain. Is this perhaps a new field for the disconnected distributed version control technologies?

Previous  |  Next

0 TrackBacks

TrackBack URL for this entry:

Comments: 13

  Kyle Brady [05.30.07 04:52 PM]

As an interesting side note, Google is well known to be in talks with Firefox for offline-app usage. Could Google Gears be the first release of this system, with a more developed version to be implemented in the upcoming version(s) of Firefox?

I would venture to guess that Google wouldn't devote resources to building something that will be obsolete once their partnership with Mozilla comes through in the coming months...

  Dion Almaer [05.30.07 05:15 PM]

Brad and Dojo are totally behind this. In fact, we are partnering with them on the endeavor.

Brad has ported Dojo Offline to use Gears as the runtime piece.

I was really excited to see this happen. You can hear Brad talk about it at


Dion Almaer

Google Developer Programs

  Anonymous [05.30.07 05:21 PM]

"echo system"?

  Michael R. Bernstein [05.30.07 10:28 PM]

"Perhaps in a distant future the net will be available everywhere, all the time."

I doubt it.

Oh, I'm sure that there will come a time when there is *a* network connection available anywhere that has two or more devices, but this will be accomplished with ad-hoc occasionally-connected mesh networks and high-latency (hours or days) synchronization.

The idea that an always-on broadband connection to any arbitrary server will be ubiquitously available is a fantasy, or at least, by the time it becomes reality, current 'broadband' connections will be considered a puny trickle compared to what real users and applications need.

  Artur Bergman [05.31.07 12:17 AM]


Dion, I found out about this, but instead of updating my post i decided to wait to the session at developer day tomorrow, but thanks for the link.

Michael, I was being completely ironic with that statement and I agree that the net will not be ubiquitous in the near future, if ever.

  Donald Carr [05.31.07 07:40 AM]

There is a wealth of existing research on the off-line problem. You can start here:

  Donald Carr [05.31.07 07:41 AM]

There is a wealth of existing research on the off-line problem. You can start here:

  Neil Blecherman [05.31.07 09:56 AM]

I walked the floor of the recent Web2.0 conference in San Francisco asking vendors about their online-offline model. Only Adobe with Apollo seemed to have an appreciation of the problem and a customer-ready solution. I agree, Artur, it's not about being on a plane. It's about existing application usage models.

  Andrew Grey [05.31.07 04:25 PM]


I believe Morfik demoed online-offline with GMail to Google at the 2005 Web 2.0 Conference. You can still see the example at

  Jonathan Boutelle [06.01.07 12:40 PM]

The idea that web-based apps are fast enough is a bit naive.

It's not at all about being on a plane: it's about the fact that you can't make an app very performant if all your data is on a server 2000 miles away. Even DHH's own application (basecamp) is frustratingly difficult to use over a slow network connection. More complex applications like email clients are even worse (try using gmail in India for a reality check).

This is a very promising development. Google is seriously good at doing the heavy lifting/rocket science stuff, and it's awesome that they've decided to share rather than just using this stuff as "secret sauce" for their own apps. Can't wait to take it for a spin!

  John Mudd [06.02.07 03:27 AM]

performant? Did you mean "fast"?

  Fai [06.03.07 07:38 PM]

"Perhaps in a distant future the net will be available everywhere, all the time."

As long as we can tell the difference between Online and Offline, then the net is not available everywhere and everytime. I think it will still be a long wait until we can have computers that when we use them, we can't tell if we are online or offline, and everything is just transparent. It will be so one day, but at least not so soon.

  Martin [07.25.07 11:00 AM]

I'm really wondering what google could have in mind with the gears approach. Offline applications are nice,ok. Looking at the setup that is established on the gears powered pc with - a localserver, a localdatabase and a worker pool - these are the ingredients a real webserver has. The real difference being that the localserver cannot be accessed from the outside world. With small changes the localserver could probably be accessible from outside so each user could thus act as a server. Isn't that name "gears" quite too suggestive for the image of each users pc being the "gears" in googles big gearbox? Yes, I'm going too far probably.

Post A Comment:

 (please be patient, comments may take awhile to post)

Type the characters you see in the picture above.