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.

I Will Not Use the Phrase “Growth Hacking”

But I will call it marketing.

It’s always something that I’ve been interested in, but it’s also something I’ve always put off until “I have more time”. Well, that time is now.

I spent two days in December and did a thorough review of my little software business. The obvious take away is that 90% of my revenue comes from one app – VirtualHostX. I’m thrilled that it’s doing so well, but that’s a scary place to be in. If the app ever fails, I’m done for. The non-obvious realization I came to is that I believe I’ve reached a point of diminishing returns with regards to adding new features to the app. It’s over seven years old at this point. I’m committed to continuing to improve it, but I’m not sure how much growth I can drive by adding new features. Instead, I think my company’s growth potential derives from two things.

  1. Releasing a new product that I can sell alongside VirtualHostX that will become, at a minimum, half as successful as VHX within one year.
  2. Becoming better at selling my products by investigating historical analytics and trying new optimizations, with data to backup the results. (Yes, yes, I’m the dumb programmer who just now “discovered” marketing.)

With those two strategies in play, my goal for 2015 is to double my revenue.

Yes, seriously.

I know it’s a stretch, but I’m optimistic.

Releasing a new product is the easy part. I took the last half of November and all of December and built and launched Hobo. It’s another app aimed at web professionals that makes using Vagrant easy. Customer reaction has been overwhelmingly positive so far. And I’m optimistic that will translate into sales before too long.

Improving my marketing is the hard part. And taking that on full-force has been something my wife (a marketer herself) has been beating me over the head with for years. I’ve finally taken the time to learn Google Analytics beyond the basic vanity metrics and have done deep dives into goals, conversion tracking, where my customers are falling off in the order process, etc.

Based on my learnings, I chose three goals (low hanging fruit, really) that I could tackle in January to see how they improved sales. And based on those learnings, pick better goals to implement each month throughout the year. Here’s what I’ve chosen to do this month.

First, for four years I’ve offered a free System Preferences pane download that allows you to turn web sharing on and off on your Mac. It just adds back the functionality that Apple removed in Mountain Lion. I knew it was fairly popular, but had never done any real tracking of it. Well, after watching downloads for a month, I was knocked-off-my-feet-blown-away to find out it has just as many downloads as VirtualHostX.

All of these people downloading my web sharing tool are perfect customers to upgrade to the more powerful VirtualHostX. I just need to figure out how to do that.

As a start, I’ve replaced the download page for the tool with a marketing page that up-sells them on the benefits of VirtualHostX and encourages them to give the full app a try. The final download link for the web sharing tool is at the bottom of the page – not hidden! – but they have to scroll past all of my other content to get to it.

Anecdotally, in the week since I’ve made this change, downloads for web sharing are down 15% and up 15% for VirtualHostX.

Next, not enough people are talking about my apps on social media. To make this simpler, I’ve added a callout to my apps’ marketing pages that offers a $5 coupon if they Tweet about one of my products. I offer three pre-written tweets they can choose from. And they have the option to write their own message instead.

The response to this has been way beyond what I was expecting. I’m seeing 20+ Twitter mentions a day, whereas before I was lucky to get two or three.

Of course, none of this matters until I can verify that those tweets are leading to increased traffic and conversions. I’ll know more in a few weeks.

Finally, I’ve always gotten basic stats from my apps’ automatic update code. Info like operating system, screen size, etc. But I never knew exactly how my users were using my apps or what features were most popular. Piggybacking on top of Google Analytics’ support for mobile app tracking, I’m now pretending that my Mac apps are mobile apps and am sending event data to Google.

All of that data is completely anonymous of course, but it will allow me to see session length, number of launches, and exactly which functions within the apps are being used the most.

So, those are my three marketing improvements for January. I’ll review all the data at the end of the month and hopefully learn something concrete I can use to improve my business. When and if I do, I’ll write about it here.

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!

Even Panic is Having Trouble Making Money on iOS

(I hope the title of this post doesn’t misrepresent what Cabel wrote.)

The 2014 Panic Report is a wonderfully candid look into Panic’s successes and struggles throughout 2014. Continuing in line with the trend of small developers finding it difficult to make money on iOS is this nugget…

Wow! 51% of our unit sales came from iOS apps! That’s great! But now look at this revenue chart for the same month… Despite selling more than half of our total units, iOS represents just 17% of our total revenue.

I love, love, love developing for iOS. But this is exactly why, as a solo developer, I put all of my serious effort behind my Mac apps. Anything I do for iOS is at best a hobby or an experiment.

Benefits of Selling Outside the Mac App Store

Dan Counsell, founder of Realmac Software with an up-front and insightful post about the benefits of selling your software outside the Mac App Store.

Imagine if your app made $30,000 in the first month it launched. That’s great, apart from the fact that you have to give Apple $9,000 of that. Is the service they provide really worth that much? I’m not so sure it is.

My little company wouldn’t be able to survive if I had to give 30% of my revenue to Apple. While I hope to change that, Click On Tyler simply doesn’t operate at a scale where that’s sustainable.

Ember for Mac was in four different bundles in the last half of 2014. It earned an extra $80,000 (USD) in revenue, not only that it also brought in a lot of new users. If Ember was only available in the Mac App Store I wouldn’t have been able to do this and Realmac would have been worse off because of it.

I’ve participated in a few different bundles over the years. And, while they have brought in a nice bonus bit of revenue, I’ve found the ability to market to that huge base of new customers more useful.

Here’s the biggest and most important difference of all, by selling directly you get to know every single one of your customers. When building a business your customers are your most valuable asset, but yet when you sell on the Mac App Store you don’t know who they are.

Bingo. Over the years selling my apps I’ve formed many great, personal relationships with my customers. They’ve become key advisors when I experiment with new product features and services. They’re also a constant stream of ideas and improvements that I wouldn’t normally see since I’m so close to my apps. Customers on the Mac App Store rarely translate into this kind of usefulness – if you even know them at all.

All that said, one distinction worth making is that Dan doesn’t advocate not selling through the Mac App Store. He simply says that you shouldn’t limit yourself to only one sales channel.