In an era where everybody has to offer something shiny for the development of the next generation rich internet (or rather networked) applications Google has released the beta version of Google Gears, their open source browser extension that enables web applications to provide offline functionality using JavaScript.
At first their product seems to have similar target audience with Java Web Start, that as we know never really took off. It is also interesting that Google’s proposal for offline apps is based on the traditional web development paradigm with:
- A local server that allows a web application to cache and serve its HTTP resources locally, without a network connection and
- A relational DB based on the open source SQLite that provides browser-local relational data storage to a JavaScript web application.
- The API also provides a module called WorkerPool that provides mechanism for running intensive operations on the background without making the UI slow.
You can either install Google Gear beta and check out the samples or visit this blog that features a nice set of screen shots.
Delving into the 3 separate sub-APIs (1, 2, 3) my overall impression is that Google Gears seems like a wining product. Actually I have no doubt that we’ll see several implementations. What I cannot predict is whether Google will choose to develop a Gear’s version of GMail that will shift the balance in the Email client market, inevitably hurting Mozilla’s Thunderbird.
And not only to Thunderbird, but probably to a lot of free software as well – but they have it coming at them. Most parade open source projects are still built with C++ which, despite impressive advances in static compiler techniques incurs slow and error prone development, long release cycles and a fading number of potential contributors. Thus it’s little surprising that developers exploit to the limits configuration and scripting interfaces to such applications, Firefox’ addons are a nice example.
Google Gears is a step into the same direction: breaking the cage from within by giving web applications access to resources they normally cannot employ, mostly due to security considerations. A nice feature in Firefox (which exists in other browsers as different implementations and under different names) is the DOM storage mechanism, which provides a web application with large quantities of persistent, client side storage. Alas, it comes several years too late, is not cross-browser compatible and suffers from similar restrictions as imposed by the Same Origin Policy.
Speaking of which, that’s the most annoying thing I would like Gears to do away with as it very effectively prohibits legitimate content aggregation.
George I feel you have a point both for the issues of C++ in open source projects and the storage functionality.
Also after discussing the original post with a colleague, I have the feeling that GG will probably be used a lot in traditional data driven off-line (or mostly off-line) applications.
Imagine that you need a desktop application with a simple UI: would you choose to code it in VB or deploy it as a GG app along with FF and the plugin?
GG will probably close the traditional gap between web apps and desktop apps for many use cases 🙂
“We have always known that the holy grail of Ajax is local storage. A great deal of work has been done with Dojo and Firefox to provide local storage and now Google has put it’s weight behind it. Now is the time to take local storage seriously.”
http://weblogs.java.net/blog/gmurray71/archive/2007/06/jmaki_extension_1.html
If you like Google Gears, you will also like JNEXT (http://jnext.org. The site explains it best so I recommend taking a look.