Wednesday, February 4, 2009

Gears from Google... Gateway to the Next Generation of WebApps





Google does it again!

Google has come up with yet another revolutionary technology... Gears. And they've gone and made it open and independent from Google, making it a community project. (Gears is in version 0.5 as of today)

So, what is Gears?
Gears is like an energy-drink for JavaScript. Its a plug-in for browsers which will add powerful modules to JavaScript. To start-off with, they've added three nice features... but remember, this is just the tip of the iceberg!
1. A way to enable offline mode for web applications like GMail and GoogleDocs
2. A way for webapps to do multi-threading
3. A way for web applications to easily get your current location from a maps server

(check the nuts-and-bolts section below for more details on this)
And all these features will work on PDA mobile phones as well (Windows Mobile, iPhone, Symbian, Android)!

How will Gears help?
Just compare GoogleDocs and a Windows application like Microsoft Word. Why is GoogleDocs a very simple tool compared to Word?
1. The HTML + JavaScript programming can't beat the power of VisualC++
2. GoogleDocs is online app and you are not always connected to net

What Gears is doing is adding modules to JavaScript to make it more powerful across all browsers... Firefox, IE, Safari, Opera, etc. Gears has added JavaScript support for local data storage on PC for webapps, multi-threading, location awareness, etc. So, GoogleDocs can become powerful and it can work just fine even when you're not connected to the net... and your recent files can be accessed from the PC itself(automatic sync).

What more can Gears offer in the future?

These are some features which might come up very soon on Gears:
-Media streaming (you wouldn't need a flash plugin to watch YouTube videos)
-2D graphics for WebApps(imagine full-fledged word processor like MS Word, inside Firefox!)
-
3D graphics for WebApps(imagine 3D games played live and online just from within a website)

Final Words
In the near future I think Gears will enable cloud-computing in a big way, turning the internet space upside down. To get a feel of things to come, check these out...
1. You won't need to install many software on your PC... they can use the cloud computing model like GoogleDocs.
2. Applications like GoogleDocs will become powerful like desktop applications.
3. Software piracy is not applicable to webapps because the program is inside the server... so, webapps will have almost no piracy problems. So, you will have to pay money for complex software. But, most software for personal use will be free, or atleast dirt-cheap.
4. JavaScript will become way more powerful than VBScript. That will spell the last death-note for IE. (currently some websites work only on IE because VBScript is powerful)
5. Flash will be demolished by Gears-based apps in a major way
6. Business applications like HRMS, CRM, ERP, Project Tracker, etc. will become more powerful and user-friendly web apps
7. rich user interface webapps, helped by Gears, on laptops and mobile phones, will allow these devices to exploit cloud computing to implement complex software like 3D modeling, crash simulations, financial modeling etc.

The internet is now getting ready to take a big step. Lets wait and see just how deep the rabbit hole goes.
--------------------------
(All comments are most welcome)



The Nuts-and-bolts
A little bit of explanation about the first three features in Gears:
1. A way to enable offline mode for web applications like GMail and GoogleDocs
So, a webapp can be made to work when there's no net connection, by storing the webpages and some necessary data.
For example, GMail can now be used when you're not connected to the internet. GMail will store copies of your recent mails on your PC and allow you to work offline. Any changes will be sync-ed when you go back online.
2. A way for webapps to do multi-threading
This would allow a web app to do several time-consuming calculations/server-calls in the background(using threads) while allowing the user-interface to be responsive.
3. A way for web applications to easily get your current location from map server
This would allow web apps to become location-aware. For example, suppose you use a website to manage your tasks. When you're in office, the website can show official tasks first in the list, by checking your street address! (figuring out your street address can be done by a location server from your lan IP or the GPRS tower connected to your laptop datacard)