Monday, April 14, 2014

Managing gmail using filters and labels

If one is like me who finds it difficult to manage work emails then this post might be helpful.

First of all, a bit of context. This post is for project related emails. Now one might have subscribed to bunch of other mailing groups which are non project related. For example office email group, developer community, tester community, etc. This post is not to manage them. Because, for me, my biggest worry is missing out on work related emails. Also this should apply to a developer role mostly. However, I'm sure, with little tweaking, the same concept can be applied to any other role also. Last thing to mention is that this post is for organizing your inbox in gmail. If you use a different email, it might be possible to apply the flow described is this post for your email service. But you might have to tweak your email client a bit to get the same results.

To start with, gmail has the option of arranging your emails into multiple tabs (like Primary, Social, Promotions, etc). Which I use for my personal email. But for work email I have disabled it. Because I don't want to remember to go to another tab to read my other emails. Also, I don't want to keep dragging emails from one tab to another because gmail categorized it incorrectly. So essentially all my emails are in the same place.

Now, the immediate problem with getting rid of the tabs is that there are too many emails. And without filters and labels it is very inconvenient for me to go through them efficiently. So I've setup filters and labels. Now, since I have worked on quite a few projects, I have namespaced filters. What I mean by that is something better explained with an example. Suppose my company is doing a project with Google. Then I would first create a sub-label called google inside my projects label. Then I would create three further sub-labels nested inside google:
  • project-team-email
  • domain
  • environments

So the labels hierarchy looks like:

projects
      |- google
              |- project-team-email
              |- domain
              |- environments

The first one is the most important. I would pick a color for that label based on the color of the client (in this case google). Now I have another global label called 'to-me' for which I have the color red.

So how do these labels work?

That brings me to filters in gmail. I would already have a filter for 'to me' filter. That is any email sent to me should apply the label 'to-me'. Don't forget to add email aliases also for the filter associated with 'to-me' label if you use them. Note that this filter needs to be setup only once. Not on a per project basis. That way I'm bound to notice any email which is directly sent to me. Also the bright red color of the email makes it difficult to miss.

Attaching an image from my filters for to-me label.


Now for the project-team-email label. I would create a filter for any mail sent to the project team email group to apply the label 'project-team-email'. Again, remember to add team email aliases if there are any.

Attaching an image below for the project-team-email label.


Rest of the labels do not have any filter associated with them. I just apply them based on whether its something important related to domain or environments. Have as many labels as you would like but try not to have any color associated with them. Just makes going through important emails a lot easier.

One thing I would like to point out is that when both the labels project-team-email and to-me appear on an email it could mean that either my attention is being called for or I might have replied to the email thread earlier. In other words I should definitely look at that email. Attaching an image below to give you an idea.


Finally attaching an image of my inbox.



Hope this helps to manage your inbox better.