Communikitchen Web Communication Design

Gmail's big belly and how to use it to your advantage (part 2)

Another reason to like Mail.app is its unified inbox. Long-time POP users will not see what the big deal is, since POP e-mail accounts are by definition stored in a unified inbox. This happens easily, since POP messages lose all links to their home server once they are downloaded. Users of clients other than Apple Mail who switch from POP to IMAP are usually annoyed at the fact that each IMAP account shows up as a separate folder structure, along with an extra local structure (which an IMAP-only user never actually needs).

More on the Mail.app/Gmail relationship in the previous installment

What makes IMAP at home in Mail.app is that no matter how many accounts one has (whether IMAP or POP) there will be only one instance of each main mailbox (inbox, sent, drafts, junk, trash). The account separation is still in place, since the messages in each of these mailboxes are further categorized by account.

To make is simple: while regular e-mail clients give priority to accounts, Mail.app gives priority to functionality. The separation is still in place, although the presentation works on a different dimension. Anyone who uses more than one e-mail account can only benefit from this feature.

Back to Gmail

With two Gmail accounts and one MobileMe account, my ~/Library/Mail folder (the place where Mac OS X stores all Mail.app data) had swollen up to more than 950 MB. This is more than what is actually stored in my accounts combined, because of how different Gmail’s rendition of IMAP is from what Mail.app expects.

Gmail uses All Mail as its core mailbox and simply creates pointers to these messages when they are in other folders. Here’s where Gmail’s use of the term ‘label’ makes sense: one can give a message more than one label, while in the usual file-cabinet-based metaphor one can put a message only in one folder. To make it work on clients, Gmail makes sure that every label can be understood as a folder. Thus, Mail.app (and its colleagues) creates a separate copy of each message in each of the folders it appears in.

Since, as I noted in the previous installment, Gmail recognizes duplicates, moving mail from Inbox to All Mail (within Mail.app) solves part of the problem, but this still exists for sent messages, which are stored both in Sent Mail and in All Mail.

Getting rid of Sent Mail

One solution to the bloating of Sent Mail is to have Mail.app delete sent messages after a period of time. Mail.app’s preferences (in the account’s “Mailbox Behaviors” section) can be set to delete sent mail when it’s one-day, one-week or one-month old, or to delete it when quitting the application. Gmail users worry not, as this option removes messages from Sent Mail, but not from All Mail, thanks to big-bellied Gmail’s fondness for keeping stuff. (On the other hand, actively deleting messages from the Sent folder actually trashes them. A subtle functional difference is in place here, so beware.)

Since no one really needs to be constantly in touch with sent messages that are more than one-month old (even I reached this enlightened conclusion), I’d say this is ideal. Nonetheless, All Mail is still there to clutter up our hard drive.

Google Labs to the rescue

I recently found a post on the Lucid Design weblog about new IMAP controls by Google Labs that can be added to Gmail. In Settings > Labs there’s a new Advanced IMAP Controls feature that, when enabled, adds extra options to Settings > Labels. Mainly, the possibility to toggle the availability in IMAP clients of any label (read: folder).

Turning off All Mail’s IMAP availability effectively cuts down the disk space occupied by e-mail on the local disk. (I also turned off the Starred label, since Mail.app’s flags are synched with Gmail’s stars.) After applying these new settings to both my Gmail accounts, my ~/Library/Mail folder’s size went down to 82 MB. Again, it used to be more than 950 MB.

One note: Google Labs is not available to all Gmail or Google Apps users. Google Apps accounts have to be set up to receive experimental features as soon as they are available. Still, these might not be available if the account is set in a language other than U.S. English. There is a workaround to this, as one can switch the language to U.S. English, turn on the desired Labs feature, then switch back to the desired language and still keep the new feature. The case described worked for me with Italian, so trying definitely doesn’t hurt.

How about archiving?

With Mail.app now lacking All Mail, though, there is no way to archive messages (as per Gmail’s definition, which is to remove the “Inbox” label and keep them only in All Mail). There are two easy enough ways to solve this, although both of them require some extra periodical attention. (In my opinion, though, it’s still worth the saved disk space.)

Web-based solution. Every once in a while, one should access the web interface and archive unwanted messages. I think this is less than ideal, since I try (mostly unsuccessfully) to keep my inbox as clean as possible, hence archiving or trashing a message as soon as I deal with it.

Mixed solution. My current solution (but I’m open to suggestions) is to create an extra label called “Archive X” (where ‘X’ stands for the name of the account – this works extra well, since previously having different All Mail folders might have caused confusion in Mail.app) and move processed messages there for archival purposes. Every once in a while, one can go to Gmail and remove the “Archive X” label from these messages, which makes them available only in All Mail, hence out of reach of the local machine, which is consequently going to free new disk space.

Note on the mixed solution: deleting messages from “Archive X” in Mail.app does in fact trash them. This is to say that a trip to the web is always necessary to archive them permanently.

That’s all, folks.

Filed under 
Tutorial