As an Engineering Manager at Google, I get a lot of email — everyone does. Google — at least my group — doesn’t make heavy use of IM-like tools internally, and I’m happy about that. Combined with traffic from the internal system, it all adds up to a lot in my Inbox.
So I was forced to really think about how I handle it all — and not miss anything important.
I’ve ended up with an approach comprising three elements. Proper use of labels is the first.
It took me a little while to grok labels. Why? Because I was so used to thinking about email in terms of folders, and that a given email should only be in one folder at a time. So I kept thinking of labels as folders, which was my first mistake — I ended up creating excessively complicated filters, all to make sure my Inbox was empty and that every message only had one label. It was really hard to manage and maintain.
Now my labeling rules remain simple, orthogonal, and any given message can have multiple labels attached to it. For example I have a rule that labels any email that is explicitly sent to me with a me label. Other rules label messages by the mailing list (or type of mailing list) — code reviews, bugs, discussion groups, etc.
Now many emails will be labeled with a given label, but also marked as read by some of my rules. If I clicked directly on a label in the Gmail UI, I’d see a messy mix of unread and read. So instead I add a filter of label:unread and bookmark the entire result.
This is key — it means I access my emails via browser bookmarks, not by clicking labels. It feels much more natural and accessible to load my all unread emails this way. I also rank my bookmarks, allowing me to easily decide what I’d like to handle right now.
The final element is auto-advance, which you can enable via the Settings page.
With all this in place I can bring up in one click, for example, all unread email specifically mentioning me, and move from message-to-message using the arrows in the top-right corner. I almost always start with the oldest message, working methodically through newer messages. If I really can’t handle a message at that time, I mark it unread, and continue to the next message. This means that it’ll be presented to me again, next time I reload the same bookmark.
Next I’ll move onto the next most important bookmark, knowing that I’ve already handled all email directly sent at me. By using bookmarks, I am still presented with unread emails only. This is important because by reading the previous bookmark’s emails, I may actually read emails that would have been returned by the next bookmark — except that I just read them. Therefore they are not presented to me twice (or more, depending on how many labeling rules a given email matched). It all works out really nicely.
By the time I reach my last bookmark — which may be accessed quite infrequently — I can click through the unread email quickly, simply by viewing subject lines (if even that).
With this process, my email finally feels in control — it feels natural, and combined with batching my email processing, it’s finally tractable.
An interesting happened with all this — my Inbox is the least important label now. I barely access it. It’s like Inbox Zero, without even really trying.