Why Many of my Apps Failed And What Comes Next

I’ve started building something new.

I’m about four weeks in and already finding it incredibly useful in my day-to-day.

I’ve built many different apps over the years, thrown them against the wall, and excitedly watched which ones developed a following and which ones failed miserably.

Most of my apps have fallen into two categories. There are the ones that solve a personal need I face, that I can inform and direct with my own experiences. And there are those where I saw a market opportunity or just thought they might be fun to build.

Almost all of the ones in that second category have failed. Incoming!, Nottingham, Highwire. They each had their share of a few passionate and engaged users, but mostly were ignored. (The jury is still out on Triage.)

But that first category of apps? Those have flourished.

I was a web developer for ten years before I started building Mac apps. I know the industry well. And working at an agency meant I was juggling many different websites at once. I needed a faster/easier way to spin up local development environments, and that led to me creating VirtualHostX. Which, in turn, led to Hostbuddy and Hobo years later.

My core set of apps, as I think of them, found a wonderful niche among solo web designers and developers and the small companies they work for. And the apps have succeeded beyond my wildest dreams. From 2012 to 2014 they were my full time and only job.

But since their heyday in 2014, sales have steadily declined. A big part of that, I think, is because the world has moved on from the LAMP-based standards of 2004 – 2012. Nginx, NodeJS, etc. have led to a sea change. If it weren’t for WordPress’s continued dominance, I’m not sure if I’d have any more sales at all.

So, I’ve seen the writing on the wall for a few years now, and have been on the lookout for ways to branch out and diversify my app portfolio.

I’ve done some freelance jobs here and there, and tried a few new things on my own, but nothing has taken off. And as I talked about earlier, I think a lot of that is due to none of those new ventures being true passion projects that I could bring my own experiences as a user with specific needs.

But four weeks ago I finally became fed-up with the awfulness of Mint.com. I know they’re able to provide a free service because they plaster the site with advertisements and sell my data, and I’d be ok with that if they weren’t so intrusive. But they’re taking over nearly the entire browser window now. Add to that the cumbersome Web 2.0 UI and lack of any real reporting capabilities, and I’d had enough.

What I really want is a fast, powerful, native Mac app that automatically imports my financial data and gives me the ability to slice, dice, filter, organize, and export my data in every possible way. The flexibility and power of an Excel sheet with the learning curve of iOS and the familiar paradigms of a real Mac app. Something that keeps me in control of my data, respects my privacy, and syncs to all my devices.

So I built it.


Most of it. It’s not done yet, but all the major pieces are in place, and I’m using it to track my family’s budget every day.

I’ve taken a heavy dose of inspiration from one of my favorites apps – OmniFocus – both from a UI perspective (a clean, modern, attractive Mac interface) and from the power they afford users over their data by way of custom perspectives.

My app is smart. It auto-categorizes your transactions. You can just let the app do its thing and everything will end up in the (mostly) appropriate place. Or you can categorize each transaction manually. Or you can setup smart rules to do it for you automatically. Whatever fits your workflow.

Each transaction can belong to a single category. But categories can be nested. With one click you can see all the dining out you did last month. Or just the fast food orders. Or just what you spent at McDonalds.

And then there are tags. Assign multiple tags to a transaction. Do it manually, or create a smart rule to assign them automatically. Then use the app’s powerful search feature to find any combination of AND / OR.

Take search further by combining tags with categories and date based filtering. Find every Uber ride tagged #business during the last quarter and export the results to a CSV you can send to your boss to get reimbursed. Snapped a picture of the receipt with your iPhone? Yep, you can attach files, too.

And once you’ve got that perfect search query and set of filters in place, save it as a new Report that you can recall at any time. Just like an OmniFocus perspective.

And, just for fun, why not view all of your transactions plotted on a map?


I’ve got all of this working (albeit without the necessary UI/UX polish) and it’s totally opened my eyes to some aspects of our financial situation that I’d overlooked. The last major piece is adding a budgeting component. I know the system I want to adhere to, but I’m still working through how it will fit in the interface.

Of course, I’m leaving out the iOS counterpart. But I’m saving that for later. The model layer is still a bit too much in flux. But I’ve written all the business logic to be platform agnostic. So the plan is to reimplement the appropriate features in UIKit (not everything the Mac app can do would make sense or be needed on a mobile device) and reuse as much of the existing codebase as possible.

But don’t forget syncing. As I said in my requirements, I want this app to be privacy-focused and have the user be in charge of their own data. So, no financial data will ever touch my server. Unless they enable syncing, no data will ever leave their device. But if they do want to sync, that’s all privately handled by CloudKit so I, the developer, can’t see their info even if I wanted to.

So, that’s it. That’s what I’ve built and am working towards completing. I have no idea when it will be ready. CloudKit could easily throw a big wrench into everything. And I’ve also got major updates to VirtualHostX and Hostbuddy underway and due out this Fall.

But I’m excited. It’s an app I’m passionate about and I have a clear direction and feature set in mind. It caters to a broader audience than my developer-focused products and could potentially save my tiny company if they continue to trend downwards.

A Faster Way to Create Multiple Tasks in OmniFocus (with all sorts of details!) Using Drafts.app

Following-up on my previous post about using Drafts to create new GitHub issues, here’s another action I built and use all the time.

This allows you to create multiple tasks in OmniFocus with defer dates, due dates, and tags in one step.

It does this by parsing a compact, easy-to-write syntax that I’ve adopted from other OmniFocus actions and tweaked to my liking and then converting it into TaskPaper format, which can be “pasted” into OmniFocus in one go. This removes the need to confirm each individual action separately.

Yes, you could also do this by writing your tasks in TaskPaper format directly, but I find its syntax (while innovative!) a bit cumbersome for quick entry. The format this action uses isn’t as feature-rich, but it does everything I need and with less typing.


Each line in your draft becomes a new task in OmniFocus, with the exception of “global” tags and dates, which I’ll describe later.

Each task goes on its own line and looks like this:

Some task title @defer-date !due-date #tag1 #tag2 --An optional note

The defer date, due date, tags, and note are all optional. If you use them, the only requirement is that they come AFTER the task’s title and the “–note contents” must be LAST.

The defer and due dates support any syntax/format that OmniFocus can parse. This means you can write them as @today, @tomorrow, @3d, @5w, etc. If you want to use a date format that includes characters other than letters, numbers, and a dash (-), you’ll need to enclose it in parenthesis like this: @(May 5, 2019) or !(6/21/2020).

Global Defer/Due Dates:

By default, tasks will only be assigned defer/due dates that are on the same line as the task title. However, if you add a new line that begins with a @ or ! then that defer or due date will be applied to ALL tasks without their own explicitly assigned date.

Global Tags:

Similarly, if you create a new line with a #, then that tag will be added to ALL tasks. If a task already has tags assigned to it, then the global tag(s) will be combined with the other tags.

Full Featured (and contrived) Example:

Write presentation !Friday #work
Research Mother's Day gifts @1w !(5/12/2019) --Flowers are boring
Asparagus #shopping

You can install the action into your own Drafts.app from the action directory.

Moving to a More Comprehensive Weekly Review

Your weekly review is probably the key to keeping your trusted system running smoothly and most importantly out of your mind. For years, my review was little more than going through my list of projects every Sunday morning and making sure each was in an acceptable state.

But after reading Kourosh Dini’s wonderful book Creating Flow with OmniFocus, I’ve taken his advice and implemented a more comprehensive weekly review that covers more than just my list of projects. It’s designed to be a whole review of every system in my life that accepts incoming data or holds reference material. This holistic approach does a much better job at keeping my mind free of open loops and all of my concerns written down in a trusted location.

To start with, I now have a “Weekly Review” project filled with all the action items it takes to complete my review each week. This project is on hold so the tasks don’t pollute any of my perspectives. When it’s time for a review, I drag the project to the top of the project list while holding down the Option key on my keyboard. This tells OmniFocus to create a copy of the project rather than just re-ordering it in the list. Once the copy is created, I rename it with the date (ex: “Weekly Review 2017-09-25”) and mark it as active. I then focus on the project and begin working my way down through all the action items – checking them off as I go.

Here’s what my weekly review project looks like…

The first task is to go through all of my inboxes and process anything remaining in them. This includes, of course, OmniFocus but also Evernote, DEVONthink, and a physical inbox for postal mail. This process is pretty painless. It’s just a matter of taking a few minutes and putting everything you’ve collected over the last week into its proper, organized place.

Next up is a review of all of the projects in my OmniFocus database. I won’t go into too much detail about this. If you’re curious, you can read Getting Things Done or Creating Flow with OmniFocus – as each one talks extensively about how to do a proper review. For me, it’s a brief moment to meditate on each project and make sure 1) there’s a next action waiting to be done and 2) there are no extra thoughts or tasks about this project bouncing around in my head that I haven’t written down.

After reviewing all of my projects, I specifically pull up a perspective showing me all of the errands I have to run. This creates a solid foundation in my head of where I need to eventually go around town throughout the week. Most of these tasks don’t have due dates. Rather, they just need to be done in the near future as appropriate.

Following my errands I do a quick look over of all my custom perspectives in OmniFocus. I’m looking at each one and deciding if 1) is this perspective still relevant and something I look at frequently? If not, I delete it. 2) Is it still showing me the correct data I need to see? If not, I adjust its settings. And 3) Can I think of any other common “queries” or views of my database that I could turn into new perspectives?

The next two calendar tasks help keep me grounded. I do a quick review of what’s been on my schedule the past two weeks, which can often jog a few extra followup items out of my head. And then I get a lay of the land for the next six weeks. This, too, can shake loose tasks related to your calendar events that may have been skipped over or forgotten.

Last, is a section where I add any other recurring things I need to check in on. Currently, that’s just Google Photos as I do a review and sort of all the photos my wife and I have taken over the last week.

Finally, there’s The Pause. Dini pushes this point hard in his book and I tend to agree with its importance. This is a moment to sit back, close your eyes, and just let your mind wander wherever it wants to go. And as it does this, take note of any action items it uncovers that you can add to OmniFocus. The more stuff you can get out of your head and into your trusted system, the more energy you’ll have to focus on whatever task at hand you decide to do.

So that’s my weekly review. It takes about an hour each week, but it’s completely worth the time.

Again, my thanks to Kourosh Dini’s fabulous book Creating Flow with OmniFocus for the insight into his own review process from which I cribbed most of my ideas.

Creating a Daily Standup Perspective With OmniFocus

Like many of you in the software industry, every morning at 10am my team has a standup meeting. It’s meant to be a quick five minute meeting where everyone says what they accomplished yesterday, what they’re planning on doing today, and if anything is blocking them from moving forward. If done correctly, it’s a super-fast way to stay in the loop with everyone.

But sometimes it can be hard to remember all the details about what you did yesterday – especially on Mondays when you’re trying to remember past the weekend and back to last Friday. To help with this, I’ve traditionally kept a journal or work log of what I’m doing throughout my day. But with my recent job switch, I decided to start keeping all of that information in OmniFocus where I can slice and dice the data in ways that a plaintext journal won’t allow.

Because we use JIRA at work to track our tasks, rather than using OmniFocus the traditional way by entering my to-dos and then flagging what I need to get done to create a “Today” perspective, I get my marching orders directly from JIRA. So instead of entering my to-do’s into OmniFocus in advance of doing them, I add them as I complete them and immediately mark each as completed.

What this gives me is a dated and timestamped list of everything that I’ve accomplished. And with the “Standup” perspective that I’ve setup, I can simply flip to it in the mornings during our meeting and get an instant glance of what I accomplished yesterday and any tasks that happen to be waiting for me to complete.

To accomplish this, all of my work tasks are assigned to an OmniFocus project that corresponds to the real life project they belong to. For contexts, however, rather than giving them something like “Office” or “Laptop” or “Email”, they all get the same context simply titled “Work”. This allows me to group them together and sort by completion date in my custom perspective. Here’s what it looks like…


As you can see, all the tasks I’ve completed are grouped by date – completed today, yesterday, this week, this month, etc. And then at the top is anything I’ve yet to do or might be currently working on.

This gives me a super easy way to provide my standup report each morning without having to remember everything myself.

Here’s a picture of the perspective settings I’m using to do this…


I’m not using a project hierarchy, grouping by Completed, sorting by Project, showing Any Status, and All available items. I’ve also focused the sidebar selection to just my “Work” context.

By saving these settings as a custom perspective, it not only helps me out each morning, but also gives me a instant look at what I’ve accomplished or when something was completed if a boss or co-worker has a question.

Must, Will, Might

Last month I came across a clever post about using just two GTD contexts by Matt Henderson (by way of SimplicityBliss). Like many of us, he’s experimented with lots of different ways of managing contexts. There’s the traditionalist approach where your contexts mimic the tools or location available to you: home, work, Mac, phone, etc. Then there’s Sven’s more modern approach based on energy level, which I’ve also advocated: brain dead, quick hits, full focus, etc. But Matt’s unique take is to simplify things even further into Will Do and Might Do.

It’s a fascinating idea because by getting rid of context groups such as work or personal (as I have mine setup) it implicitly acknowledges a modern-day truth we might not all be comfortable with. That being our work and personal tasks cross-pollenate and are often available simultaneously throughout the day. If you’re anything like me, you’re just a likely to pay the electric bill during a few minutes of downtime at work as you are to answer an email from your boss before bed. And with the majority of our work now available to us from nearly any device, the clean boundaries between traditional contexts break down. And as for those who used energy levels to define contexts, at least in my case, I would more often find myself scanning all of my available todos when looking for my next task, rather than taking the time to asses my current energy level and then switch to a perspective focusing on just that type.

When all those definitions fall away, what you’re essentially left with are tasks that you will do and tasks that you might do. Which is exactly where Matt’s Will Do and Might Do contexts come from.

I was so intrigued by this idea that I took the month of August to try the system for myself. However, I have made a few tweaks to the system he describes. I’m please to say that, a month later, this new system has worked well for me and I plan to continue with it. Here’s what I’m doing…


First of all, in addition to the Might Do and Will Do contexts, I’ve added Must Do. These three contexts impart a slight sense of priority and timeliness that I felt was missing. Tasks that fall into the Must Do context are items that simply must get done without delay. Typically, anything in this group is automatically added to my Today list. An example might be calling a repairman when the air conditioning breaks or paying my health insurance. Will Do contains tasks that I have committed to completing but that don’t have a firm deadline. Examples are “change air filters throughout house” or “install backup software on mom’s laptop”. None of these tasks are particularly urgent. They just simply need to get done at my convenience. Finally, I have my Might Do context, which is full of tasks that I would like to do some day but have not yet committed to. These are things like “schedule a cookout with Matthew when the weather is nice” or “investigate how to buy Google advertisements”.

In addition to those three contexts, I’ve left in place those that are location based errands. This means I still have contexts for the grocery store, pharmacy, and hardware store. I also have a context for any phone calls I need to make as I hate talking on the phone and would rather have all of those tasks together where I can just knock them out.

Finally, I still have waiting, on-hold contexts for tasks that I’ve delegated to other people.

This new context arrangement has really simplified how I think about my tasks. It’s made processing my inbox much faster, too. I’m no longer hemming and hawing about which particular energy level a todo falls under. I simply have to decide if it’s something I’m committed to or not. And, if I am, can I do it at my leisure or does it need to be done right away.

It’s always healthy to re-evaluate how your GTD system is setup, and I encourage you to give this three-context system a try. There’s nothing wrong with finding a more efficient way of working or a method that just makes better sense to you. Just don’t let toying with your todo app get in the way of actually getting stuff done.

Connecting Amazon Alexa’s Todo’s with OmniFocus

Last week Amazon Alexa and IFTTT hooked up in a big way. They now have triggers that allow you to do things whenever you add an item to your Alexa to-do or shopping lists. This is awesome because now those items don’t have to live within Amazon’s ecosystem. With a little IFTTT tinkering you can quite easily have them shuttled over the net and into OmniFocus.

This means I can be cooking dinner and literally say out-loud “Alexa, add red pepper flakes to my shopping list.” Or “Alexa, remind me to schedule a cookout with Matthew.” And the next time I open OmniFocus, those tasks will be waiting for me. Awesome.

First, you’ll need to login to your IFTTT account and activate the “Amazon Alexa” channel.

Then, create a new recipe with a trigger of “If item added to your Shopping List”.

Next, for the action, send an email to yourself with the following settings…

Screen Shot 2015-07-31 at 7.20.21 PM

Finally, in your email provider’s settings, setup a rule for any email with the body “Alexa Todo” to forward to your secret OmniSyncServer’s email address. They’ll get the email with your to-do item as the subject and add it to OmniFocus.


Don’t forget, your Alexa shopping list is separate from your Alexa to-do list. So do what we did above a second time for your to-do list to make sure you can add items to either list.

Where do External Triggers Belong?

The great thing about blogging vs a shorter medium like Twitter, is you can have actual, in-depth conversations. There’s nothing better than someone replying to a post you wrote with one of their own. So here’s one…

Last week I wrote about External Triggers in OmniFocus. Sven Fechner of SimplicityBliss picked up my post add added his own thoughts. He agreed with the need for a designated place to park these types of tasks, but he disagreed with where I recommended putting them. He writes:

Rather than adding a new bucket, these type of external triggers I cannot control or influence get added to my “Someday/Maybe” Single Action List which already exists anyway.

When it comes to OmniFocus and GTD, I fully subscribe to the idea of “whatever works best for you”. But to his point specifically, I disagree with his solution.

The reason I don’t put my external triggers in a “Someday/Maybe” single action list is because these types of tasks are items that I’m committed to doing. They’re not tasks that I hope to someday get around to maybe doing them. I absolutely plan on finishing them – I just can’t complete them at this point in time.

So, for me, they don’t fall into a “Someday” or “Maybe” category, which is why I’ve created a new, dedicated list to place them into.

Creating a Weekly Preview from your Weekly Review

I’ve long felt that the two most important aspects of following GTD are having an inbox where you can quickly record any task that occurs to you and then the regularly scheduled review that keeps your system on track and up to date with your priorities. For me, the weekly review has always been the key component. It’s what keeps me sane and prevents me from becoming overwhelmed. I know that at the beginning of every week I’ll have a full hour dedicated to reviewing each project, killing off anything that no longer needs doing, and identifying any tasks that might have slipped my mind.

Last year, however, I changed how I did my weekly review and split it into two sessions. One on Monday mornings that I call my weekly preview and one before I check-out on Friday afternoon that I now call my weekly review.

The Weekly Preview

Every Monday morning before I begin work, I block off an hour to review all of my projects and take a look ahead at the week. Like David Allen suggests, I consider each action in all of my projects and decide whether or not I’m still committed to doing it or if it should be dropped.

During the course of the weekly preview, I consider what my large goals for the week should be. I do my best to adjust my next actions so that as I work through my tasks during the week, they naturally lead me closer to completing what I set out to accomplish on Monday.

I also take this time to do any work that influences how I spend the rest of my week. For example, I review all of our finances and any upcoming bills that are due. I also scan through my external triggers project to see if any of the triggers have happened and if I need to make any new tasks based on them.

My weekly preview is where I get my head straight, my mind focused, and my plans in order for the upcoming week. It’s about setting a concrete plan for what you want to accomplish and building the motivation to see you through the week so that the tasks you commit to get done.

The Weekly Review

My weekly review happens every Friday afternoon. It’s an hour I spend reviewing what got done, what was left behind, processing all of my inboxes, and making sure everything is ready to go Monday morning so I can spend the weekend with a clear mind.

First, I switch to my OmniFocus completed perspective and review everything that I accomplished. I often pull out items that need to be included on status reports or that should go into my journal. Then, I re-visit every project and make sure each one has a valid next action so I’ll be able to choose what to do come Monday morning. I also take one final look at my external triggers to see if anything changed since Monday.

And that’s it for the review of my actual OmniFocus data.

The rest of the review is spent processing all of my inboxes. That means going through

  • Any documents I’ve scanned to PDF
  • New photos I’ve taken that might need to be sorted into albums
  • Any new notes added to my Evernote @Inbox
  • Any remaining tasks in my OmniFocus inbox without a project or context assigned to them

Finally, I login to Mint.com and see how our spending for the week compared to our budget.

And with that, I’m done and ready to enjoy the weekend with a clear mind. The weekly review is where I assure myself that everything is in order, is safe to mostly ignore for the next two days, and will be in a good state to pick back up on Monday morning.

Technically Speaking

Like so many of my posts about productivity and OmniFocus, none of this stuff is that advanced. It’s really just a bunch of realizations that I’ve codified into routines and habits. (And that I’m having fun turning into posts on this blog.)

As for how my weekly preview and review work in OmniFocus…

I have a single action list in OmniFocus called Routines. As I’ve written about before, “I use it as a dumping ground for all the periodic checkins I have to do to keep my other trusted systems running smoothly.” Inside it are two tasks called “Weekly Preview” and “Weekly Review”. Within each of those tasks are all the other actions specific to each one that I’ve written about above.

The “Weekly Preview” task is set to repeat and be due every Monday. And the “Weekly Review” repeats and is due every Friday.

About six months ago I deleted those tasks and trusted that they were habitutal and I’d do them every week as planned. Everything went fine for a few weeks, but eventually I would bargain with myself and say “Well, I didn’t take many photos this week, so I don’t really need to go through and sort them.” That happened once, twice, and then before I knew it I had hundreds of photos in my backlog to process.

Once I realized I was getting lazy, I put the tasks back into OmniFocus. I discovered it wasn’t so much about remembering to do all the review actions each week, it was about that magical little checkbox next to each task that I can’t mark done until the task is really done. It holds me accountable.

And that’s the best way I can summarize the benefit of following a consistent pattern of reviewing your system. It holds you accountable to the priorities you’ve committed to. And staying true to your commitments is the single best way towards achieving your goals. And if you’re not getting closer to your goals, why even have a system in the first place?

External Triggers in OmniFocus

In OmniFocus, and in other GTD systems I’m sure, there is the concept of a sequential project. A sequential project is any task with two or more steps that have to happen in a specific order. You can’t move on to the next step until you’ve completed the first step.

An example that’s currently on my plate is a project called “Return Remote Control to Amazon”. I can’t “Drop-off package at UPS Store” until I “Print off and affix shipping label”.

This is a very powerful productivity weapon because it allows you to fill up all of your sequential projects with tons of tasks, knowing they won’t become a distraction or source of anxiety since your Next Action List will only show the one task you can actually do at a time.

In most cases, sequential projects cover my needs because they are comprised of tasks that I’m personally responsible for and have control over. But occasionally there are two other types of dependent actions that I find I need to handle differently because they are outside of my control. They are

  1. Tasks I’m waiting on other people to complete.
  2. Tasks that I’m waiting for some external event to happen before I can proceed.

I’ve already written about how I handle tasks that involve other people. Today, I’d like to write about that second type of situation.

In my head I think of these types of tasks as waiting on an external trigger. What I mean is, they all can be written as When This, Do That. I have a task I need to do, but not until something else that I don’t have control over occurs.

Here’s an example.

My friend Karen recently told me that she’s looking for a new job. Once she finds and starts that new job, I would like to send her flowers. The problem with this task is that I can’t simply add it to my todo list since it’s not something I can currently accomplish (because she hasn’t gotten a new job yet). It’s also not a task that I can just assign a future due date because I don’t know when it will be due. It could take her two weeks or six months to find a new job. I suppose I could assign the task a waiting context titled @Karen, but that feels a little odd because the task isn’t really something I’m waiting on her to get back to me with.

Another example that’s currently in my OmniFocus is “Setup a meeting with our financial advisor once our credit card debt is paid off”. Again, like the other task, that’s not something I can just assign a due or defer date to because I don’t know when exactly our debt will be paid off (although I do have a rough idea).

I’ve learned to identify tasks like these because they all follow the form of When This, Do That.

GTD enthusiasts will probably recognize tasks like these as being good candidates for a tickler file. I thought so at first, too, but now disagree. If I were to add the send flowers task to a tickler file to be dealt with two months from now, Karen could get a job later this month and I’d completely forget that I wanted to send her flowers.

What I need is a simple place to park these tasks that I’ll remember to regularly review. The solution I came up with is hardly groundbreaking. It’s just a bit of common sense that finally occurred to me once I became aware and identified this recurring problem.

In OmniFocus, I keep a project on-hold called “External Triggers” with a setting to review it every week.

Inside this project I add all of my tasks that fit the above pattern. When This, Do That. I don’t bother sorting or separating them based on area of focus. All of my tasks from across all of my areas get dumped into this project. And they all follow the same title structure. For example:

  • When Karen gets a new job: Send flowers
  • When debt is paid off: Follow up with Edward Jones about reallocating savings

Then, each week during my weekly review, I have a recurring task that reminds me to look through this project for any actions that have become available. Titling each task in a consistent manner lets me quickly scan the list. Also, keeping this project’s status as on-hold is key, as that keeps all of these tasks from cluttering up my list of available actions when I do my planning.

Like I said, this isn’t anything groundbreaking. But it is a strategy I’ve learned that helps me deal with tasks I might otherwise forget, while keeping them from cluttering the list of stuff I can actually do.

Lowering the Project Threshold

One part of GTD and OmniFocus that I’ve always struggled with is the idea that any action that requires more than one step is actually a project. It sounds simple, and I agree with that definition in theory, but I’ve never followed through in practice. My OmniFocus project list has always been relatively sparse – really just containing my three areas of focus each with 5-10 medium-to-big-sized projects plus a catch-all single action list for miscellaneous tasks.

The problem with this approach is that it’s stopped me from adding piddly, little multi-step tasks to OmniFocus because I don’t believe they count as a captial-letter PROJECT, and they don’t fit into my single-action lists. Instead, they stay in my brain, forgotten or causing anxiety.

I really came to identify this problem a few weeks ago and made a mini New Year’s resolution to be better at it. Since then, I’ve made a conscious effort to be less picky about what crosses the threshold to qualify as a project and now force myself to turn anything with more than one step into a for-real project.

Here’s an example. Previously, I would have had a task titled “Mail Christmas photos to Aunt Betty”. And that was it. Simple. Right? But now I have a project titled “Send Photos to Aunt Betty” with the following steps:

  • Write and include happy new year letter
  • Include family Christmas card
  • Save Betty’s address into iPhone
  • Take photos and letter to post office to mail

You see. All of those tasks were implicit in the original task by itself. But writing it down as a single task was fooling myself into thinking it was just one step to completion. I kept putting off that task and others like it because I never found time to do all of the steps that were actually required to finish it. But now that it’s hoisted into a project and broken down into real, concrete, necessary actions, I’m free to complete each one individually as time allows. If I have five minutes between phone calls I can run downstairs and write out a quick letter and stuff it and the photos into the envelope. When I’m back at my Mac, I can lookup her address and add it to my address book. Then, when I leave the house the next morning, my @Errands context will remind me to grab the envelope so I can stop by the post office.

Adding granularity, precision, and definition to your tasks enables GTD/OmniFocus to operate at a much more efficient and functional level.

The result of all that is a much, much longer list of projects in OmniFocus. Seeing my previously perfectly-ordered and organized project list grow into an at-first-glance messy and overflowing one was a bit of a shock. I felt like weeds were sprouting up in my OmniFocus. But I took a step back and just let it happen.

After a few days it stopped bothering me when I realized the benefit. And that’s that the tasks available to me during my morning planning session – the ones that feed into my Today list – truly, for the first time, reflect everything I have to do instead of mostly-everything-but-kinda-leaving-out-the-small-stuff.

It also helps me make more progress on more projects each day by creating more true next actions. Before, when so many tasks were actually projects, I’d see them during my morning review and never place them on my Today list because I knew they contained multiple steps that I wasn’t ready to commit to.

But by breaking those small projects down into their component steps, it produces more actionable tasks that I can feel confident about adding to my daily list, which leads to me regularly making progress on all my projects and fewer of them stalling out.

And it feels wonderful.

I’ve never really been able to achieve David Allen’s feeling of “mind like water”. But freeing up those final open loops and trusting them into my system has gotten me much closer. If you find yourself avoiding certain tasks because you know deep-down that they’re really multiple steps, try – just for a week – turning them into projects.

That’s my story. If you have any tricks for not falling into the “multi-step action” trap or for just keeping things moving along in general, I’d love to hear about it in the comments below!