Good article by my buddy John Poelstra with which I vehemently agree. I’ve been doing something similar with email for a couple years now using offlineimap, synchronizing a few times a day rather than keeping an app open all day or making myself the slave of instant notifications about new email. It’s made a huge difference in my productivity. I’m not perfectly disciplined about this, but more often than not these days, I tend to ask myself before syncing my email, “Is there something coming that you need in order to make progress on your most important task right now?” Often the answer is no.
Sometimes I might be tempted to pull email out of habit, or because I need a break from my current task, or because I’m procrastinating. In all these cases there are better remedies available. Habits can be an indicator of not thinking through what you’re doing, and I’m trying to get better at that in general — so breaking this habit is something I work at constantly. If I need a break, I try to just switch tasks instead, or in the case of overall fatigue, I leave my office for a few minutes to get some perspective. Sometimes a short walk or playing with the family dog lets me come back refreshed and ready to focus. Procrastinating is a special problem that I just try to meet head on, although again I’m not the epitome of doing that well.
Email and communication are vitally important in my job, but they are not the only important thing I need to do in my job. It’s important to keep your tools in perspective and remember that the thing that makes you valuable to your employer is not just your ability to communicate — it’s the ability to communicate something worthwhile. And communicating something worthwhile often requires you to be able to focus and think clearly without yielding to the distraction of your communication tools.
That’s the longest break I’ve ever taken from blogging: 36 days without a post. At first I was just too busy for a week. Then as time went on, I had more and more things I was thinking about blogging — the pile of ideas kept getting bigger. Finally the sheer size of the pile and number of possible choices became overwhelming. I was a victim of too many choices.
I decided to break the stalemate by putting aside all of the ideas and starting with one new one, which is to talk about the tools I use to be more efficient and productive at work. What I use might not be right for everyone, but perhaps you’ll see some idea here that can help you with your job or your hobby, and be happier with your effectiveness. I was inspired by John Poelstra’s recent post on The Drug of Distraction to write about this subject.
Email is the lifeblood of most information-oriented jobs now, and especially one revolving around open source or a globally dispersed company. Both of these characteristics are part of life at Red Hat, of course! It’s really important to have a way of dealing with email that makes your work more efficient. For me that comes down to two major considerations. There are others, of course, but they’re not quite as important as getting these two right. That’s my email client, and filtering.
First is your email client. For a long time I was a relatively happy user of Evolution, the GNOME personal information manager that helps you manage email, calendar, tasks, and addresses. It’s a robust, full-featured program and I still think it’s a wonderful piece of work even if it has its issues. And honestly, what software doesn’t? However, what I found was that there were a couple of factors that were causing me to lose a lot of time in reading and processing email. By “processing,” I mean performing whatever task is appropriate for a specific piece of email. That might mean deletion, or it might mean responding immediately, or something in between.
Evolution allowed me to have several windows open at once where I could be drafting many different emails. I could make a start, then put the compose window aside to work on something else, or process another more important email before finishing. And for me, that turned out to be a drawback. It encouraged a lack of focus on what I was doing, so that by the end of the day I had a bunch of unfinished responses — and the concomitant feeling that I was a failure because I wasn’t getting the responses out. I was letting my tool usage affect not only my output, but the way I felt about my performance!
(You could of course say that the fault here was mine, not my email application. After all, why can’t I just focus better? And that would be a perfectly fair assessment. However, to change very deeply ingrained behavior takes a lot of time and effort, which I felt I could better spend simply doing work. And it’s probably arguable that changing my behavioral reaction to a windowed environment to optimize for how I deal with email at work wouldn’t necessarily be a net benefit in the general case of my overall computer usage. In any case, I don’t want this to come off as an indictment of Evolution, which I think is a great piece of software.)
Another factor that was hampering me was the way I was accessing my email through the client — IMAP in this case. Each time I wanted to read or reply to email, I was hitting the network. I have a great broadband connection at home using Cox Cable — around 10-12 Mbps downstream and something like 2 Mbps upstream. But even so, latency delays (seek and retrieval) on the server is more of a concern than transmission time, and there was a delay of seconds every time I accessed email. And with hundreds of email messages a day I was looking at — after filtering those I didn’t need to read — I was wasting a lot of time. With 500 email messages and, say, 3 seconds per email on a good network day between retrieval and response (this is a conservative estimate), I was losing 25 minutes a day assuming response time was good. Over the course of a week, that’s over two hours!
Two tools helped me wrangle my email to the point where I could reclaim every bit of those two hours and more. First was the Mutt email client, which is a text-based email reader. Like most text based programs, it has a bunch of keystrokes that you have to learn if you want to use it quickly. It took me about three days of use to get really accustomed to its interface, and most of two weeks to optimize my configuration. But once that was finished, I had conquered the focus problem in dealing with a GUI-based, windowing email client. I was responding to an email in a terminal as a single foreground operation, and when I was finished with my response, I would send it to return to the mail reader. Not seeing other email messages waiting for me (or arriving) as I composed helped me focus on the task at hand, finish it quickly, and return to processing other mail if needed.
The second tool — or rather a combination of tools — that helped me immensely was offlineimap, for syncing email to local storage, and postfix for sending out email from my local system. Using this toolset meant that my network delays were a thing of the past. Recalling email from its stored location is instantaneous, and when I send an email, the response from the server is instantaneous as well. The email gets sent out as a background operation and if anything untoward occurs I get notified as with any other email service.
The other major benefit of offlineimap is like other integrated clients in that it gives me a choice of when to sync my mail. I can either run the synchronization as a periodic background process, or as a one-time operation. I’ve come to greatly prefer doing this as a one-time operation because it keeps me from “riding my Inbox” all day. Nothing will kill true productivity faster than being on email all day, waiting for that next “important” message to arrive. Instead, I try to check email only a few times each day: (1) all mail in the morning after completing any other critical work; (2) important folders only, right before lunch; (3) important folders only, as an afternoon break and limited to no more than a specific time like 10 minutes; and (4) (optional) remaining mail before I leave for the day. This type of routine has helped me restrict my email processing time per day to a very reasonable amount of time — leaving me more time for work requiring heavy focus, deep thought, in-person contact, and/or dedicated writing or composition.
The second consideration for email was filtering. Server side filters are the most effective in my opinion, because among other benefits they don’t rely on me having the same local configuration wherever I’m retrieving or processing email. I have a lot of filters in place both with my GMail account and my internal Red Hat email, to sort each list separately, and prioritize specific kinds of mail such as those that come directly to me from specific people (like my manager).
These filters help me prioritize my email work, so that I don’t end up spending an amount of time on each list proportional to its list traffic. Certain lists, and of course my direct Inbox, are more important to me, and I handle those first. If I’m pressed for time I can defer all the rest. In addition my Mutt email client helps with this process because I have a routine to elevate specific mailboxes to the top of the list through which I cycle. I also practice judicious use of functions such as “mark thread as read,” avoiding spending too much time on discussions that don’t require my attention or input. Every six months or so I also make a practice of archiving old mail so that my mailbox searches, which usually are focused on the recent past, stay fast.
More generally, using this combination of tools and routine helped me conquer an internal focus problem as well as an external latency problem. Again, while my choices may not be right for everyone, they really helped me.
Very cool — the Hamster applet, which I use to track my time, is featured in the GNOME 2.28 release notes. I really enjoy using this application to keep count of my hours and the way I spend my time during the work day. Thanks to its flexibility for noting details about my major tasks, I can also use it to send summaries to my managers. Interestingly, it stores info in an SQLite database, so it’s easy to use Hamster’s data elsewhere if desired; and of course it exports to a variety of formats as well.
I posted earlier about Hamster, and I’m glad to see it getting some attention in GNOME 2.28. Of course you’ll see it available in Fedora 12 as well, so I hope some of you readers find it useful; if so, let the developers know!
I’ve just discovered the hamster-applet package in Fedora 11, and I think I’ve found another great productivity tool. Courtesy of Project Hamster, it’s a time tracking tool that doesn’t try to be more clever than I am, and instead stays out of my way while I work. It gives me a reminder on an adjustable time basis to see if I’ve changed tasks, has completely configurable categories for easy entry, and produces slick and simple HTML reports. It stores its data in an sqlite database, and it’s written in Python so it’s easy to hack as well. Worth a try if you’re looking for time and task tracking that’s simple but flexible!
NOTE: I thought I had posted this last week, but apparently it got filed away as a draft. Mea culpa.
John Poelstra and I introduced an informal release day planning group for Fedora 9. The goal was to act as a sort of cross-project resolution center, making sure that the different groups had what they needed as we push toward release. I’d say it was a fair success because:
The last part there? I made that up. But seriously, the meeting actually did help us do some organizational depsolving, to hijack a bit of jargon. The ultimate goal is to make the release day a headache-free event. My hope is that in doing this again, and starting earlier, we can have an even more positive effect on the Fedora 10 release.
Just to be clear, the purpose of these calls is not to make policies — that’s the province of the lists and other more public and asynchronous venues. Instead, these calls are the equivalent of a high-bandwidth IRC chat. We tried to include a lead from every team we thought could help, including all the usual technical groups as well as artwork, marketing, docs, l10n, and so on:
…and myself and John Poelstra. I’m not sure all these people are able to play the same role this time around, so if you’re interested in this group, we’d be happy to hear from you.
I want to use Fedora Talk for these calls, so ostensibly anyone can call in for the conferences. I’m not sure how well the Asterisk server’s current configuration can handle a high number of callers. It may just be a matter of using a lower-bandwidth codec to support a large number of callers; that’s a tradeoff to CPU load, but I expect these codecs (all free as in speech, of course) are extremely low cost overall.
I’ll post more news on this over the next few days as we iron out some additional details.
I’m still working out better organizational methods for my email.
I tend to keep copies of publicly archived mailing lists. I do a lot of server-side filtering, and all my lists get filed into folders away from my Inbox. My Inbox only contains things sent directly to me.
I have several IMAP accounts, and I hated having to jump around to find my new messages everywhere. I usually end up with some folders gathering dust because I demote them mentally before ever trying to handle the email in them.
So I used Evolution to set up some search folders for more efficiency:
New Mail – Simple: any mail in any account that hasn’t been read. All in one place where I can whip through it quickly.
Priority New Mail – Anything in the “New Mail” search folder that’s actually from an Inbox folder (i.e. directly to me).
VIP New Mail – Anything in “Priority New Mail” search folder that’s from a specific list of VIPs.
I’ve cut my mail processing time in half just from avoiding all the client navigation (clicking folders, getting distracted, etc.). And no, this isn’t rocket science. But since this is my first job where email is so vitally important, I’m a little late off the blocks. Nevertheless, it’s working for me, and I’m finding new and more useful ways to use these features.
Today’s rating: 55.8 Poelstras.