Microsoft

Getting Things Done with Outlook 2007, revisited

A while ago I posted a few things that I found about implementing the GTD methodology with Outlook. Since I recently changed jobs, I’ve had an opportunity to carry some of the best practices forward as well as start from ground zero (a true Inbox Zero!) in some other areas. Here’s a quick roundup of what I did on my brand new inbox to facilitate maximum productivity.

The very first thing I did was to download and install Taglocity, which has saved my bacon so many times. I don’t know why people who design software to manage large volumes of information don’t get this, so I’ll just say why I find this so superior to the built-in Categories feature: it is much much faster to type in multiple tags for an inbound email than it is to make multiple mouse movements to pick multiple categories from a list. It’s fundamentally the same principle as why Keyword Assistant is absolutely necessary with iPhoto (at least, pre-2008). Email may be full text searchable, but from an actionability standpoint it’s just as opaque as photos until you give it context through tags. And the more tags, frankly, the better. All the UIs that assume that you’ll only be assigning one or two categories or tags are fundamentally broken because they don’t help solve the problem of how to find something later.

The second thing I did was to create exactly one sub-folder in my Inbox, called _archive. The underscore is a habit; it’s left over from when I had a billion subfolders and wanted to be sure my Archive folder bubbled to the top of the list.

The third piece was adopting the discipline that I’ve learned from practicing a little (a very little) GTD:

  1. Scan each mail for actionability.
  2. If it’s calendar related, triage it (right now that means “accept it” but a more complex triage process is required as my calendar actually gets full).
  3. If it’s a task, do it quickly (< 2 min) or tag it and add it to the task list.
  4. If it’s useful reference, tag it and add it into the archive.
  5. If it’s none of those things, delete it.

Lastly, I set up a few smart folders: Tag folders (smart folders that look at categorized items across all my mailboxes, created through Taglocity) for all my projects; a smart mailbox for Unread Mail and for Unread or For Follow Up items. Today, I added one other smart mailbox—items in my inbox that weren’t flagged, meaning that they hadn’t been processed or moved to the task list. I also set up a custom Shortcut bar and added task age to my To Do list view. The last three items were based on the helpful advice from David Ornstein in this blog post.

Some stuff I might try to do in the future: custom button bars based on the posts by Simon Guest (and again) and Omar Shahine, and maybe tweak some of my task creation settings based on the advice by Melissa Macbeth.

And what has fallen by the wayside? The Hipster PDA was cool for about five minutes. I’ve graduated, on those occasions where I don’t have my laptop, to a little Moleskine notebook. But increasingly everything goes directly into Outlook. Likewise, I’m not bothering with the customized Project form hack mentioned in the same old post; it never worked well enough under Outlook XP for me to try bringing it forward into Office 2007.

And I’m on the edge about Google Desktop; while I was hooked on it before, I’m starting to think critically about the tradeoff between security and functionality that it provides, and I’m not sure I like the conclusions I’m drawing. More later.

Getting to Inbox Zero with Outlook and Taglocity

A follow up to my earlier note about tags and Microsoft Outlook: I am happy to say that Taglocity has changed my life. I used to have folders in folders in folders and dealing with any received mail was torture. Now I’ve implemented tags and my workflow has totally changed.

I used to deal only with my unread mail, which was nice but it meant crud built up in my inbox. I used to flag mail messages as To Dos, but half the time I never got to reviewing the To Do list. Now I tag each mail message as it comes in (unless Taglocity can tag it for me), take whatever action is necessary on it, and move it to one archive folder. If I need to see a collection of messages about a particular subject, I use Taglocity’s filters or have it create a search folder for me.

My morning routine is a lot simpler too. I come in in the morning and the only things in my inbox are the ones that have come in since the night before. I delete most of the bacn, tag anything that I responded to the prior evening through Outlook Web Access (which doesn’t support tags), archive all tagged messages, and start processing all the new stuff.

The best part: that empty inbox. Now I work from my action list like I should have been doing all along. Inbox Zero is a good thing.

Some specific notes on Taglocity: using the Tag Cloud and other parts of the UI to assign tags and filters is a little challenging, since I tend to have a lot of tags. As in my tag collection in iPhoto, I find typing the tag name to be much, much easier. But having a Tag Cloud for my email is kind of cool anyway.

Outlook tags

I am an email junkie. There, I said it. So the question is, what to do about it?

I have two problems with my work email (home is a story for a different day). First, I tend to save every message that isn’t outright spam or one-word answers—and it’s only recently that I started deleting the latter. Second, I have a file folder for everything, a habit that I started back when I first used Eudora in the mid-90s. It’s the second habit that is especially bad; it doesn’t scale worth a tinker’s when you are receiving over a hundred messages a day that are non-spam. (Yeah, I know. I threw up a little in my mouth when I wrote that.)

So what to do? First thing for me that really has helped is installing Google Desktop on my Windows machine. Much faster than the native Windows search engine, and with the double-control-key quick lookup, much easier to get into and use. But the next thing is to eliminate folders, and that is proving much harder. Because often the title line or even the content of an email doesn’t tell me which customer or software release it is in reference to, Google Desktop can’t find everything.

So I’m going to start exploring tagging. After all, it works well for me for Flickr/iPhoto. Here are some quick links about tagging hacks in Outlook:

Somewhere there is another tool that I really liked at Microsoft—it collapsed all the messages in a thread into a single mail message, deleted all the redundant text, and trashed the original messages. Now that’s efficient.

Great mysteries of life: WPF edition

The Windows Presentation Foundation of Microsoft’s .NET Framework 3.0 gives you a lot of bang for the buck—for instance, it includes a free spell checker. Unfortunately, you sometimes get what you pay for. There is no ability to add a custom dictionary in the current version of the spellchecker. There also appears to be no documentation on which dictionary the information is being drawn from, where it is stored on disk—even where the ignore list for an individual user is stored.

So I tried some experiments: I created a Windows Search index over my AppData folder, opened a WPF application, and told it to ignore a misspelled word. I then searched for the misspelled word in my AppData folder and didn’t find it—meaning that the file containing the ignore list was not stored there. I even searched the registry and didn’t find the word. So where is it stored? It’s not in the base framework folders either...

Scripting data from SQL Server tables as DML

(Warning: technical post ahead.) Ever since leaving the PowerBuilder/Sybase/ERWin world behind, something I’ve missed is the ability to easily generate portable SQL scripts for populating a table with test data. There are plenty of solutions in SQL Server for migrating data—DTS/Integration Services, BCP, and others. But DTS and Integration Services have to be maintained in the increasingly clumsy SQL utilities and cannot be easily inspected to see if things have changed, and BCP is opaque—you can’t really examine a BCP result file in any easy way to see what the data looks like within. No, give me DML—even if it’s bulky, a long list of INSERT/UPDATE statements has the advantage of being easily readable and even modifiable.

Unfortunately, there isn’t an easy way using the Microsoft tools to produce DML from existing data in a table; all the scripting support in the old SQL Enterprise Manager and the new SQL Server Management Studio are aimed at producing DDL scripts that create or modify the tables. Management Studio in SQL Server 2005 will create template scripts for insert or update scripts, but won’t actually put data into them—a curious omission.

SQL Scripter to the rescue. This nifty app offers the ability to script the data from any or all tables from a database as insert, update, or insert when new/update when existing statements. There’s even features for export of the data to CSV, Excel, and PDF. Pretty cool for a free utility. I’m now changing my process for creating a new demo database to use SQL Scripter to move my demo data from one environment to another.

Last updated Monday, February 4, 2008 at 1:34:10 PM.

Here's the print-friendly version of this page.