Google Gears

4:40 pm in Programming, Technology by Gaz

In case you’ve been living under a rock for the last few days, Google Gears is creating a wave of excitement across the intertubes. It’s a new open source beta browser plugin for Firefox and IE (Safari and Opera to follow) that provides javascript APIs to allow disconnected use of web applications. Once a webapp has integrated with Gears, it will be able to store state on the browser host for offline working, and then quietly resynchronise in the background once the network connection comes back up later.

The first webapp to use it is Google Reader. Once you have Gears installed, Reader will gain a button that downloads a copy of the last couple of thousand articles to your disk, which will allow you to read, tag and share those articles without a net connection, and then resynchronise itself later, when the network is back, with another click. More details at Google’s Gears site.

So, first of all, I want to join in with the masses and proclaim that all of this is a Good Thing, and a welcome step towards reducing our dependency on an always-on internet connection. Traveling from hotel to hotel, and relying on a patchy connection can be frustrating, and if the webapps I rely on start to use Gears, it will certainly make life a little easier for me :-)

But, it’s not a complete solution. Google avoid talking about what happens if I’m using multiple computers. Synchronisation is a hard problem, and I’d be (pleasantly) surprised if things continue to work properly if I disconnect my laptop’s network and work offline with Reader for a while, then while I’m on the train to a meeting I use my mobile phone to read some other feeds… what happens when I reconnect my laptop? What happens if I have a work laptop and a home laptop, and use them both offline sometimes?

For me, having offline access to Google Calendar might be enough to make me switch from Apple’s iCal. iCal is not without its problems: unless I have my laptop with me to change or add appointments, events in my iPod are read-only, and changing or adding events with my phone is painful; .Mac iCal synchronisation always seems to come up with spurious conflicts; and the .Mac web view of my public calendars is read only. If there were a user friendly means of keeping my online, offline and phone calendars nicely synchronised, I’d buy it in a snap!

No doubt everyone is waiting for a Gears version of GMail, and although it will almost certainly arrive if Gears gains the traction it deserves, I still won’t be switching to GMail as my main mail hub. Before I will be comfortable with that, I want to be able to use PGP with my email: I routinely sign every email I send, and I’d like the option to encrypt sensitive business communications when everything is stored (apparently forever!) on Google’s server. There is still no direct IMAP access to GMail, but in order to use PGP with my Google mail, I need to use an external mail client. And Google only let me do that through the venerable POP protocol, so I effectively need to mirror all the email stored at Google to a central IMAP server and jump through some other hoops to sychronise sent mail — and that means that the GMail webapp won’t reflect what’s going on at my IMAP mirrored google mail archive.

However (and this is the good part), the implementation of Gears shows how a javascript API can be produced to interact with client side software; I’ll bet that it isn’t too long before someone else comes up with a PGP GMail plugin to handle email signatures and encryption. In combination with a Gears based GMail and GCal, and some means to make a backup of everything stored there, Google will certainly replace Apple Mail and iCal in my workflow.

We live in interesting times!

Related Articles

  1. GPG Encryption & Signatures for GMail and Apple Mail