Google Gears – Maybe all Rich Internet Applications needed was Local Storage and an Offline Mode

Table of Contents
Web applications bring your data online and make it available anywhere there’s an Internet connection. But what happens when you’re on a plane or when you can’t find a WiFi hotspot?
Google launched an open source browser extension for IE and Firefox called Google Gears that enables web applications to be available offline.
Gears is an incremental improvement to the web as it is today. It adds just enough AJAX to make current web applications work offline. Gears today covers what we think is the minimal set of primitives required for offline apps. It is still a bit rough and in need of polish, but we are releasing it early because we think the best way to make Gears really useful is to evolve it into an open standard. We are releasing Gears as an open source project and we are working with Adobe, Mozilla and Opera and other industry partners to make sure that Gears is the right solution for everyone was the essence of Google’s release.
Stunning move by Google today in the Rich Internet Application space. While most of us (myself included) are off debating Flash vs. Silverlight vs. Apollo vs. Whatever, Google introduces Google Gears…at technology all of the above (or none of the above) can utilize…
This is a huge move and is quite brilliant. In one seemingly innocuous move (and one tiny 700k (yes, 700K) download) Google is well positioned to get Google Docs, including Writely, Spreadsheet and Presentation, along with who knows what else, enabled for offline use.Here’s a snippet of Javascript that is used to detect if Google Gears in installed. Note the three (currently) different ways, one each for Firefox, IE and Safari.
<script src=”gears_init.js“></script>
<script>
if (!window.google || !google.gears) {
location.href = “http://gears.google.com/?action=install&message=<your welcome message>” +
“&return=<your website url>”;
}
</script>
To the below is a dialog box that pops up to let you know that Google Gears is going to store data locally. Gears uses SQLite to store information, and you use SQL from your JavaScript to CRUD (Create, Read, Update, Delete) your data. I wonder how would would store data securely?
If you like, you can explore the databases that are created using SQLite Database Browser. This starts to explain why SQLite was a 2005 Google Open Source Award Winner. 😉
The local storage shows up when running Internet Explorer on Windows under:
C:UsersScottAppDataLocalLow
GoogleGoogle Gears for Internet Explorer
www.yourdomain.comhttp_80
Within Firefox, the local storage databases go in:
…Application DataMozillaFirefoxProfiles
<profile>Google Gears for Firefox
So it seems I can’t go to a Gears-enabled site in IE and later in Firefox and share data. Each browser gets it’s own data storage. That means num of browsers * num of gears enabled uris = num of SQLite databases. For folks who run more than one browser, this makes the whole local storage thing a tricky issue, but I can understand why they’d segment databases by browser. I disagree, but I see their point of view.
Gears also includes a thread pool “tiny process pool” like construct that lets you perform CPU-intensive things without triggering the “Stop unresponsive script” dialog box, but you can’t touch the DOM. Again, very cool and very intelligent tradeoffs.
Things are looking up, methinks. It’d be nice if Gears-like (Gearsesque?) functionality could get built into next-gen browsers the way that XmlHttpRequest did. Seems like only yesterday I was deep in the middle of the Great Cookie Scare of 1995, explaining to client what Cookies were…NO, they can’t write out a megabyte sized cookie, no cookies aren’t programs…glad that’s over. If we’ve going to build some rich stuff, let’s stop with the IsolatedStorage already and get the browser to solve this problem. Kudos for Google and let’s pray there’s no offline ads…
For more information on Google Gears………