31.1.13. Refining my Work Contexts in OmniFocus

Contexts are a major component in the GTD system by David Allen, and thus figure prominently in OmniFocus. Understanding and working well within contexts is an ongoing process. Some are immediately understandable, such as "Grocery Store" or "Home". Some may be devices, such as "Phone". These are known physical limitations where an action can only be performed in that physical space or device.

My life doesn't involve a lot of physical contexts outside of errands (then grouped by a couple of common errand types, and then by store for anything really specific), home, and work. But 'Work' is where I do and use much of my planning. I found that just having that as a lone context didn't work for me. Years ago, I set up two sub-contexts, Coding and Office and that got me by for a while, with most work tasks being in Work : Coding. This is still the case today, but I've recently found that it's helped to create some additional contexts that revolve around tools and responsibilities.

My work sub-contexts:

  • Coding, wherein I do most of my work. This is the editor - terminal - browser cycle, usually. For the longest time, this context was synonymous with "@work", as it was, well, what I did.
  • Deployment, a newly created context. This also tends to involve the terminal, but doesn't really depend on the editor or other bits. It tends to mean kicking off some automated scripts and keeping an eye on them. I separated it out into its own context so that I could see these separately from all of the potential coding "next actions", as deployments may have a higher or different priority. For example, I can deploy while eating lunch at my desk, so I might let these pile up from various other projects.
  • Research. The actions in here vary, but being in this context often signifies needing to crawl through code, archives, or the internet to learn something new or be reminded of how something works.
  • Basecamp, for needing to interact with the Basecamp project management system. The actions for this could mean just marking a task assignment as complete, or it could mean needing to write a message or comment to communicate with the team. I found that these kinds of actions were starting to slip from my head.
  • Agenda for anything I need to bring up at a meeting.
  • Documentation for tasks needing a bit of extra focus for writing and publishing.
  • Office for anything generic that can only be done at the office. This might mean something that requires a printer (I have none at home), or it might mean something I need to pick up or drop off at the office.

The nice side of this is that I can just park OmniFocus on my iPad in the "Work" context and see the available actions in all of these sub-contexts. The context they're in might let me know the time or tools involved, and that can help me make decisions about what to do next when I have multiple things happening at or near the same time. For example, I met let a couple of deployment tasks queue up, or I can do a deployment task while working on another project's coding task, as deployment requires little physical or mental labor but may require a lot of watching and waiting for changes to roll out across our servers. My Basecamp tasks can queue up for the end of the day, and have been helpful in reminding me to update our central project system used for company communication.

There seem to be some people these days wanting "multiple context assignment" in OmniFocus. I do not. I'm happy with the hierarchical context system. When in work mode, I can choose the level at which I want to focus and tune other things out. OmniFocus's hierarchical contexts also make re-organization easy without losing assignment. If a certain hierarchy isn't working out, I can change it with some dragging and dropping. This has helped keep my system functioning for me as my needs and expectations have evolved over the years.

Labels: , , , ,

8.1.13. Collect, Clarify, Organize - Guide to Evaluating Personal Task Managers

I've recently discovered the excellent Mikes on Mics podcast and have been listening to some random episodes. One episode I was interested in was Episode 5, Taking You To Task where the hosts talk about choosing task managers. They spent a lot of time talking about OmniFocus and Asana and some time talking about general evaluation of tools, and while they often recommended "find the tool that works for you", I don't think they established a good criteria for selecting a task manager. It got me thinking about the steps I find important.

I'm going to focus on personal task management here. Group / collaborative management rarely applies to a "whole life" scenario and is typically not something that is chosen by end users anyway. Someone who is a freelancer working with various groups of people at different times may benefit by such a system, but for the most part I believe that group/collaborative task management can be a second level system if it is needed in one's life.

So what should a personal task management tool provide? A good system should help you collect, clarify, and organize, to borrow terms from David Allen. To borrow terms from the Rational Unified Process, these steps may be: inception, elaboration, construction, and transition. Finally, there is also review. When evaluating tools, it may help to make a list of these things and try to answer how well each tool helps. The short list is:

  1. How easy is it to rapidly enter things into the tool?
  2. Is it easy to edit and elaborate on things once they're in the tool? Is it easy to defer things off to the future?
  3. How easy is it to group and organize tasks? Does the tool support organization in a way that reflects my system or brain?
  4. Once tasks are in the tool, how easy is it to focus on just the things I need to get done now? How easily does it let me define what 'now' means?
  5. Can the tool be trusted to be with me and reasonably up-to-date wherever and whenever I need it?

I expand on these topics, and more, below.

Collection (Inception)

Collection is an important step. How easy is it to rapidly add new items to the tool? This should be offered in a way that can be as unobtrusive as possible. On the desktop, many task managers feature a 'quick entry' window that can pop up, accept input, and disappear. Some may accept emails, either via special rules and scripts that run inside the mail client; others may have a dedicated email address. On devices, does it support input within a tap or two of the launch screen? Does it support voice? The tool should not only make it easy to add new items, but it should make it easy in a way that makes sense for how you use it. This can be easily tested within any desktop software's evaluation cycle.

A good modern task manager should have an "inbox" which means "collected, but unprocessed items." You should be able to add to the inbox easily and without guilt. You should also be able to process that inbox easily, which is discussed in the following steps.

Clarification (Elaboration)

In collection mode, you may jot down just a couple of words or copy in a few lines from an email. The next step is clarification/elaboration. A good tool should make it easy to start organizing items and their relevant data. A task like "call vet" should be easily expandable with a note about why you need to call the vet. If the tools supports devices like the phone, it should highlight phone numbers in the notes to make it easy to place a call within the task manager. The best way to cut down on the anxiety of tasks is to provide your future self with all the information it needs so that when it comes time to do the task, there's little reason to escape it. When evaluating the tools, think about what kind of information is helpful for that future self and evaluate whether the tool you're using makes it easy to enter and view that information or if it makes it difficult.

When clarifying a task, it may cause multiple subtasks to break out. Does the tool support hierarchies (outline style structure)? Does it let you think about how those hierarchies work (i.e. - are they a chain of dependent or independent actions)? If you're someone like me who thinks in outlines, this is an important thing to evaluate. If you're someone who thinks in flat lists, it's not as necessary.

Clarification is as important as collection, and tools that make it difficult to edit task titles and notes are to be avoided. Again, within the trial period of most desktop apps, you should be able to get a feel for this.

Organization (More Elaboration)

Most tools offer organization. A good GTD® style tool should promote organization by project and context. How easy is it to turn an individual task or one with subtasks into an new project? How easy is it to assign projects from the collection pool (Inbox)?

This is where tools can differentiate themselves and you can really start to feel out whether a particular tool might work for you. Some tools support projects as top-level list items, and everything else such as contexts are provided by tags. I'm not a big fan of tags (I find maintenance of a tag taxonomy tiring), but it works very well for others. Other tools support both hierarchical project and context lists. Some tools make it was to group things into folders as "general areas of focus".

The important evaluation questions are: is it easy to organize tasks in a way that makes sense to your brain and/or system? If you're a drag and drop person, does the UI support easy organization using drag and drop? If you're a keyboard person, are there sufficient keyboard shortcuts for assigning projects and tags/contexts as well as support for reordering (moving tasks up and down)?

Scheduling

Dates are important for clarification/organization, and allow you to have a good system for handling as much of your life as possible. A good tool should allow setting both start and due dates while requiring neither. Using both start and due dates can be an effective way of reminding yourself about a follow-up communication (i.e., getting an email that says "get back to me in a month if …") or other long-term reminders (renewing a web domain; canceling or renewing a membership; making travel arrangements for a conference). Start dates are also good for deferring or pausing work when interrupted by a more pressing project. If you don't always trust your own memory, a tool that tracks completion dates may be important when you need to look back at when you last paid a certain bill or need to write a report of work activity completed that week for a particular customer.

A particularly good tool should integrate with the platform's calendar if scheduling is important. This could be either being able to publish items as an internet calendar feed, or providing a view of scheduled tasks alongside other calendar items inside of the tool itself. Or both.

Note that items in a personal task system are just that - tasks. It's a good place to store reminders about setting appointments (i.e., call dentist in six months to schedule cleaning), but not a good place for the appointments themselves.

Construction (doing the work)

Your job is not about how well you organize your tasks. Your job is, well, your job. At some point, you actually have to do the work. After it's been collected, clarified, and organized, how easy is it to view? Does it offer views that let you focus on just the tasks you need to do now/next? What you need to do today? Who do you need to call? Who do you need to email? What files were you going to edit? What applications do you need to deploy?

Some days, I feel like the main character from the movie Memento, suddenly asking "ok, what was I doing?" If I've put my tasks together in my system in the right way, I should be able to answer that question pretty quickly by turning to my task manager.

This may be the hardest step to evaluate as this is when the system gets personal. The tool needs to step out of your way so you can do your work, but be able to answer the important "OK, what's next? What was I doing?" question as quickly as possible.

A good tool should help you focus on just the tasks that are relevant, hiding everything else, but make it easy to pull back to the wider view. You don't need to see bills or laundry action items when you're coding in the office or preparing a legal brief; and you don't need to see those office items when you're grocery shopping.

Having a good system or process like GTD® helps you understand the significance of these areas of focus and can help you evaluate the tools better. If you don't have a system of organization beyond basic project or context lists, then the more powerful tools can be avoided and you can get your feet wet with something like the Reminders App.

Transition (moving forward)

Of course, a good task management app should make it easy to mark a task as complete. If it has good "what's next?" views, it should pop the right item(s) into place as soon as you mark one off.

A good tool should keep completed items in the system but out of sight, and make it easy to bring those completed items up again when needed.

What you think should happen when you mark something as complete is a personal choice. I like having access to "what's next" views that just show me the next actions available in a certain context. But I also like being able to switch right to a project and focus on its actions (both next and upcoming), which can work well at work when I'm doing a single coding project at a time and want to see the upcoming steps.

This can be another hard one to evaluate. Try the different tools and just get a feel for how they present the items you're supposed to do now, and what happens when you mark those as done, and if you like the flow. Since this is where customizations may come in, you may want to read into the help files and videos and communities if you're not sure the tool does what you want.

Review

This is a major part of GTD® and, I believe, any good personal task management system. Review is what keeps your system from being "a place where good ideas go to die".

To evaluate review, just try to see if a tool has a good way of seeing and navigating through everything active or future so that you can evaluate if that's something that should stay, should go, or needs new clarification. This is hard to evaluate during the limited free-preview times offered by most tools because it might take a while to build up enough data to review. Some tools offer full on review modes, with the ability to timestamp the last review and when next to review a project. If this kind of review mechanism is important, look for that when evaluating tools. It's not a killer feature, but it can help ease the mind.

Ubiquity (everywhere you want it to be)

In GTD®, David Allen talks about needing a "trusted system" which is something you can rely on as being always available, always working, always up to date. The best system for this for the longest time was pen and paper. But now with smart phones, widely available internet, "The Cloud", etc, this can be handled by software. Is the tool you're evaluating available on the devices you need? Is it easy to keep all of those devices up to date?

You may not be able to evaluate software on the phone or tablet for free, but when looking at these systems, you can get a sense from the tool makers web sites and communities around that tool about how well ubiquity works.

Labels: , , ,

3.1.13. Remembering What You've Done, with OmniFocus
This year, the Christmas / New Year holidays brought about a pair of very short work weeks. This first day back brought with it our usual semi-weekly meeting, and one of the items that was still on my list was a pair of support tickets that I had completely forgotten. My boss said "no, you know about them, you were working on them last week and talking about them!" Yet there were no active action items or projects related to these items in my OmniFocus, and I was sure that if I was still working on these issues, they'd be written down. Did my system fail me?

We checked the live site in relation to in question and they appeared partially done. "That's funny," I thought, "why didn't I have an action for the remaining items? Did my system fail me?" I was stumped, trying to remember the previous Friday. I had worked on these issues, and towards the end of the day they opened up a larger topic that we discussed in our week-closing get together (half meeting, half beer bash). Maybe I got these support tickets nearly-finished, but the week closer had killed the final one. But again, if that had happened, I would have that final action written down. Right?

Enter my Recently Completed OmniFocus perspective, which shows all of my completed actions, grouped and sorted by their completion date. I flipped back to last friday, and sure enough, there were both support tickets as OmniFocus actions, and they were both marked as completed. My system didn't fail me! I double checked our source code repository and found the related commits and was able to verify that all the actions were, in fact, completed.

So what happened?

When the support issues came in via Basecamp, our company's project management system, I then entered them into OmniFocus which I use as my personal system. With OmniFocus, I then have much more control over editing items, grouping, organizing, splitting, etc. As I completed the items, I marked them as complete in OmniFocus, but I forgot to mark them as complete in Basecamp, which caused my boss to bring the items back up in our Wednesday meeting. A new trick that I've added to deal with this is to make a new context, Work : Basecamp, with an action to go in and close out tasks and/or leave comments as necessary.

The takeaway from this is that when using OmniFocus as your complete system, it becomes a trusted resource for not only "what am I supposed to be doing?" but also "wait, didn't I do that already?"

Side Story on Bills

A few years ago, I remember getting a phone call from American Express, asking why I hadn't paid my Amex Bill. It turns out that I had just forgot to do it. I had paid the previous bill pretty close to the deadline, and then spent the next month thinking I had paid the latest bill because my brain said "yeah, I just paid that!"

Now I put all bills into OmniFocus, even if I intend on paying the bill immediately upon arrival. Why? I have a Bills Paid perspective which is like my Recently Completed perspective but focusing on just Bills, and I can refer to that if I'm thinking "wait, it feels like I should be paying the gas bill right about now. Did I do that already?" Also useful for any paper-mail or other check based situation (like my rent checks) when I notice that I have too much money in my checking account and want to see if I did pay that month and the recipient was being slow, or if I was the errant party.

 

Labels: , ,

18.11.12. My Email Inbox Workflow with OmniFocus
I had one of those mornings where I was dealing with personal morning stuff - exchanging some items with a neighbor, worrying about some odd behaviors from the dog, and the usual flurry of getting dressed and trying to get the dog out for a walk. As this is going on, a rush of emails starts coming in of actions to do for work, on a project that I had done little work on and wasn't immediately prepared to handle. In particular, I was seeing these emails come in on my iPhone where I could do little about it. My first instinct, and action, was to start stressing out a little bit: "Why this project? Why now? What do all of these things mean? Oh crap, is this new email related to another project?" Meanwhile, more emails were coming in and getting grouped together in my inbox in their own stream-of-receipt way.

But then I was able to let go of the stress and let the flood continue. Why?

  1. It's my job to deal with this stuff. There was no bad news or anything here.
  2. I didn't need to deal with it immediately. Just because there was an email on my phone didn't mean that I had to start working. It can be easy to forget this.
  3. I didn't even need to read every email immediately. Once I recognized the pattern, I could just let them pile up like in the old days before constant communication, while still keeping an eye out for anything urgent or that could be answered quickly while waiting for the dog to finish sniffing whatever has her attention while we walk.
  4. I strive to maintain "Inbox Zero", so I didn't need to worry about preserving an unread count as "emails that need processing". Basically, if it's in the inbox, it's awaiting processing. So after reading a couple of these emails and recognizing what was going on, I knew that I could wait until I got to the office to actually deal with them.
  5. I didn't have worry about process or organization. I have OmniFocus, and I knew that it would be easy to turn these static out-of-order emails into actual items that I could process. OmniFocus makes it easy to copy all or part of an email message to its own inbox, but from there I can edit the text, re-order things, start picking apart subtasks, and so on.
  6. Once those items are captured into OmniFocus, I can move those emails out of the inbox and into a project folder, possibly never to be seen again. I can open the original message from OmniFocus if needed. This will bring my Inbox count back down to zero (or near zero).
  7. Now I can actually process all of this information that came flooding in and get things done.
Also, spending time with meditation has allowed me to recognize the silliness of that sudden stress-tick that comes when emails like this start coming in while I'm rushing to finish other things. It made it easier to recognize, as Merlin Mann once said in an episode of "Back to Work" (can't remember which episode), that it's just a new email. I'm not alone in the woods, trying not to be eaten by bears. Instead, I think of the list of things above: "wait, why am I worried about this? I have a process for dealing with this, it'll be OK."

At PyCon 2012, Paul Graham spoke on how he wanted a replacement for email that was really "send me to-dos." I guess for him, most real emails are actionable items and he wants them presented as such. Combining OmniFocus' mail clipping capabilities provides something similar for me, but with me taking an active step in transforming some inbound request into actionable data. I think this works better since not every email is actionable, or its action may be a quick reply. For me, the important thing is to figure out what needs to be done and get all of those messages out of my Inbox and filed away.

If the email is just reference info, or is not related to anything I'm currently doing but may come up again in a few days, I scan it and file it away. If it warrants a quick reply, that is done before filing it away. Longer term reference info is often copied into something like Apple's simple Notes app before filing the original email away.

If the email pertains to something actionable, it tends to go into OmniFocus for further processing. Most of the time this is related to work stuff, but it can also be reminders of something to do at home such as a reminder to download an update to some audio software. OmniFocus' quick entry window makes it easy to assign projects and/or contexts. If it requires deeper thinking, it just goes into the OmniFocus inbox. Then the original email may, of course, get filed away into an appropriate folder.

If the email relates to something like a shipping notification that I want to track, I copy the tracking number into an iPhone app dedicated to package tracking. For a long time, these tended to be the kinds of emails that would stick around in the inbox until the item arrived, but during some shopping sprees or slow-delivery items, I found that the emails were getting distracting. A dedicated app also makes it easier to visually track the status of multiple shipments. Once the shipping info is in the tracking app, the original email is deleted. No need to keep those around for reference.

Receipts get archived immediately to a folder named "receipts". Other emails that are not related to a project or receipt that are not spam are now moved to the "Archive" folder. I'm glad this is a quick action in OS X's mail (I used to keep a generic "reference" folder for this, and turned that into the "archive" folder).

And with all this, I tend to keep my email inbox count to zero or near zero. This makes it easier to process big volumes when they come.

See also: The OmniFocus and GTD White Paper (PDF). My personal system is not full GTD, but the basics are there and the core inbox-processing workflow is well diagrammed and discussed in this paper.

 

Labels: , , , ,

16.7.08. OmniFocus Revisited

I've been using OmniFocus for a while now on my Mac, and made occassional use of it's predecessor, Kinkless GTD. As an implementation of the "Getting Things Done" method, or just as a personal "what am I doing?" manager, OmniFocus 1.0 was pretty good. I, personally, liked it better than the alternatives I tried, but some of that may be due to familiarity with the OmniOutliner heritage. And OmniOutliner remains one of the greatest Mac OS X applications ever written. I believe it's one of the greatest outliners ever written. Sure, it doesn't have Mind Mapping support and it can't run a slideshow (although its data can be exported to OmniGraffle or Keynote). OmniOutliner is a joy because it's fast, beautiful, ridiculously easy to use, while still having a fair amount of power and flexibility. Kinkless GTD was actually a set of AppleScripts that made OmniOutliner act like a specialized GTD application (which OmniFocus now does natively).

But when it came to OmniFocus, I only used it at work, and even there I only used it intermittently. But with the 1.1 "Sneaky-Peek" version of the desktop client (still under development), OmniFocus supports synchronization via MobileMe or any WebDAV server. This not only enables me to share this information between the office, home, and the rarely used laptop, but it enables sharing with the awesome new OmniFocus for iPhone.

Second only to the iTunes Remote, OmniFocus for iPhone is the coolest mobile application I've seen so far on this young platform. OmniFocus for iPhone (or iPod Touch) can synchronize over Wi-Fi, Edge, or 3G. That alone makes it very useful. Cooler still is that it's location aware. "GTD" has a strong concept of contexts. A project may require picking up supplies at an office supply store, assembling at home, and mailing out items at the post office. With OmniFocus, you can add location information to any context. This location information may be based on where you currently stand (using Location Services), on a manually entered address, on an address from a Contact record, or on a business search. Then when looking at the "By Location" screen in OmniFocus, available actions get grouped by their location in relation to where you currently stand. "Grocery Store: 1 Mile; Post Office: 3 Miles..." Very Cool.

This is the first electronic implementation of GTD that actually appears usable. Even if you don't follow GTD religiously (I certainly don't), the projects/contexts combination is an effective way of organizing actions. The location-aware contexts in OmniFocus for iPhone help answer the question "what can I do based on where I am?" When used well, it should make it harder to forget those little items that you needed to do or pick up for some small project.

Labels: , , ,