The virtues of an email client with GMail

The Thinker by Rodin

There is plenty of upheaval in my office. We are completing a painful (and I do mean painful) transition moving from one email system to another. In this case, we are moving from Lotus Notes to Google Mail. Lotus Notes meant lots of expensive email servers inside our firewall closely watched over by a crew of technicians who, like grease monkeys, spent their days (and nights) constantly oiling Lotus’s gears. GMail of course is “in the cloud”. A Google enterprise team manages it for us. It’s all sort of magic and at least so far seems to mostly work.

Switching email systems in a large enterprise of 70,000 people is quite a trick. It is roughly like switching out your car’s engine while driving down the street. It can be done. Essentially you have to have two email engines running at the same time processing the same incoming email. Eventually all the email accounts are successfully migrated from one email system to the other and you pull the plug on the old email system. But of course there are thousands of gotchas. You also have to migrate calendars, contacts and to dos. All sorts of applications and systems are tied into the email system. Each of these individually has to be taught to use the new email system. Sometimes it is easy, sometimes it is hard.

Now that our office is all GMail all the time the office has ditched the dependable email client in favor of using GMail inside the Chrome browser. I like GMail at home and on the road and use it all the time. However, the experience of using GMail on the web casually versus using it all the time is quite a bit different. When sixty percent of your day is spent reading and replying to email, productivity is important. While GMail has lots of nifty features (like its swift search engine to find emails) it also has some significant drawbacks. Specifically you have all the limitations and annoyances of working in a browser. GMail does its best to minimize these drawbacks, but when you are reading and replying to hundreds of emails a day and using a browser for an email client the experience becomes very irritating.

Take, for example, simply navigating between emails. Typically you want to just go to the next or last email. When using a browser and a desktop computer, you must use a mouse. This means you have to reach for the mouse, point to the email you want to read and then click on it. It takes three actions to do something that previously required simply pressing your up and down arrow keys. You don’t notice this at home, but at work I find it is more than irritating. It makes reading and replying to email an annoying hassle.

We don’t have a lot of options. Our service desk supports Microsoft Outlook as an option if you whine about wanting an email client, but as Outlook users know it really prefers that you are using Microsoft Exchange on the backend. Plus it’s a Microsoft product, which means it will have the usual mixture of brilliant, quirky and downright annoying features. Most importantly, it has feature bloat. Ninety percent of the time you need to either delete or quickly file an email. The other ten percent of the time you just need to reply or forward it. You probably don’t need to turn your email client into a newsreader, or to have it transparently integrate multiple email accounts or create multiple personalities. You just want to get through the couple of hundred emails in your email box as efficiently and as quickly as possible, with minimal fuss and keystrokes.

In short, you need Mozilla Thunderbird. The open source email client is not dead, and thankfully Mozilla Thunderbird keeps refining its product, in spite of the fact that its big brother browser (Firefox) gets almost all of the attention. Arguably if you really feel you need an email client with GMail, you should ditch all of the other ones and just standardize on Thunderbird. This is because it works across all the operating systems pretty much identically and it is elegantly simple. And should you feel the need to dress it up with themes or add-ons, it’s easy enough to do. Outlook users can even install a theme that sort of makes it look like Outlook.

It’s possible to use Thunderbird with GMail but it is not intuitive. After installing it, you need to go into your web-based GMail and select “Generate Application Password” (click on the More link near the top). It will create a long string of impossible to guess characters, numbers and symbols and you have to use to authenticate Thunderbird with GMail’s mail servers. Then in Thunderbird you have to find its account settings (Tools > Account Settings) and know the names of Google’s email servers (smtp.google.com for outgoing email and imap.google.com for incoming email). When asked for a password, use the applications password. You may need to tell it to use port 993 and SSL/TSL for connection security. You probably want IMAP instead of POP (Post Office Protocol) because IMAP allows you to keep your email in the cloud, instead of moving it to your computer. This is generally preferred since you never can lose it this way. It’s worth the hassle to make Thunderbird and GMail talk to each other because you sure will get sick of using GMail through a browser if you have to do most of your business day.

Certainly there are some features of the web-based GMail that are occasionally desirable. You can assign multiple tags to more than one email rather than just throw it into a folder. You can do sophisticated searching using a host of qualifiers. The nice thing is that the one percent of the time you might need these features, you can just bring up GMail and peck away. Most of the time you will prefer the speed and efficiency of Mozilla Thunderbird.

Curiously, Thunderbird excels as a purely email client. Maintaining a calendar is very much a part time activity, and GMail’s calendar is slick, easy to use and attractive. You can install an add-on to Thunderbird that will integrate a calendar, but it is relatively ugly. Google Calendar allows you to easily see other’s calendars, once they give you access to their calendar, and you can even see calendars outside of your office network. So if I need my calendar, I go into my browser.

GMail comes with Google Talk for instant messaging. Instant messaging is almost as important as email in the enterprise. With the right program placed in your task bar, you can be notified of instant messages even if you are not focused in your browser. Or you may prefer to install an instant messenger that works with Google Talk. If so make sure you keep that application password because you will need it. Warning: if you generate a new application password, you will need to replace the passwords in other applications you may have connected to Google’s infrastructure. Currently I am using Pidgin, which works well. However you really need to select the XMPP protocol instead of Google Talk protocol. Connect to talk.google.com and use port 5222. Also make sure encryption is enabled.

Perhaps one of these days Google will get GMail browser to work more simply and speedily. Right now they seemed more enamored with adding features you are unlikely to use, like conversation view, than in making it more keyboard friendly. In addition, all the logic is executed through Javascript, which is relatively slow. You notice the time it takes to read an email once you select it. This is less noticeable in an email client. Once you see how comfortable it is to use Thunderbird with GMail, you will likely see no reason to use browser-based GMail at all if you have the option.

Firefox: must it be adios instead of adieu?

The Thinker by Rodin

This blog post by a Firefox developer is making the rounds in the techno-blogosphere. Firefox developer Jono Xia makes the point that constant updates to the open-source Firefox web browser is driving its devotees nuts. It has made me switch from Mozilla Firefox to Google Chrome for most of my browsing. In Xia’s opinion, the problem is that Firefox developers have become enamored with features, and keep adding bells and whistles to the browser. Most actual users (like me) mostly want high usability and for new features to be introduced gradually. In particular, we don’t like radical changes to our user interface.

This should not be hard to figure out. Imagine if once a month you went to drive your car and the ignition key moved to a different location or that the turn signal had moved from left of the steering wheel to right of it. That’s how it’s been with Firefox for a while. But now these changes occur stealthily. It used to be you were told when a new version was available, and then had the option of downloading it. With the latest versions of Firefox, new versions download quietly in the background and appear the next time you restart the browser. This has its strengths. If there has to be bug fixes and critical patches I’d largely prefer to be kept ignorant of them. What I don’t want is to start my browser and find new tools on my toolbar, or that suddenly some of my favorite add-ons no longer work because they were not upgraded to the latest stealthily upgraded version.

Yet if you use Firefox religiously, this sort of stuff feels like it happens all the time. To say the least, it is jarring. Many if not most of us spend much of our lives staring at content in our web browser. A consistent user interface is good. This means browsing requires less thought and becomes automatic. Add irregular but relatively frequent amounts of change to the user interface and it becomes annoying and at some nebulous point intolerable. It used to be that a year or at least many months would go by between a major version of Firefox. Now it can be weeks!

I use Firefox on a Mac. I noticed over a period of months that Firefox kept slowing down. It loaded slowly. Pages reloaded slowly. If I had a half dozen tabs open when starting up it would take a minute or more for the data in the tabs to be refreshed. Moving from tab to tab was often slow and full of latency, where the current tab just hung there for a while with an hourglass cursor. Sometimes the browser just hung and I had to do a Force Quit to kill it, or would not shutdown when I shut the computer down.

These sorts of problems don’t happen naturally. They are a result of poor software engineering. I speak with authority here because I happen to have a master’s degree in software systems engineering from George Mason University. Granted, building a web browser is hardly a trivial task. There are so many aspects to integrate correctly. In short, it is a complex engineering challenge to make it work on just one operating system, let alone the many operating systems that Firefox supports. Mostly these problems point to a process problem, rather than a programming problem. Just as you can build more cars if you speed up the assembly line, but those cars may suffer something in the way of quality, to keep up with the competition you can push out new versions of a browser more quickly if you cross your fingers and hope that current functionality is not compromised in doing so. It’s clear that a lot of current functionality is compromised by Mozilla’s current approach.

I don’t know exactly how the Mozilla project is run. I certainly like its goals: create a browser that is platform agnostic, that won’t make anyone rich, and that rigorously adheres to the latest web standards. It was this approach that lead to the rise of Firefox in the first place, including a glowing review by me a full eight years ago when it was not yet official. At the time, Microsoft had put its Internet Explorer browser on the back burner. At least you could say that IE did not change a lot. It was quirky, but it was consistently. You could go years between new versions of the browser.

With Firefox, what seems to be missing is good and frequent regression testing. Regression testing means automated testing that tests when you add in new functionality that the current functionality still works. Mozilla is hardly alone in having problems with regression testing. It is a decidedly unsexy thing to do, but vital for good software engineering. It’s also a hard thing to do. I know this from personal experience. The regression testing tools out there tend to be very pricey (Mercury’s suite, now owned by HP, comes to mind) and, for the most part, annoying to use. Most of them cannot handle tiny changes in canned tests, like the change of location of an image on a web page, without failing the test. You are expected to create whole new tests. I am looking into one testing suite that looks like it allows test cases to be reasonably fault tolerant. If so, we can gain a whole lot of productivity doing regression testing.

Doubtless Mozilla is doing some regression testing, but it should probably do a lot more and probably have a much more well thought out process for doing it. If satisfying users is truly their primary goal, they may need more testers and fewer developers. It sounds like it is the other way around.

So I have been seduced by the Google Chrome browser. I won’t use IE. I just loathe it and I can’t quite put my finger on why but certainly it’s not a good thing that it is developed by Microsoft, and its bright blue theme jars me. Chrome, like Microsoft, is a product of another empire, just not one quite as evil, at least not yet, but certainly one targeted to encourage you use all things Google. It’s clear after you run Chrome for a while that it is a slicker product overall than Firefox. It’s also faster and better engineered. For example, each browser tab has its own CPU process. This has lots of benefits; the primary one being it is much less likely to crash. Firefox is catching up here, but even so it is still buggy and slow on my Mac.

I don’t want to love Chrome, but considering how much time I spend in a browser I have to have a browser that works fast, reliably and consistently. Chrome has not been perfect here, particularly with its user interface, which has morphed faster than I would like. But it is standards based, multiple-platform, fast and reliable.

I really want to go back to Firefox. It is the reference implementation for browsers, although maybe not so much anymore the way they throw out new features so quickly. There are certain Firefox behaviors I really miss, like the Bookmark manager in a sidebar. For right now I simply cannot revert. I hope Mozilla gets its act together, and listens better to the needs of its users.

So will it be adios and goodbye forever for Firefox? Or can I say adieu for now, and I’ll be glad to come back when you have your act together? For right now, I say adieu, but pretty soon it is going to be adios.