I’ve written about my mail usage before [1, 2]. Recently, I’ve experimented with Gmail. I’ve had my reservations about using web mail in the past, but it does have several positive features.
Gmail’s labels are superior to any filing system I’ve seen. Traditionally, information on computers was organized in a tree. The idea of labels or tags is to organize information as a bipartite graph, with the labels being one set and the objects being labeled the other. This allows you to attach multiple labels to a single email. Since you can search for messages with a given label (in Gmail use “label:example” to search for messages labeled with “example”), it is easy to find messages tagged with a set of labels. This makes finding well tagged email very easy. Search in gmail is good, but using my previous setup I also had excellent search via the Mairix email search and indexing tool. Gmail does make it trivial to use multiple computers to access my mail, something I had set up previously, but my setup had a lot of moving parts and required some effort when going to a new machine for the first time.
As for Gmail’s downsides, several important ones come to mind:
- requirement to edit my mail in a form textbox rather than a real text editor
- inability to access gmail offline
- requirement to trust gmail with my most important data, and the inability to automatically forward outgoing email to another address (for backup)
- requirement to use the mouse for many operations
It turns out, all of the above can be addressed with Firefox add-ons.
Since editting big emails in a text box is no fun, I installed It’s all text to allow me to use vim (or really gvim) to edit my mails. Using vim’s autocmd feature I set up some specific gmail options:
augroup gmail
"Remove all gmail commands
au!
autocmd BufReadPost mail.google*.txt :syn on
autocmd BufReadPost mail.google*.txt :set syn=mail
autocmd BufReadPost mail.google*.txt :set tw=78
autocmd BufReadPost mail.google*.txt :set spelllang=en
autocmd BufReadPost mail.google*.txt :set spell
autocmd BufReadPost mail.google*.txt :set spellfile="$HOME/.vim/spell/en.latin
1.spl"
augroup END
I’m not a vim expert, so the above can probably be made more elegant. So, text editor problem solved.
As for offline gmail, that has not been solved. Firefox 3 will support offline web apps. In the mean time, Google has released a free software library called Google Gears to enable offline support in web apps (it is already supported in Google Reader. So, offline gmail seems to be likely in the near future. Some have argued, there is really only one use-case of offline gmail, and it’s really not that important. Though, not offline, gmail does have a very full featured java applet for your phone that can access your mail (visit http://gmail.com/app on your phone to install it). This is incredibly convienient. It means you can read mail, send quick replies and search your mail all from a java compatible phone. This is extremely useful, and probably the killer app for my conversion to gmail.
As for the concern of trusting gmail with my important email data. I just learned to stop worrying. I keep a backup copy of all my mail on my personal server (all mail sent to me has a copy sent to my server). Also, I found a Greasemonkey script to automatically bcc in Gmail. I use this to make sure all my sent mail is also copied to my personal server. Since I already sent a copy of mail to gmail even when I wasn’t using gmail full time (using gmail as a backup email system), they already had my mail, so, what’s the big deal?
Using the mouse to navigate my email slows me down. If you don’t get 100 messages a day (or more), maybe you don’t really care, but being as efficient as possible with email saves me a lot of time during my day. Gmail has some keyboard shortcuts, but they don’t support labeling or several other operations. Fortunately, as part of the Better Gmail Firefox add-on, there is an extended suite of keyboard shortcuts. One must specifically enable the extended keyboard shortcuts (Tools :: Add-ons :: Better Gmail Preferences :: Macros), but I highly recommend it. The ability to create new labels and add labels to messages without touching the mouse is a great feature.
There is one last thing I want to mention, and that is speed. Javascript applications in the browser are slow. It’s not a total disaster, but it does feel a bit like 1995. There is hope on the horizon. Adobe donated a virtual machine for Javascript to Mozilla called Tamarin. Tamarin is slated to appear in Firefox 4 and should make javascript much faster on Firefox. Since some of Firefox is coded in Javascript (from what I understand) it may also make Firefox faster in general. I’ll be looking forward to it.
Lastly, there is one downside to using Gmail: everyone knows how to use it and attackers can focus on a big target. Since my previous mail setup was esoteric (most Windows users would be completely lost trying to eavesdrop on me due to their inability to use mutt or mairix), there might have been a certain level of security through obscurity. It wouldn’t keep out a determined attacker, but casual eavesdroppers would have a very hard time. Since so many people use Gmail, clearly attackers are always looking for ways to get in. Once in, the attacker could find passwords, credit card numbers and social security numbers with a few well crafted search queries executed over a large number of Gmail users, potentially including myself. However, as I mentioned before, I was already accepting this risk by using Gmail as a backup solution, so the marginal increase in risk is nil.