Gears and Standards

Gears is about more than just offline web applications. For example, we recently added desktop shortcut functionality, and we're working on resumable uploads, a geolocation API, and lots more fun things for the future.

We've received some questions recently about how all this relates to web standards, such as HTML5 and those proposed by the W3C. It seems like some people are afraid Gears will try to compete with the web.

Let us put those fears to rest right now: on the Gears team we loves us some web standards. Some of us were web developers stuck in the crossfire of the browser wars, and we deeply understand standards have played a key role in the productivity and creativity of the web over the past 10 years.

We have no desire to create a parallel platform and compete with the web. Anyway, that would be crazy. The web is an unstoppable force of nature. Competing with it would be like entering a shouting match with the wind: you can't win, and you look pretty silly trying.

Instead, Gears aims to bring emerging web standards to as many devices as possible, as quickly as possible.

Some History

The Gears project started because a group of developers at Google were frustrated by the slow march of web browsers. Competition and standards were producing fantastic results, but it took a long time to get implementations on every browser. In some cases, we still don't have compatible implementations, years after the standards were finalized. Our first project was to implement APIs that would make offline web applications possible.

Currently, the Gears Database and LocalServer modules are not fully compatible with the HTML5 proposals for the same functionality. This is only because those specs were written after Gears was released, and not because of any desire to be different. In fact, we were involved in the design of both HTML5 specs, and we are currently implementing the proposal for database access.

Going Forward

In many ways, Gears is like a browser without any UI. And just like other browsers, Gears will implement existing standards and rally for changes and additions where they seem needed. For example, we recently proposed our geolocation API work to the W3C WebAPI group.

There are three important differences between Gears and other browsers, however:
  1. Improvements to Gears can be used by developers immediately. Gears is available today on Firefox (for Windows, OS X, and Linux), IE, and IE Mobile. Implementations for more browsers and platforms are in progress. Developers no longer have to wait for every browser to implement new web standards before they can use them, they only have to wait for them to be available on Gears.

  2. Most browser vendors have two groups of customers: users and developers. User-facing features typically get more attention than developer-facing APIs, for a variety of reasons. But with Gears, developers are the only customers. We can focus completely on creating the best possible platform for web development.

  3. Gears is an implementation of web standards that lives inside another browser. For example, the HTML5 Database API might be available to developers through both the google.gears object and the traditional window object. This is OK, and in some ways a good thing. Developers will be able to mix and match the pieces of Gears and native browser implementations that work best.

The Pitch

By implementing emerging web standards, Gears is influencing what the web of tomorrow will look and act like. And since Gears is an open source project, anyone can contribute.

Get involved. You don't have to be able to code in C++. All that's needed is some free time and the desire to push the web forward.

What's new with Google Gears? A Tech Talk

Brad Neuberg and Ben Lisbakken of the Gears team gave a brown bag talk on some of the new and interesting features in Gears.

They show a lot of examples and tools such as:
  • PubTools: Brad developed this set of tools to enable offline caching of content in minutes. This is perfect if you have a set of content that you want to make available offline.

  • Google Gears for Mobile: Just yesterday we launched our first Google mobile application using Gears, with Picasa

  • Cross Domain Web Services: A good example using Flickr search

  • Dojo Storage has just had a new release so it plays in the new Dojo 1.x land, and has a Gears storage engine

  • blog.gears: Pamela Fox did a great job with this GData/Gears blogging application

  • Gears + Greasemonkey = GearsMonkey

It is fun to hear some of the fellow Googlers probe with their own questions!

Brad and Ben will both be at Google I/O, May 28-29, 2008, in San Francisco. We are keen to hear your thoughts on Gears and the Open Web.

This is not an April Fool's joke!

As of yesterday, it is possible to use Google Docs offline. We've all been working on this for a while now, and I think sometimes we take it for granted. A web-based word processor you can use without an internet connection?! Who'd'a thunk it?

Gigantic congrats to the Docs team, from all of us working on Gears. We especially love how simple you have made the setup and synchronization process.

Sometime soon, we'll have to get one of the Docs engineers to write a blog post about some of the challenges they faced bringing this together. There are some really interesting stories and lessons in there that would be useful to anyone aiming to offline-enable their web application.

To see offline Docs in action, check out the video below.