We’ve heard for years that web-based applications accessed through a web browser (think the Writely word processor and GMail mail service) are soon going to replace applications installed on your PC (think Microsoft Word and Outlook). These thin-client applications hold the promise of allowing us to run complex applications on any operating system using any browser without having to install any bloated software.
Well, that’s the theory, at least. In reality things are a little more complicated. Many of these online applications require specialized plug-ins which means that they’ll only work on specific browsers running on specific operating systems. And, although these online applications are becoming more robust, they still have nowhere near the same feature sets that their thick-client cousins have. Still, though, those problems aren’t insurmountable. The plug-in problem is being addressed as more and more applications incorporate AJAX, and most of us use only the basic features of those applications, anyway.
Perhaps the biggest hurdle with using online applications is that, by definition, they’re only available when you’re online. Want to do some work during your 3-hour flight to Cleveland? You’re not online when you’re flying so you have to use the applications installed on your laptop instead of their web-based equivalents.
But what if there was a technology that would let you use your web-based applications when you weren’t connected to the web? There is, and it’s called Google Gears. Let’s take a look at what it is, what it isn’t, how it works, and what it can do.
What it is
Google Gears is a combination of technologies that allows an online application to download itself onto a user’s PC. Once that’s done the user can disconnect from the network but still continue to use the application. When the user connects to the internet again he can upload the changes he’s made and continue to use the application, just as if he had never been disconnected. Sound too good to be true?
What it isn’t
Google Gears is not a magic solution that will allow all online applications to be available to a user when the internet isn’t available. There are a number of reasons for this.
First of all, not every online application lends itself to being available when the user is offline. Let’s take Google’s search engine, for example. Let’s say, hypothetically, that the boys at Google were somehow able to downloaded their entire database onto your PC (ugh) and allowed you to use their engine when you were offline. It still wouldn’t really do you any good, would it? You’d be able to search but you wouldn’t be able to go to any of the sites you found in your results because you wouldn’t be online. Not every online application is a good candidate for offline use.
Also, online applications can’t automatically use Google Gears without the developers of the application doing some major work. Deciding what data is to be downloaded to the user’s PC when going offline and how to synchronize any changes to the data when the user goes back online is no trivial task. The overwhelming majority of online applications will continue to be just that — online applications.
How it works
When a user running a Google Gears-enabled website tells the application that he wants to go offline the application first checks to see if the Google Gears “helper” application is installed on the user’s PC. If it isn’t the site first offers to install the Google Gears application, which consists of a small database (the open-source SQLite database), a bunch of APIs that developers can use to manipulate the data that gets stored in that database, and a small server component that provides the mechanism to allow it all to happen.
Once the online application sees that Google Gears is installed it will download whatever data it needs to run on the user’s PC. As the user runs the application the Google Gears APIs are used to access the data stored in the database. When the user is back online and tells the app to synchronize the data a set of APIs are invoked which upload the data back to the online service.
What it can do
Google has added the Google Gears functionality to their Google Reader application (see my review here). Google Reader is an online RSS aggregator that constantly polls the RSS feeds you’ve told it to monitor and displays the results (or short excerpts of the results) for you to scroll through. Now that it’s Google Gears-enabled you can read through those RSS feeds without being connected to the internet. Remember that 3-hour flight to Cleveland where you couldn’t use any of your online applications? Now you can at least use Google Reader.
Clicking the “Offline” link within Google Reader sets Google Gears in motion and your next 2,000 RSS feed posts will be downloaded to the Google Gears database on your local PC. As you read through the posts Google Reader updates the data in the local database to reflect the fact that you’ve read through and/or tagged those posts.
When you’ve connected to the internet again you just click on the “Online” link and the local database is synchronized with Google Reader’s online database. From that point on your Google Reader application is running through Google’s servers, just like it always had before, but now you can also see the changes you’d made while you were offline. Neat, huh?
The future of online applications?
The Google Gears technology is quite compelling but that doesn’t mean that it’s time to think about scrapping all of your thick-client applications quite yet. The Google Reader application that Google chose for their showcase is a very simple application — posts are downloaded, the user can tag them with different tags, and the application keeps track of which posts the user has viewed. I’m sure that it’s no coincidence that Reader is Google’s first (and, as of this writing, only) application to receive the Google Gears treatment. It may be a relatively simple application but it’s exactly the type of application that works in this online/offline model, and the ability to browse posts while not online is the type of thing that will appeal to a lot of people.
Google Gears is not a solution that will work for every, or even many, online applications, but for those types of applications that lend themselves to the model that Google Gears implements it offers a whole new way of thinking about “online” applications. The biggest complaints about Google’s online word processor and spreadsheet applications centered around the need to be online while using them. If they’re the next applications in line to get the Google Gear treatment things are going to get much more interesting in the Microsoft Office-dominated productivity tools arena.
Gearing up for the future
Google Gears, like most Google products, is still in “beta”, although Google says that it should be thought of more as a developer’s preview than an actual beta. At the moment you won’t find many (if any) sites capable of using Google Gears other than Google Reader and a few sample applications that Google has released. I suspect that will change quickly, however, now that the Google Gears APIs have been released to the public.
Google Gears seems to be a well-thought-out solution to a very real problem which is growing as more and more users take advantage of more and more capable online applications. The ability to continue to use those applications while disconnected from the internet is, to say the least, intriguing. And the cost? Google is releasing Google Gears for free under a type of BSD license.
This could get very interesting.
Click Here to Help Spread The Word And Share This Post With Others!
2 responses so far ↓
1 Mark Mathson // Aug 1, 2007 at 5:08 pm
Good overview and thoughts
2 music // Jan 8, 2008 at 11:18 am
very interesting.
i’m adding in RSS Reader
Leave a Comment