Is Google Gears Positioned to Add Features to the Web?
Google Gears was released one year ago and at this occasion, Google announced that it will be dropping the company name from Gears. This is a good time to look back at its accomplishments and understand where it is heading.
Dare Obasanjo recalls:
it was praised as the final nail in the coffin for desktop applications as it now made it possible to take Web applications offline.
On of the first users of this technology was Zoho which enabled their office suite to operate offline. However, Dare argues that:
in the past year ... there hasn't been as much progress or enthusiasm in taking applications offline ...
Sarah Perez argues along the same line.
In today's world, you're never too far from an internet connection...Besides, going offline isn't easy - which is why you don't see many other web 2.0 developers taking their web-based startup to the desktop world...[and] offline apps aren't nearly as good as their online selves.
Dare is not surprised that:
many proponents of Google Gears including technology evangelists at Google have been gradually switching to pushing Gears as a way to route around browsers and add features to the Web [just like Flash did in its time].
and quotes Dion Almaer, technical evangelist at Google:
I do not see HTML 5 as competition for Gears at all. There is a lot in common between Gears and HTML 5. Both are moving the Web forward, something that we really need to accelerate. Both have APIs to make the Web do new tricks. However HTML 5 is a specification, and Gears is an implementation.
Josh Catone notes:
The Gears project was started internally because developers at Google were fed up with how slow browsers adopt new and exciting web standards. Browsers are generally hesitant to implement new technologies, and Google looked at Gears as a way to get access to those standards without having to wait for the browser world to catch up.
The theme of adding features to the Web was echoed by Alex Russell from the Dojo project:
Every webdev should be building Gear-specific features into their app today, not because Gears is the only way to get something in an app, but because in lieu of a real roadmap from Microsoft, Gears is our best chance at getting great things into the fabric of the web faster.
or by Matt Mullenweg from WordPress who comments:
As the Gears community fills in the gaps in the Web development model and begins to bring you HTML5 functionality I expect to see less “Go Offline” and more “Speed Up!” and other such phrases.
Aaron Boodman, a Gears Engineer, confirms:
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:
- 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.
- Gears, developers are the only customers. We can focus completely on creating the best possible platform for web development.
- Gears is an implementation of web standards that lives inside another browser.
Linus Upson, Director of Engineering at Google adds:
[I] hope that Gears will actually help speed the adoption of web standards
With that in mind, Dare argues that:
[Google is] working on the next Flash...[and] we all know that has Flash has gone above and beyond the [X]HTML standards bodies to extend the Web... And just like social networks and content sharing sites were a big part in making Flash an integral part of the Web experience for a majority of Web users, ... I expect we'll soon see Google leverage the popularity of YouTube as another vector to spread Google Gears.
Josh Catone seems to corroborate Dare's supposition:
MySpace is the largest Gear user outside of Google itself.
Some readers comment commented:
Are there plans to ship IE/Firefox/Safari/Opera with Gears embedded?
I highly doubt IE would ship with it. And I believe the other browser vendors are cooperating on things like HTML5 to make Gears obsolete for them.
Bill de Hora went as far as predicting:
if Gears (or something like it) becomes ubiquitous (and it will), then eventually XMPP becomes a protocol option alongside HTTP, allowing data to be pushed down into the client.
There is no doubt that Rich Internet Applications remain a major battleground for the industry along with and complementary to Ad-based revenue models and cloud-computing. Will Gears take a similar path as Flash and become as much adopted by Web sites and end-users ? How will the browsers balance cooperation and differentiation to compete against a technology that aims at relegating them to a marginal role? Will developers prefer standards over proprietary APIs? The battle is still to be fought and all bets are off. What's your take on it?
Desktop apps here until consolidation in RIAsoccurs...
What I think we need to do as the practitioner community is to start thinking about real standards for development using these technologies. I really don't want to be telling my users that they need a 100mb swf download before starting to look at a site. Things should come down in pieces, but also not need to be re-requested after you already have them (at least for code units).
As it should be possible to see a REAL seperation of content, presentation and code in RIA, then we should actually see BETTER performance for lower bandwidth for nongraphics related sites. Because you're not request all of the markup as you browse through a catalog, just the data, you're moving fewer bits back and forth. That's my theory, I'm sticking to it.
BTW, I've been working on an "occasionally connected" app of quite large size for the last 18 mos. The experience of the last 18 months looking at a number of vendor products is that I'm skeptical of any silver bullet claims of simple synchronization of data between client and server and then to other users.
Will Gears add features to the Web
You asked a lot of questions at the end of your story so I thought I would provide my own perspective. Please keep in mind that I work for Curl, Inc. which is a RIA technology that competes with Google Gears in some ways.
Will Gears take a similar path as Flash and become as much adopted by Web sites and end-users ?
It might do that and of course only time will tell. The truth is that Gears has a lot of competition and its hardly a slam dunk that they will beat out Silverlight, Prism, Flash or any of the hundreds of Ajax frameworks. Curl (the company I work for and the platform I work with) doesn't really compete in the same space as Gears - we are focused on the enterprise not mass consumer applications.
How will the browsers balance cooperation and differentiation to compete against a technology that aims at relegating them to a marginal role?
Will developers prefer standards over proprietary APIs?
I think in theory developers do prefer standards over proprietary technologies but in practice they tend to favor proprietary technologies. The reason is simple, standards are implemented by many vendors which means options, yes, but it also means inconsistent implementations. A standard is a sure way (today anyway) to guarantee inconsistent behavior across operating systems and browsers. Examples abound: Flash, Silverlight, and Curl all use proprietary runtime environments and these will be the most successful RIA solutions. Ajax is sliding quickly down into the "trough of dissolutionment" because it has failed to provide consistent behavior and high performance. Not to mention the number of Ajax frameworks to choose from is dizzying and Ajax itself has non-trivial learning curve.
The battle is still to be fought and all bets are off.
Curl (my platform) has pretty much established dominance in the enterprise but the mass consumer market (outside the firewall) is still wide open. We don't play there but there sure are a lot of others that do. Adobe Flash/Flex is the platform to beat in mass consumer markets.
What's your take on it?
I think the love affair with Ajax is over. Google Gears is based on Ajax technologies, so it utility is actually pretty limited. Great for some things, probably lousy for many others.
VP of Developer Relations
Re: Will Gears add features to the Web
I don't agree Ajax is sliding down any more so than Java on the client. On the contrary with the Reverse Ajax programming model and Comet capable servers, there is a breakout waiting to happen in the consumer space. The key here is zero configuration for the client side apps.
What I do miss is integration for Google Gears with a GUI toolkit and development environment. I would love to program in an environment like Aptana with Gears.