so on my quest to be personally more productive i have realized that the reason the gtd system (created by david allen) is meant to centralize a persons life via one in-box.  well for me an inbox literally means my email.  if something is not emailed to me it does not exist (i am still trying to figure out a way to make text meaningful to me in this respect, but that is elusive as well).  the problem for me is that i have four separate email accounts that i do not like/want to mix.  one for work, one for consulting, one for personal stuff, and one i use to sign-up for all of my accounts.  so having one inbox for my life is out of the question for now – and i like it that way.

so i decided to implement a gtd style system at work to help me be better at what i am doing and keep myself organized.  first i am bound to outlook, and that is not a bad thing in my book, and second this is only for my main job.  at first, i used folders to collect everything and had a folder for each area of the company i dealt with and responsibilities, etc.  this failed when an email contains information about two different things.

so i decided to create an archive folder, a to be deleted folder (i want to review emails twice before they are deleted), a next actions folder, a follow-up folder, a someday folder and a waiting folder; i also created a projects folder with sub-folders for each project (these are temporary homes for emails within active projects and will be archived into the general archive when the project is closed).

next i created categories for areas of the company (gtd would call these contexts) prefixed with “@”, contexts (a layer of classification based on job responsibilities – such as marketing and sales) prefixed with “_”, actions (they type of action i need to take to close the loop – if any) prefixed with “#”, and indicators (tags that will quickly remind me of the disposition of the email – i.e. !reference if it is just an fyi or !won if it is an order) prefixed with a “!”.  i would then create a custom tag for each project which will have no prefix and be used once the project is completed.

so to make things easier on me, i decided to figure out a way to create toolbar buttons that would toggle a specific category.  i checked forums and tried out add-ons and eventually posted my issue to twitter.  within a day, an outlook champ with the twitter name techniclee was interacting with me and even posted a solution to his blog.  while his solution worked well, it did not meet my needs fully. i wanted control over each category location in my toolbar and i was not going to be adding or taking away categories.

so i learned his code and replicated the button control bit for each of my 25 categories.  i then used a third party category manager demo to help me create my nice category buttons (color coded of course) and created a button for each area, context, action, and indicator grouped in separate toolbars (that is not necessary, but i am anal about order).

i then looked for a code to create a macro that would send emails directly to the archive folder and lifehacker.com came to the rescue.  i even hacked that code to replace the delete button with a button that sends deleted emails to the to be deleted folder.

all in all it is a good solution and the use of categories will help me create custom searches for everything that i need instead of having to remember what folder i put it in.

Advertisements

3 thoughts on “gtd – the elson way

  1. tried to go back and edit the code to allow for multiple selections, however when I did this, it adds the category to the item the same number of times it is in the count (that is, if their are 3 items selected it adds the category to item 1 once, item 2 twice, and item 3 three times). Here is my code:

    Public Sub Category_Name()

    strThisCat ="Category Name"

    Dim olkItm As Object, arrCats As Variant, varCat As Variant, bolFound As Boolean, intCnt As Integer, strNewCat As String, olkItmNo As Object

    Set olkItmNo = Outlook.Application.ActiveExplorer.Selection

    For x = 1 To olkItmNo.Count

    Select Case TypeName(Outlook.Application.ActiveWindow)
    Case "Explorer"
    Set olkItm = olkItmNo.Item(x)
    Case "Inspector"
    Set olkItm = Outlook.Application.ActiveInspector.CurrentItem
    End Select

    arrCats = Split(olkItm.Categories, ", ")
    For Each varCat In arrCats
    If varCat = strThisCat Then
    bolFound = True
    Else
    strNewCat = strNewCat & ", " & varCat
    End If
    Next
    If Not bolFound Then
    strNewCat = strNewCat & ", " & strThisCat
    End If
    olkItm.Categories = strNewCat
    olkItm.Save
    Set olkItm = Nothing

    Next x

    Set olkItmNo = Nothing

    End Sub

    I will try to find a solution soon

    Like

    1. Nathan,

      Here’s the code changes that will enable processing all selected items. Both changes go in the CatBtn class. Replace the existing objButton_Click subroutine with the one below. Add the ProcessMsg subroutine. Close and restart Outlook and you should be in business.

      Private Sub objButton_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
      Dim objItm As Object
      Select Case TypeName(Outlook.Application.ActiveWindow)
      Case “Explorer”
      For Each objItm In Outlook.Application.ActiveExplorer.Selection
      ProcessMsg objItm
      Next
      Case “Inspector”
      ProcessMsg Outlook.Application.ActiveInspector.CurrentItem
      End Select
      Set objItm = Nothing
      End Sub

      Private Sub ProcessMsg(olkItm As Object)
      Dim arrCats As Variant, varCat As Variant, bolFound As Boolean, intCnt As Integer, strNewCat As String
      arrCats = Split(olkItm.Categories, “, “)
      For Each varCat In arrCats
      If varCat = strThisCat Then
      bolFound = True
      Else
      strNewCat = strNewCat & “, ” & varCat
      End If
      Next
      If Not bolFound Then
      strNewCat = strNewCat & “, ” & strThisCat
      End If
      olkItm.Categories = strNewCat
      olkItm.Save
      Set olkItm = Nothing
      End Sub

      Like

  2. So Here is the final code. I created a Macro per category (again it takes less than 5 minutes to do this) and since I have the buttons already it was really quick. Now my GTD set-up works. next task – to create a task from an email!

    Public Sub Category_Name()

    strThisCat = "Category_Name"

    Dim arrCats As Variant, varCat As Variant, bolFound As Boolean, intCnt As Integer, strNewCat As String, objItm As Object, objSel As Object

    Set objSel = Outlook.Application.ActiveExplorer.Selection

    For Each objItm In objSel

    strNewCat = ""
    arrCats = Split(objItm.Categories, ", ")

    For Each varCat In arrCats

    If varCat = strThisCat Then
    bolFound = True
    Else
    strNewCat = strNewCat & ", " & varCat
    End If

    Next

    If Not bolFound Then
    strNewCat = strNewCat & ", " & strThisCat
    End If

    objItm.Categories = strNewCat
    objItm.Save
    Set objItm = Nothing

    Next

    Set objSel = Nothing

    End Sub

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s