Omnifocus Project Templates with Keyboard Maestro

Two years ago, I wrote a post about using checklist templates in Omnifocus. It’s one of the most popular posts I’ve written on the site, but, honestly, I never really felt like having a folder of stalled projects that I could duplicate was all that great of a solution. Not only did they add visual clutter to an already complex system, but some of my more complex ones required fiddly applescripts.

Thankfully that’s all changed. With version 2.7, Omnifocus is finally bringing the TaskPaper support it first introduced on iOS to the Mac, and it’s allowed me to drastically improve my templates.

The folder of stalled projects has been replaced in favor of a new set up that uses Keyboard Maestro. Seriously, I can’t say it enough. Every day I find a new use for this app. If you haven’t bought it yet, go do it!

I’ve set up a hotkey to display a macro palette that displays a list of my templates while in Omnifocus. You could just as easily trigger this with a snippet. I just think the palette looks nice, and makes it look like I spent a lot more time making my templates than I actually did.


The beauty of TaskPaper support is that you can just copy and paste tasks in Omnifocus preserving all of the meta data like contexts and due dates, so the simplest of my templates (e.g. my packing list) do just that. They paste the TaskPaper template using an “Insert Text by Pasting” action. All I had to do was select the template project I had in Omnifocus, copy it, and paste it into the Keyboard Maestro action. Essentially these are just text snippets, so you could just as easily do this with a TextExpander snippet.

For the templates with fill-in variables, I just added an additional action to prompt for input and updated the template to include the variable tokens. Again, this is something you could also easily do with an app like TextExpander, which also supports fill-ins.

Of course, Keyboard Maestro’s incredible power actually inspired me to take a few of my templates a step further than just variables, and this is where I think it’d get a bit more complicated if you were trying to use TextExpander. Some of my project templates have action groups that are conditional (e.g. if x, also do y). My previous templates just included all the groups and I deleted them if I didn’t need them. With Keyboard Maestro, If, Then rules automatically add or remove the groups based on other variables of the template.

Why iOS 10 Convinced Me to Ditch Fantastical for Apple Calendar

Apple didn’t mention much about Calendar during WWDC. In fact, it wasn’t until I read Federico Viticci’s iOS 10 review that I even noticed there were any changes at all. I’m glad I read his entire 30+ page review though because there were changes to Calendar, and one of them has been a game changer for me.

For several years now, Fantastical has been my calendar app of choice on both iOS and macOS. When I’m out and need to quickly add something to my calendar, Fantastical’s natural language support simply made it easier to add appointments. The last thing I want to do is spend 5 minutes fiddling with my phone to set up future dinner plans with someone instead of actually paying attention to the friend standing next to me. With Fantastical, I could just type “Dinner with Sam at Restaurant XYZ on Sunday at 2PM” and be done.

But with iOS, Apple has added event suggestions to Calendar. Now, if I’m at the dentist and need to set up my next appointment, even typing just “den” brings up a suggestion to create a “Dentist Appointment” event complete with location. I just need to pick the date and time. Easy. It’ll even add invitees, not that I normally invite people to go to the dentist with me…that’d be weird. The amount of time this feature allows me to save convinced me to switch back to Apple’s stock Calendar app and delete Fantastical from my phone almost instantly.

Using Apple’s own apps comes with a handful of additional benefits. For instance, I get notifications to remind me when it’s time to leave. And of course, I get a calendar icon that actually includes the date on my homescreen again.


Overlooked Apps: My Favorite macOS Utilities

If you look at this blog’s tag cloud, you can get a quick overview of some of the apps that are essential to my workflows. These are the apps and services like Omnifocus, Keyboard Maestro, and Pocket, but there’s another set of apps that don’t get as much love that are just as essential. In fact, I have used them for so long I often forget they’re not actually part of macOS in the first place. Today I wanted to share some of my favorites that don’t get as much love on the blog.

Bartender ($15)

I cringe a little bit whenever I catch a glimpse of a menu bar that stretches across an entire 27” display. Don’t get me wrong, I love my menu bar apps, but Bartender allows me to be much more intentional with how I use my menubar. My default menubar now only contains Fantastical and the time. Everything else lives tucked away in the Bartender bar or is hidden entirely unless I need it.

Minimal MenuBar

A view of my menubar while I’m working

One of my favorite features of Bartender is it’s ability to only show a menubar app when it has an update. This lets me see when Crashplan or Time Machine are backing up or my MacBook Pro’s battery is dying without having them in my menubar. Not only does it keep my menubar streamlined, but I now notice when something pops into it much more helping me to know what’s going on on the computer.

Taking things a step further, many of my menubar apps only launch under certain conditions thanks to Keyboard Maestro.

Healthier ($3.99)

Healthier is one of those menubar apps that Keyboard Maestro launches only when I’m at work. It’s function is simple – every 60 minutes, it overlays the screen with a quote and a quick timer to remind me to get up and take a break from my computer. Unlike other apps that remind you to take breaks, this one lets you continue to work if you happen to be working on something important which I like.

Moom ($9.99)

Apple tried to improve window management in El Capitan, but it just didn’t work in the way I had hoped. As much as I hate to admit it, Microsoft was on to something when they added the Aero Snap feature to Windows. Moom brings that experience and more to the Mac. Snapping windows side by side is something I do regularly and immediately notice when it’s not there.

PopClip ($6.99)

The first time I tried this app, I hated it. It was always getting in the way and seemed like a total nuisance at first. It wasn’t until I took some time to explore the various extensions for it that I learned to love it. Now sending highlighted text to Day One, Deliveries, Notes or Omnifocus are just a click away. It also automatically calculates word counts and allows me to highlight PDFs in Preview with ease.

QuickCast (Free)

Working in tech support, I’m often needing to show people how things are done. QuickCast is the best lightweight screencasting app I’ve found.

ClamXAV ($29.95)

While viruses are still fairly rare on Macs, I still like to keep some sort of virus protection on my computer. I never know what kind of attachment someone might attach to their support request or email. I also don’t want to be that person who unintentionally sends something malicious along to some poor unassuming Windows user. ClamXAV has been there for me as long as I’ve used a Mac. It’s not free anymore, but for $30, it’s well worth it.

GhostTile ($9.99)

This is one of those apps I never see mentioned anywhere. If you haven’t figured it out by now, I’m very intentional about what is visible on my devices, and many of the apps I like to keep running in the background don’t have settings to hide their dock icon. Apple’s also made it increasingly difficult to modify the app’s settings to hide the icon without also breaking the app. Ghosttile is the only app I’ve found that successfully hides the icons of apps I truly never need to have in my dock.

I’m always on the lookout for new apps, so what are some of your favorite “hidden gems” for your Mac?

Healthy Habits with Keyboard Maestro

By this point, pretty much everyone knows about the dangers of sitting in front of a computer all day. Unfortunately, some of us work desk jobs and just don’t have a choice. Even more unfortunate is my tendency to forget to get up and move around unless I’m reminded. I don’t have an Apple Watch to remind me to move, and I’m hesitant to create too many alarms on my Fitbit Charge HR that might detract from my main reason for using alarms, medication reminders. Thankfully, Keyboard Maestro has saved the day once again.

Inactivity Reminders

A little over a year ago, I bought an app called Healthier. It’s a simple app that lives in your menubar reminding you to take a break by overlaying the screen after a time period of your choosing (between 10 and 90 minutes). Unlike most of the break reminders, you can override it so that it doesn’t prevent you from working when you’re in the zone, which I like.

I found having Healthier running all the time a bit too much though. For instance, if I’m in class, I can’t always get up to take a break as much as I’d like. Thanks to Keyboard Maestro, I was able to set up a macro to launch Healthier only when my Time Machine back up in my office is attached. This allows me to get reminders to get up when I really need them, sitting in my office, rather than all the time.

Note: If you don’t want to buy Healthier, and just want notifications or alerts to get up and move (without the screen overlay) you can also just use Keyboard Maestro to send you reminders periodically. Keep reading for more information.

Hydration Reminders

I’m terrible at remembering to drink water throughout the day. Even with a water bottle in front of me, I still forget, so you can bet I’ve spent a lot of time looking for the best app, water bottle, reminder – anything to remind me to drink water. None of the things I tried managed to stick though. It turns out Keyboard Maestro is perfect for this too (provided I don’t need reminders on my phone).

I have two separate macros enabled. The first sends me a notification reminding me to drink water every 45 minutes between 11 AM (when I’m typically done my morning coffee) and 4:30PM. The second is a bit more extensive, and actually prompts me to enter my how much water I’ve had and then enters it on the Fitbit website twice a day. (All I need to do is hit submit.) I have a tendency to forget to track my water intake, so this removes nearly all the friction of having to open the app or go to the website.

Mindfulness Reminders

Anyone who knows me will tell you I’m fairly high strung and easily get worked up about things, so I’m trying to be better at staying calm throughout the day. There are plenty of mindfulness reminder apps available but most seem to rely on a chime of some sort. Since I normally keep my Mac muted at work, none of these really worked for me. Much like my hydration reminders, I set up a Keyboard Maestro macro set to remind me to take a deep breath every 90 minutes while I’m in the office.

Keyboard Maestro seems to be the app that keeps on giving, and keeping me healthy is just one more reason to love it.


Use Apple Notes to Tame Your Stash of Carryout Menus

I was never really a big note taker, and I could never wrap my head around why people were so in love with apps like Evernote. So when Apple announced they were revamping Apple Notes, I wasn’t all that impressed. Then something curious happened, I found a use case that changed how I think of notes entirely – Menus

I’m one of those people who likes to figure out what I’m going to order at a restaurant ahead of time and I’m usually the one calling in food orders, so I’m always looking up menus. If I go somewhere enough times, chances are I probably have the menu saved somewhere and it turns out Apple Notes is actually perfect for this.

Menus Are Always Available

Gone are the days of having a folder of menus stashed in the kitchen. I don’t need to be home or at my computer to access them stored in a folder (physical or digital). Someone can suggest one of our favorite restaurants while we’re out driving, and within seconds, I can bring up the menu from my phone. They even came in handy one day AT a restaurant that was particularly busy due to an event. The servers were incredibly busy, and I was able to bring up the menu and had everyone’s order ready for the server before she even came over with the menus.

Make Notes about Menu Items

One of my favorite places to go is a local sushi place. Their menu is massive, so I’ve started jotting down notes about what I’ve tried, or might want to try. Now I don’t have to guess which items I’ve already tried and which ones I love.

Easy Ordering

I’m usually ordering food for other people, so Notes makes it easy to jot down what everyone wants. I also have the phone number listed in the note, so once everyone’s responded, I can easily call the restaurant.

Storing menus is by far my favorite use of Apple Notes, and being able to pull up a menu and place an order in minutes has saved so much time. I now understand why people like taking notes, and I’m excited to find new use cases, especially with the upcoming addition of sharing.


Adding Read Times to Pocket

I’m an avid reader of online content, and to keep up with it all I save everything to Pocket. When that list gets long, I find myself looking through the list to read the quickest ones first. For a while I was just determining that by looking at how long the article was, but it turns out there’s a better way.

A site called ReadRuler will automatically assign tags to corresponding to the read times (based on your own reading speed) to your articles in Pocket.

I’ve improved the process by creating two smart folders in ReadKit, Quick Reads which includes articles tagged 1 or 2 minutes, and Long Reads which is anything not 1 or 2 minutes.

Now the one caveat is that you need to visit the ReadRuler site to allow it to scan your articles. To make things a bit more automated, I set up a Keyboard Maestro macro, triggered by a hotkey, that opens the Read Ruler site, closes the window, and refreshes ReadKit to get the new read times.

Tips and Tricks for Staying on Top of Meeting Agendas

Attending meetings is a necessary evil of my job. Thankfully, most of my colleagues see the value of having a running agenda stored somewhere in the cloud. Over the years, I’ve come up with a few best practices of my own that have helped save me time and keep me on top of my game.

1. Use Alfred to quickly launch agendas in the cloud

Agendas are great. Having to remember what every person decided to name the agenda just to find it isn’t. I can never quite remember if they decided to use “Catch Up”, “Running Agenda”, or “Meeting Notes”. I’ve solved the problem by making an Alfred workflow that opens the URL for the agenda by typing “agenda” followed by a descriptive keyword for the meeting that makes sense to me (e.g. agenda managers). The amount of time this saves me is honestly a bit mind-blowing.

2. Use Apple Notes or another notes app to store your own notes for the agenda

My colleages and I tend to use meeting agendas as shared notes and edit them throughout the meeting as things come up. However, I’ve started keeping my own running agenda for each meeting in Apple Notes. It’s nice to be able to look back over my own notes in one place rather than a myriad of Byword files. I’ve named all these something similar (e.g. Agenda Notes: Meeting Name) to avoid another complicated naming scenario as described in the last tip.

3. Add any action or follow up items to Omnifocus ASAP

As soon as I get back to my office, I make sure to review the agenda and my own notes making sure to capture any action items into Omnifocus for further action. This ensures nothing slips through the cracks before the next meeting.

4. Keep an agenda project in Omnifocus

Any time I think of something I need to discuss with someone that’s not immediately pressing, I add it to Omnifocus as a reminder to mention it the next time I see them. I name each item in the same format, “Person’sName: Action”, assign it to the @People context, and add it to my Agendas project (if it’s a work colleague). If I know the next date I plan to meet with that person, I’ll set a defer date as well.

When it comes time to meet with someone, I have one of two options for reviewing items to discuss with him or her: (1) view the @People context which has items involving both work and personal contacts or (2) view the Agendas project which only has work colleagues. Since every item includes the person’s name, I can search by name to narrow down the list to a specific person if need be. If an item up for discussion seems like it will warrant a lengthy discussion, I make sure to add it to the agenda before the meeting as well.

Using Keyboard Maestro to Send Tracking Numbers to Deliveries in Airmail

I’ve been using Airmail since the day it came out, so I was ecstatic when it came to iOS. The iOS version even added a bunch of new features, and the most recent Mac update for brought most of those features to Mac as well. On iOS, one of my most used features is the ability to send emails to Deliveries to track shipping notifications via the Action List. Sadly, there is no Action List on the Mac version.

Deliveries does have a Share extension on the Mac, so you can right click the tracking number and send it to Deliveries, but in my experience, the share extension doesn’t always grab the right information. For example, capturing an Amazon order grabs the “#” before the tracking number, which prevents Deliveries from recognizing it as an Amazon order. Not only do you have to delete the symbol manually, you still have to confirm the dialog before it gets added to Deliveries – all unnecessary steps in my opinion.

Deliveries offers another way to send things to the app – forwarding them to an email address, so my first thought was to set up an IFTTT recipe to forward emails to Deliveries. I quickly realized that to capture all shipping notifications automatically, you either need to create rules to pick up all the specific types of order notifications to avoid missing any emails or create a generic rule that searched for something like shipping which caught way to many irrelevant results.

So I abandoned fully automating the process and instead turned to the trusty Keyboard Maestro which I seem to be using for everything these days. I was able to set up a hot key, only available in Airmail, that will forward the email to Deliveries and then archive the message. It works for any order type without creating multiple rules, and it reduces the number of steps required to add something to Deliveries down to one.

You can see the workflow below:2016-06-15 screenshot


My Current Omnifocus Workflow

With my project and context organization out of the way, I figured it would be helpful to explain how I’m actually using Omnifocus to get things done (or at least try to get things done).

I start every morning by reviewing my calendar in Fantastical. This gives me a good idea of where I need to be and how much time I’ll have to do things.

Next I go through my inboxes. Email is up first. Anything that is going to require more than 2 minutes gets added to Omnifocus using the Airmail’s built in integration. I also check my “Action” folder in Readkit which contains anything that I’ve starred in Pocket. This may be a recipe I want to add to Paprika, or something I want to research further. As with email, if it can be dealth with quickly I do, otherwise, it gets added to Omnifocus. Last but not least, I jump over to Omnifocus and process anything that’s been added to the Inbox.

While I’m in Omnifocus, I look over my Waiting perspective and the Forecast View breifly to see if there’s anything I can check off or need to attend to. With that out of the way I go to my Available perspective, which as you might guess, shows all of my available tasks. Based on what I have going on for the day, I decide if there are any tasks I want to tackle during the day and flag them.

Once tasks are flagged, I can work entirely from my custom perspectives (based primarily on where I’m at) to get things done:

  • Today shows all due or flagged tasks grouped by context and sorted by project. It’s a nice overview of everything I plan on doing sorted by where I can do it.
  • Work also shows all due or flagged tasks, but it’s grouped by project and sorted by due date so that I can tackle the most pressing issues first.
  • Home, once again, shows all due or flagged tasks grouped by project, but I sort this one by duration. By the time I get home, I’m usually pretty tired, and doing chores is usually the last thing I want to do so sorting by duration lets me check off the quick wins.
    I do have other custom perspectives like Errands and Grocery List but these are the three I primarily work from.

To stay on top of this workflow, I’ve created a Daily Routine project that lives at the very top of my Projects list. I’ve flagged the project so that every step shows up in all three perspectives, just to serve as a reminder in case I miss a step.

Revisiting Context Organization in Omnifocus

Contexts seem to be a point of contention when it comes to any GTD system. How many should you have? What should they be? How many is too many? A quick look at the countless methods being discussed in the Omnifocus Forums show that there is no single right way for picking contexts, and when you consider the possibility of a task having multiple contexts (not currently possible in Omnifocus), it gets more complicated. The age old answer of “It depends” truly applies here. That being said, a few things stand out for me when I look at those long lists of contexts that people have.

Don’t try to do too much with Contexts

In its purest form, a context is a tool or location. II need to be at home in order to clean the shower in my bathroom, so “home” is a great example of a context. No matter how much I wish it were true, there’s simply no way I could get my shower cleaned while I’m at work. The problems tend to creep in when you start to factor in other things like energy levels, time available, or urgency.

On paper it makes sense to define these various lists to drill down to what you can work on at any given moment, but if you use something as powerful as Omnifocus, there are more options available to you for this than just contexts. There are due dates and flags to indicate urgency or importance and durations to indicate quick wins or when you’re looking for something to do during a set period of time. Prefixing tasks with a “mindset” such as “READ:” or “WATCH:” can also help you define your tasks by mode as well.

Don’t think to Granularly

When I first started implementing GTD, I thought I needed an incredibly complex list of contexts. I had geo-tagged sub-contexts for each of the stores I visited, contexts for every person I regularly talked to, and even contexts for every room in my house. Much like the trend towards fewer folders when managing email, I quickly learned that the cost of managing a lot of sub-contexts can be* far greater than the benefits especially if the contexts only contain a small handful of tasks.

*Notice I said can be. Sometimes granularity does help as is the case with my Grocery Store context discussed later.

Adding a prefix to a task can also really come in handy here. Instead of having a sub-context for a friend, consider putting their name before the task (e.g. Boss’s Name: Discuss Office Layout). You can still easily drill down to all tasks involving your boss by searching his or her name, but you won’t need to worry about a lengthy list of contexts. I do this with stores now as well.

Regularly Review and Adjust

In the paper planning world, reconfiguring your system is seen as “Planner Fail”. It’s frowned upon, probably because it takes so long to recopy everything. The beauty of software like Omnifocus is that there’s no need to recopy everything over if you need to make a change. Contexts and projects can be created, removed, or rearranged just as quickly as your life changes. While I’ve distilled my contexts lists down over the years, I still regularly consider making changes. In fact, I just got rid of two contexts today that were being used sparingly.

My Contexts

  • Do – Some tasks can truly be done anywhere
  • Campus – For work or graduate school related tasks that require me to be on campus
  • Home – For things that need to be done at home
    • Arriving – This is a geotagged context to alert me of anything I need to be reminded of when getting home (e.g. bring that item that’s been sitting in my trunk in with me)
  • People – Anything I need to discuss with a person at a later date.
  • Errands – All things I need to do when I’m out and about.
    • Shopping – Anything I need to buy.
      • Grocery Store – Anything I need to buy specifically at the grocery store.
        • Sub-contexts for each aisles – Subcontexts, in this case, allow me to keep my custom grocery perspective organized based on the layout of the store I shop at. For a more detailed explanation, I wrote about it here: Creating a Smart Grocery List in Omnifocus
  • Waiting – Any tasks that are part of active projects but are waiting on something or someone else before they can be completed.