Migrating Outlook Rules to Google Mail Filters – Filtering External Emails

Further from my recent post on Google Mail Filters, another rule that I had setup in Outlook was to move emails that originated from outside my organisation into a separate folder "Inbox – External". This way marketing information, or newsletters for example wouldn’t clutter my inbox. There isn’t a predefined scenario in the Outlook Rules Wizard to handle this, but you can achieve the desired result by setting the “with specific words in the sender’s address” to “@” and adding an exception “except with @myorganisationdomain.com in the sender’s address” as shown below. Effectively the rule states that all emails except those originating from my organisation should get moved to the defined folder.


You will see in the screenshot that I also have exceptions for specific individuals and domains. What I found was that after setting this rule up, I was missing important emails as they were being moved out of my Inbox. For example, emails from the client of the project I was working on, my car pool buddy (in case he was leaving early that day), and of course my wife. Effectively you can set these up as exceptions to the rule by adding them to “except if from” or “except with @clientdomain.com in the sender’s address”.

Now that we have moved to Google Mail, I wanted to replicate the rule in the Google Filters.

  1. Under Settings -> Filters select Create a new filter
  2. On the Choose search criteria screen, set:
    1. From: –@myorganisationdomain.com (note the minus before the @)
    2. To: me
    3. Doesn’t have: from: wife OR from: car.pool.buddy (obviously replace with the names you want to exclude)
  3. Use the Test Search button to test the criteria you have entered. The filter looks something like this:


  4. Click Next Step >>


  5. In the Choose action screen, tick “Skip the Inbox” and tick “Apply the label: Inbox – External”
  6. 6. Click Update Filter

Migrating Outlook Rules to Google Mail Filters

I’ve been following the practice of Getting Things Done by David Allen for some years now, and one of the core things that I have learnt is to keep my inbox for unprocessed work only. You will find there are many other strategies for managing your inbox but essentially they all discuss the same concept of and dealing with the overload of emails your receive on a daily basis. One of the important concepts of the Getting Things Done methodology is triaging you inbox. This is done by applying what they refer to as the 4 Ds:

  1. If you can get it done in under 2 minutes: Do It.
  2. If it will take longer than 2 minutes: Defer It.
  3. If it isn’t important: Delete It.
  4. If you don’t need to do it: Delegate It.

One of the best ways to manage my inbox I found, was to get Outlook to automatically triage as many incoming messages as possible through the use of rules. I created several folders in Outlook to help me process the messages:

  • Inbox – CC
  • Inbox – External
  • Inbox – Alerts

Then I would have a series of Rules to move items out of my Inbox into the relevant folder. One of the key rules I had was to move items where I was being CC’ed into the "Inbox – CC" folder. The reason for this was that if someone included me on the CC list but not in the To list, this would mean that it was for my information rather than requiring any response on my part. The rule in Outlook looked like the following:


The Rules Wizard in Outlook covers many pre defined scenarios, so I was a little concerned with the move from Exchange Server to Google Mail that I wouldn’t be able to get the same functionality. There is however a very advanced search criteria functionality that comes with the filters which take a little getting used to. Many of the advanced functionality can be found at Using advanced search.

To re-create the above rule "where my name is in the Cc box", do the following:

  1. Under Settings -> Filters select Create a new filter
  2. On the Choose search criteria screen, set:
    1. To: -to:me (note the minus before the to)
    2. Has the words: cc:me
  3. Use the Test Search button to test the criteria you have entered.
  4. Click Next Step >>


  5. In the Choose action screen, tick the following:
    1. Skip the Inbox
    2. Apply the label: Inbox – CC
  6. Click Update Filter


Keeping in Sync – Part 3

hp_mini_notebook_win7As a follow up to my previous posts about keeping in Sync, I wanted to show that I now have a forth computer in the mix that I need to keep in sync. I am now the proud owner of a HP Mini 2140 running Windows 7 and Office 2010 CTP.

Adding this computer to the mix was a snap, I simply downloaded and installed Live Mesh and added it to my devices. I was then able to sync my working documents and favourites.

For blogging, I am using Windows Live Writer and as such I am now also syncing my draft posts using Live Mesh between each of my machines. The Live Writer drafts folder is stored under the “My Documents” folder inside “My Weblog Posts\Drafts”. For Windows XP, this equates to C:\Documents and Settings\{Username}\My Documents\My Weblog Posts\Drafts. For Windows 7 it will be under C:\Users\{Username}\My Documents\My Weblog Posts\Drafts. By adding the drafts folder to the Live Mesh Folders and I can work on a post from work, click “Save Draft” then when I get home I can continue where I left off.

Keeping in Sync – Part 2

Following on from my previous post on Keeping in Sync, I wanted to discuss how I keep the rest of my files synced between my three working computers. As I mentioned in the last post, Live Mesh is used to sync my working documents which includes my OneNote notebooks and currently active project documents, however due to the size restriction of Live Mesh as well as the restriction in my Internet Service Provider limit there are many documents that I cannot sync using Live Mesh. To solve this, I am using Microsoft SyncToy as my way of keeping them synchronised.

The files I like to keep synced between the computers include documents from non current projects or source code from old projects. I also have a collection of essential software such as system utilities, debugging tools, freeware desktop applications, development tools and SDKs. Finally I have a load of learning material including labs, video tutorials and eBooks.

The solution to keeping these files synchronised between three different PCS is, firstly each computer (Home, Work and Client) has an external USB drive. I have this mapped in all locations as X:. Next, I have a USB passport drive that comes with me everywhere. This is mapped as the Y: drive on all machines. There is no particular reason for my letter selection except that I wanted to use drive letters that were not already taken as part of group policy in my work, or client domains. I also wanted to use the same letters in all three locations so I could script the sync function and use the same scripts in all locations. Next I need to setup SyncToy. There are essentially three directories that I will be syncing: 1) Reference Material; 2) Essentials; and 3) Learning. The process of setting up is as follows:

  1. Launch SyncToy
  2. Create a folder pair. The first folder pair I have created is between “My Documents\Davids Documents\Reference Material “ to “Y:\Davids Documents\Reference Material”


  3. Select the syncing option. For all of these folder pairs, I will be using Synchronize


  4. Name the folder pair. This pair I will name “Sync_ReferenceMaterial”


  5. Finish.

I repeat this process for the other folder pairs:

  1. Essentials:
    1. Folder Pair: “Y:\Essentials“ to “X:\Essentials”
    2. Name: “Sync_Essentials”
  2. Learning
    1. Folder Pair: “Y:\Learning” to “X:\Learning”
    2. Name: “Sync_Learing”

When all the folder pairs have been created, select to “Preview All”. This will compare all files between the folder pairs and make a list of changes required. Prior to setting this up, I had different version of each of the folder pairs but I went through a clean up operation and made the passport drive (Y:) the master copy of all data. I then manually copied this to the paired locations so running the preview the first time showed no differences.


Automating the Process

Rather than manually having to run the synchronisation process, SyncToy includes a command line utility which allows us to automate the process. The command line utility is called SyncToyCmd and its options are as follows:

Usage:     SyncToyCmd [-args]
All arguments are optional.
   -R           Run all folder pairs that are marked as Active for Run All.
   -R <name>    Run the named folder pair (only one folder pair can be specified).
   -?           Display this help.

   SyncToyCmd -R MyFolderPair
   SyncToyCmd -R


We could therefore create a batch command from the scheduler to sync the required folders, however rather than trying to schedule a time to sync the folders, I want to sync them as soon as I plug in my portable drive. In the root of the passport drive, I have added a batch file called autorun.cmd as follows:

cd "Program Files\SyncToy 2.0\"
SyncToyCmd.exe -R

I have then added an autorun.inf file to the root of the passport drive with the following entries:

action=Start Microsoft Synctoy

Now when the drive is plugged in, AutoPlay will start up and allow me to trigger the sync. If I want to run the sync before going home in the afternoon, all I need to do is manually launch the batch file autorun.cmd

Keeping in Sync

For the past 12 months I have been collocated at a clients site developing an application. The application went live a few months ago and since then I have been working on-site providing support and enhancements a couple of days a week, and the other couple of days a week I have been working back in our company office. Consequently, on any given day I could be working on any one of three computers: my home PC, the clients office, or the company office.

Now this doesn’t cause any issues with source code as this is managed through Team Foundation Server which allows remote access. Also all of my emails and calendar appointments are managed through our corporate exchange server which also allows for remote access. So the big problem is having access to my working documents in all three locations. The solution I have implemented revolves around using Live Mesh to synchronise files between the three computers.

The first thing I needed to do was to clean up and organise the way I stored all of my documents. Previously I would have documents saved to the desktop, under “My Documents”, under project folders on the c drive. I would also have shortcuts all over the desktop, quick launch bars etc trying to help me find where everything was. This was not only confusing, but how was I supposed to be effective at switching from one pc to another and remain productive? In order to make this work, I needed to come up with a clean and simple way to organise documents that would fit not only the work projects, but also home projects that I was working on.

From now all, all of my documents will be stored in a folder called “Davids Documents”. The reason for this is that my home pc is shared with my wife, so I don’t want to put everything directly under “My Documents” so this folder is nested under the “My Documents” folder. Within that folder there are two folders: “Reference Material” and “Working Documents”. “Working Documents” is where I store all working files for currently in-progress tasks, work projects, home projects, currently being investigated research. When documents are no longer working documents, or for longer term projects that I don’t need access to on a daily basis or are no longer active, I put these documents into the “Reference Material” folder. Because my internet plan limits me to 12GB per month and includes uploads, I need to make sure the volume of data I synchronise remains low. For this reason I will only sync the “Working Documents” folder using Live Mesh. These files will be the ones I am wanting access to on a daily basis.

Here is what the folder structure looks like:

My Documents 


As you can see, the “Working Documents” folder has been added as a Live Mesh Folder. The three computers I am syncing all need to have Live Mesh installed and the settings for this folder allow all changes to be captured by all devices.

The other key information that I sync is my favourites. These are all stored in a folder under C:\Documents and Settings\{Username}\Favorites which I simply add as a Live Mesh Folder. Because my username may be different on each computer when I select to sync this folder with each device (computer) I simply specify the location where this folder lives.