Sunday, December 13, 2009

Offline Gmail

Adding offline support for Google services turned out to be a difficult task: even if Gears-enabled versions of Google Calendar and Gmail have been tested for more than a year, offline Gmail will be available starting from today in Gmail Labs.

What's the point of creating an offline version of Gmail when you can use mail clients like Mozilla Thunderbird or Outlook? You don't need to install additional software other than Google Gears and you can continue to use Gmail's familiar interface.

Gmail's blog explains how this feature works and which Gmail features are available offline:

"Once you turn on this feature, Gmail uses Gears to download a local cache of your mail. As long as you're connected to the network, that cache is synchronized with Gmail's servers. When you lose your connection, Gmail automatically switches to offline mode, and uses the data stored on your computer's hard drive instead of the information sent across the network. You can read messages, star and label them, and do all of the things you're used to doing while reading your webmail online. Any messages you send while offline will be placed in your outbox and automatically sent the next time Gmail detects a connection."

"And if you're on an unreliable or slow connection (like when you're "borrowing" your neighbor's wireless), you can choose to use "flaky connection mode," which is somewhere in between: it uses the local cache as if you were disconnected, but still synchronizes your mail with the server in the background."

Since this is still an experimental feature, Google chose to come up with an algorithm that decides which messages are cached locally and you can't set how many messages are downloaded.

We try to download your most recent conversations along with any conversations that seem to be important (regardless of their age). We also try not to download uninteresting conversations. This process is done heuristically and as with any heuristic can and will miss things. We'll continue to tune things up, but more importantly, we'll eventually provide a UI that will allow you to change the settings. Here's a sketch of how these messages are selected:

* Synchronization is based on the date of conversations. The system estimates a period of time to cover (at least 1 week in length) that results in approximately 10,000 messages being downloaded. For an average user, this means Gmail will end up downloading several years of mail.

* Additionally, we'll download any conversation marked with a label that contains less than 200 conversations, has at least one conversation that has been received in the last 30 days and also has at least one conversation that's outside the estimated time period. For many users, this list of labels will include Starred and Drafts.

* Finally, the system determines a list of labels to exclude conversations from being downloaded. For example, Trash and Spam are always in this list, along with any label that contains mostly unread conversations (unread count greater than 99%). So, we won't download a conversation if it contains only labels in this list. A typical Trashed message will not be downloaded, but a Trashed message that contains the label "alpha" will.

Among the most significant limitations of the offline versions: you can't add attachments to your messages, the contact manager is not accessible, the search results are limited to the local cache.

How to get this feature?

Offline Gmail will be slowly rolled out this week to the English interface of Gmail. Here's how to enable the feature:
  1. Change the language of your Gmail interface to English
  2. Make sure you use a browser supported by Gmail Labs and Gears: Internet Explorer 7.0+, Firefox 2.0+, Safari 3.0+, and Google Chrome. You can't use Gmail Labs in Internet Explorer 6.
  3. Wait until this feature is added to your account. When you see "Offline Gmail" in Gmail Labs, enable the feature, save the changes and click on the "Offline" link that will be displayed next to your username.