TeXpressions

Archive for the ‘Google Gears’ Category

Google Gears – Bringing Web Desktop applications closer to reality

Posted by sambasiva on August 6, 2007

Google gears

This is the first in a series of posts that will cover the recent developments in the Web Desktop and Rich Internet Applications arena.  

For the last decade or so web based applications have deeply penetrated both the consumer and corporate domains. One of the chief advantages was zero client foot print and its corollary, the ease of continuous application enhancement without any tedious application re-installs by the user.

The tradeoff with this zero client footprint was the need to be continuously connected to the network/server to use the application. Google has now bridged the gap with ‘Google Gears’. 

For applications which use AJAX to provide the pseudo-desktop feel, Google Gears is the next logical step. Google Gears gives web applications a more desktop like feel by enabling applications to run in an ‘offline’ mode. 

Key components of Gears :

  • LocalServer:  Enables caching of resources like images, pdfs etc for offline browsing
  • Database: A full featured embedded SQLite database that the JavaScript on the page can interact with using DDL and DML.
  • WorkerPool:  Allows JavaScript on the page to create worker threads to asynchronously performs tasks including connecting to the server for business logic or data. The first of the two features above help a web application work in a partially connected environment by working with a client side data store and syncing it up with the server when connected. Google addresses the data security concerns by making the client side data store available only to page within the same domain, schema and port. The local server is an interesting and at the same time a puzzling concept as it delivers a functionality that the web browser already provides. 

Proof of concept

Google reader

The feed reader from Google, ‘Google Reader’ utilizes Gears to enable users to download and read feeds offline.

Limitations

While this opens up a whole slew of opportunities for the new generation of ‘webtop’ applications, it is important to recognize the limitations of Gears.   From a developer standpoint, Gears is a ‘Javascript based application development environment’ and so will carry the limitations of developing in Javascript. Also, in its current form, it does not have the sophisticated libraries of mature frameworks like .NET or J2EE and in reality may never achieve that since that does not seem to be the goal for this framework. 

In addition, application developers using Gears will have to deal with the typical challenges of writing a web desktop application:

  • Syncing of data between the client and the server
  • Actively keeping the user informed of the mode in which the application is operating (‘online’ Vs ‘offline’) 

Summary

In summary, this is a potential game changing offering from Google which by using the ubiquitous browser as the run time and a simple 200KB plugin opens up the desktop for Rich and intelligent internet applications.   

Google’s success will however depend on it getting ‘Gears’ out of the ‘Beta’ mode and getting developers to write engaging applications on it which in turn will drive the wider audience to install ‘Gears’ on their desktop. This is not a slam dunk for Google as none of its applications except Search have really taken off. 

Google will also be competing in this space with Adobe Apollo/AIR (even though both companies have agreed to work together on this) and the likes of Pramati ‘Dekoh’.  (These products will be covered in subsequent posts)

Resources:

  1. Google Gears API Developer’s Guide (Beta)
  2. ‘The Power of Google Gears’ - An ‘OnLamp’article by Jack Herrington  :  This article has code snippets on using the Google Gears embedded Database using AJAX

Posted in Google Gears, Rich Internet, Web Desktop | Leave a Comment »