A Fresh Look At Google Gears
Saturday, October 4, 2008; 1:44 AM
There's a common misconception that Google's "next-gen" web platform called Gears only (or even primarily) enables offline capabilities for web applications. The truth of the matter is that Google's ambitions are far greater, and the browser extension's capabilities are more multifarious, than this reputation suggests. MySpace's implementation of Gears, which has little to do with offline functionality, is a perfect example.
Gears has been available for over a year now, with the first version released not too far back in May 2007. You can see the whole version history here, but essentially Gears has undergone four releases, each adding incrementally to its capabilities. The last was released this past August, with another released a couple months earlier in June.
The overall goal of Gears is to bestow upon web applications much of the same functionality enjoyed by desktop apps. And it's doing so through a browser extension that can be installed for a range of browsers (Firefox, Safari, and Internet Explorer) on a range of operating systems (Windows, Windows Mobile, Mac OS, and Linux). With the release of Google's own Chrome browser, some users don't even have to install Gears; it just comes pre-loaded, making Chrome a super browser of sorts from the get-go.
The long-term consequence of this technology is clear: as browsers become more and more powerful with the assistance of initiatives like Gears, there become fewer and fewer reasons to install and run desktop applications (and therefore splurge on Windows and Office, to name two Microsoft cash cows oft identified as dying breeds).
But before that can happen, Gears and similar technologies need to truly enable desktop-like functionality within the browser (or more accurately, they need to enable desktop-like functionality for web applications that traditionally operate only within the browser).
So where do we stand today? Currently Gears can be used by developers to improve web applications in the following ways (on both desktop and mobile devices):
The Gears team at Google rolls out capabilities based on the perceived demand for them. The following features have been alluded and may show up in upcoming releases:
Progress bars- Whether you're uploading one large file or several small ones, you probably want to know how things are going. Traditionally there's no way to tell where you stand as you look impatiently at the spin of your cursor's hour glass. But with Gears, you'll be able to see a real progress bar telling you how much of the data has reached the server already. File resumption- When large file uploads fail these days due to connection interruptions, you have to start from square one and reupload everything again. Gears promises the ability to resume uploads so you can start where you left off. On-screen notifications- Users of Growl and microblogging desktop clients like Twhirl are accustomed to on-screen notifications that appear in the corner of their screens when anything new happens. Future versions of Gears will allow any website to trigger such notifications, whether or not they are currently running in the browser (perhaps allowing us to kill off the email notifications that many web apps abuse to spur return visits).
In the long run, we might see support for complex 3D graphics that take full advantage of your computer's graphics card. Upload functionality could get integrated into the menus that pop up when you right click on files. And web apps could get loaded at startup or triggered in any number of other ways throughout your computer's operating system (and its native desktop applications).
If you have extra time this weekend, the following presentation by Google's Chris Prince, given at this past May's Google I/O developer conference, is an informative visual and oral walk through of Gears:
Nik Cubrilovic's next generation web posts are also helpful for understanding the platform war that has emerged (Google is not the only major tech company making strides to enhance the capabilities of web apps).