in communication

The thing about overusing people’s names, Pete

Overheard in Slack:

you don’t have to @ someone. just typing their name works too (Slack adds your name as a notification trigger by default)

The thing about using people’s real names to alert them, Pete, is that sometimes it can come across as an unnatural attempt to build rapport.

Pete, have you ever read ​How to Win Friends and Influence People​? You’re probably not missing out. It’s a blight on society.

You see, Pete, the author, Dale Carnegie, thought people love nothing more than hearing the sound of their own names. Which – I’m sure you’ve noticed, Pete – spawned generations of douchey salesmen who will incessantly throw your name into a sentence as though they have the right to it. They’ll probably even feign familiarity with your spouse and kids and infer that you should hang out sometime and maybe share holiday cards, Pete, even though they just laid eyes on you forty five seconds ago.

I’m sure you’ve met people like this, Pete. You met them and you shook their hand and you accepted their greasy business card and then you left it on the bar when you refreshed your G&T because this is a networking event, Pete, but you’re not going to be anyone’s patsy.

TL;DR: If you need someone to get notified in Slack, don’t try to work their name into the sentence. Just use their @username, for decency’s sake.

Favorite books of 2016…

I just loaded my iPhone up with more books and realized what a rich year it’s been so far in reading.1

If you’re on the lookout for good reads (I always am!), here are some of the best books I’ve read recently:

  • Mindset: The New Psychology of Success (Carol Dweck) – Dweck’s TED Talks are great but the unabridged book well worth it. Read it if you care about living well.

  • Born to Run: A Hidden Tribe, Superathletes, and the Greatest Race the World Has Never Seen (Christopher McDougall) – this book changed my perspective on human physiology and convinced me that running in 100° Phnom Penh heat is actually pretty tame on the scale of human athletic achievements (and, believe it or not, can be quite enjoyable).

  • Wake, Sleeper (Bryan Parys) – a masterfully crafted memoir of growing up and grappling with faith. Equal parts tragic, hilarious, absurd, and profound, it was enjoyable and thought provoking to the end. This is one I read slowly, with my eyes, to savor the prose.

  • High Output Management (Andy Grove) – with such a yawn-inducing title I almost passed it over, but I’m glad I didn’t. It’s one of the highest-density books I’ve read in terms of value-per-page. I’m sure I will return to it year after year.

  • Influence: The Psychology of Persuasion (Robert B. Cialdini) – I’ll just copy from the book’s description: this is “the classic book on persuasion, [which] explains the psychology of why people say ‘yes’—and how to apply these understandings”. I had many ah-ha! moments learning to recognize why I behave in certain ways, often against my felt wishes.

  • Thirteen Days: A Memoir of the Cuban Missile Crisis (Robert F. Kennedy) – an inside account of the decision-making process that diffused likely nuclear war. Fascinating account of the human elements of negotiations. (I had previously read this in grad school; definitely worth the re-read.)

  • Finding George Orwell in Burma (Emma Larkin) – I’ve never paired travel writing with actual travel before but this provided an insightful introduction to Burma. Without it I could never have understood what a positive change has happened in the country in just ten years since it was published.

  1. This has been largely facilitated by the excellent Voice Dream Reader text-to-speech app, which lets me read equally well whether at a cafe, on a run, or on a bumpy bus ride. It might be worth a separate post, but for me the notion of “reading” has transformed in recent years from a discrete physical activity (moving your eyes across the author’s written words) into a cognitive activity (absorbing the author’s words with your mind). This has been completely liberating. Hat tip to Jared Goralnick, who got me started down this path with his evangelism of

Quick entry into Asana using LaunchBar, Script Menu, etc

Here’s a quick way to get tasks into Asana using LaunchBar (my preferred method) or Script Menu. (Requires a little nerdery.)


  1. Install the Asana Command-Line Client and set it up
  2. Download this AppleScript wrapper and update the config properties
  3. Put the script somewhere you can access it (e.g. via LaunchBar, Alfred, Script Menu, etc)

Usage (LaunchBar):

  1. Invoke LaunchBar, type your shortcut to the script and tap space
    • Enter your task title

Usage (generic):

  1. Invoke the script
    • Enter your task title in the dialog box


  • New tasks will appear as private tasks at the top of your “My Tasks” list.
  • If you’re an Alfred user, Mannie Schumpert’s QuickTask workflow is probably better.

Log ad hoc items into OmniFocus

OmniFocus provides my daily roadmap for where I’m going. But maps can be unreliable: sometimes an emergency requires a detour … and sometimes you just pause for an unscheduled cup of coffee or phone call with a friend.

To quickly log those unanticipated events in OmniFocus – without imposing additional overhead on the system – I invoke these simple scripts from LaunchBar:

  • Log completed item to OmniFocus (CC) – saves a completed task to my work-misc project
  • Log completed item to OmniFocus (Misc) – saves a completed task to my personal-misc project
  • Log distraction to OmniFocus – saves a completed task to my distractions project

When something comes up that I’d like to log:


  • ⌘ space to invoke LaunchBar
  • logcc, logmisc, or dist to choose the type of entry
  • space to start typing
  • [type what it was]
  • Enter to save

Now a completed task appears in the appropriate location, and my Completed Tasks perspective gives a more accurate representation of the day.

To use it, download the script and customize the project name and context to fit your needs. Should work with Alfred as well.

Log completed item to OmniFocus

A solution to Premature Quick Entry

You’ve done it a million times: You added a task in Quick Entry. Then, seconds later, you came across a link that would have been useful to include. Or an idea that should be part of that task.

At this point, you have two options:

  1. Quickentry a new task with more details. You’ll have to merge the two later, but hey.
  2. Edit the task:
    • Switch to OmniFocus
    • Locate the task (which might require opening a new window and some digging)
    • Select the task
    • ⌘-' into the Notes field
    • Add details while they’re fresh
      (By now, you’ve totally broken your flow – and eliminated any benefit of using Quick Entry in the first place – but that’s it’s a small price for being organized.)
  3. Fire up LaunchBar, hit a-n-space to access the Append Note to Newest Task script, and type your note. Tap Enter and rejoice: your note is added to that task you just created, and you haven’t lost your flow.

If you want to add links or other notes instead – or you (gasp!) don’t use LaunchBar or Alfred – just execute the script without custom input and it will append your clipboard contents instead.


Append Note to Newest Task

p.s. Related but far less useful: Append Note to Selected Task(s)

p.p.s. Updated 2015-05-17 to work around a bug that overwrites a file attachment when editing a task note.

OmniFocus: Jump to a task’s project view without losing your place

2017-04-17 update: Now includes an option to focus in new tab. Thanks Marek and Kraig for the request.

TL;DR: This script opens the project of the selected task(s) in a new window (or tab).
Get it here.

It’s been a while since I last posted… so what better way to break the silence than with some new OmniFocus scripts?

I don’t think it’s controversial to say that context-based perspectives are the secret sauce of OmniFocus. Without context views, OmniFocus would be a simple outliner with quick entry and a few filters. But context perspectives let you view the exact cross-section of tasks you need to be effective.

That is, until you view a task in a context-based perspective and realize you need to see the whole project.

It should be simple to view a project’s details without losing your place in the current context view. And it was simple in OmniFocus 1: while in a context view, double-clicking a task would open its project in a new window.

OmniFocus 2 lost this feature, unfortunately. The two best options it provides are:

  • Quick Open (⌘O): allows you to type the name of a project and open it in a new window (if that option is selected). But this requires typing and the cognitive overhead of thinking about the name of the task’s project.
  • Show in Projects (⌘⌥R): brings you to the project view of the selected task. But since OmniFocus has no navigation history, there isn’t an easy way to go “back” to the original context view. It all begins to feel like a road trip:

Actual path

It’s worth mentioning that Kourosh Dini presents some very useful and related workflows in his excellent Creating Flow with OmniFocus, but in my view none of these methods has the simplicity of a quick – and mindless – round-trip to the task’s project view.

So, without further ado, I present the scripts Focus in New Window and Focus in New Tab, which do the following:

  1. Given a selected task (or tasks),
  2. Opens a new Project-based window or tab, focusing on the desired project(s)

That’s it. It’s an extremely simple concept that makes this round-trip quick and painless:

Desired path

For ease of daily use, I’ve named the script “Focus” and given it a descriptive “opens-in-new-window” icon. It now lives in my toolbar next to the real Focus action:

Focus in Toolbar

I’ve been using this countless times per day and thought it high time to share it with the world.

Get it here:

Focus in New Window/Tab on Github.

p.s. This script includes a custom icon to look better on your OmniFocus toolbar, so I’m linking to a zip file that includes this and other scripts; let me know if this is an inconvenient way to download it.

p.p.s. I’ve also updated some of the older scripts, notably Snooze and Shift (formerly called Defer). If you use them – especially if you also use LaunchBar or Alfred – you may want to take a look.

p.p.p.s. Because OmniFocus doesn’t currently (as of 2017-04-17) have native AppleScript support for managing tabs, Focus in New Tab has a few dependencies. Please check the inline notes if you run into any hiccups.

What if we could give calories away, not just lose them?

Three years ago, I wrote the following vision statement for my career as a product manager:

To develop technologies that help people make sense of the world around them and engage in more meaningful, healthy, productive, connected lives.

I joined AwayFind in 2012 to help people be more productive, stay better connected to the people that are important to them, and spend more time doing things that are meaningful to them. I’m proud of the product we built and the ways AwayFind helps people achieve these goals.

This month, I’m taking a different tack to focus on health, connectedness, and meaning: I’m joining forces with Calorie Cloud and UNICEF to build a fitness platform that connects the wellbeing of people like you and me to those struggling just to stay alive.

What if we could give calories away, not just lose them?

It’s a bold question for a bolder idea – fitting, as Mark Moore and Troy Hickerson developed the Calorie Cloud vision at The Unreasonable Institute last summer. (Watch Mark explain Calorie Cloud.)

I doubt I’ll post many updates as we’ll be heads-down on the project for the foreseeable future, but I couldn’t be more thrilled to partner with them on this journey.

Bless you, OmniFocus (or, How I Learned to Stop Fidgeting and Quickly Rename Multiple Versions of the same Application)

The upcoming OmniFocus 2 refresh provides more than ample reason for excitement. Forecast view? Updated review mode? The giddy feeling of firing up this morning’s sneaky-peek build to find yet another shiny new release ready for your eager paws? Check, check, check.

But unlike last time around1, OmniFocus 2 isn’t ready to take over my life yet, so for the moment I’m still usually working in OmniFocus 1. Every couple days I fire up OmniFocus 2 to kick the tires a little more and sometimes provide some (hopefully useful) feedback to the good folks at the Omni Group. (And yes, they’re listening.)

Unfortunately, switching fluidly between the two versions becomes problematic when you bring third party tools into the mix. Case in point: AppleScripts that tell application "OmniFocus" expect that they’re working with an application called OmniFocus. So if OmniFocus 1 is called “OmniFocus 1” and OmniFocus 2 is called “OmniFocus”, your scripts will always invoke OmniFocus 2 until you rename the applications – even if you’re currently working in OmniFocus 1. That’s hardly ideal if you’re switching version with any regularity. And it was keeping me from using OmniFocus 2.

The solution? A script, of course! Here’s a script that automates the process of switching between primary versions of OmniFocus. This is what it does:

  1. Checks your applications folder for items matching the name OmniFocus* and asks you which version you’d like to bless2 [See the end for a version that skips this]
  2. Renames the blessed version to “”, and the other versions to “OmniFocus [version].app”
  3. Launches the blessed version

Here it is in action:

Bless OmniFocus demo

For those who enjoy reading detailed notes:

  • If you choose the version that’s already blessed, that version will be activated and no renaming will occur.
  • If OmniFocus (or many OmniFoci) is running when a the script is ready to rename, the script will handle quitting and relaunching for you.
  • If you happen to have multiple copies that would have the same target name, only one will be renamed (i.e., files shouldn’t be randomly overwritten).
  • While I built this workflow for the purpose of OmniFocus testing, it could work just as easily with any other application: just change the application name at the beginning of the script. You can also change the applications folder.
  • If the script encounters an application without a version number in its metadata, it will be renamed according to its creation date.
  • If you use the tell application "System Events" to choose from list line, the dialog will appear at the front (rather than possibly being buried behind windows). However, in my experience, System Events can hang, so I endure the less convenient version in order to keep things running quickly.
  • …and of course, your user account needs to have the proper permissions to rename the files.

I’ve been using this for about a month without issue, but of course use at your own risk and please let me know if you have any issues.

Grab the script here:


Michael Schechter wondered about a version that blesses a specific version, rather than prompting for user input. This could be useful if you want to…

  • Set up a Hazel rule or timed Keyboard Maestro action to automatically switch versions
  • Keep two versions of the script for each version of the app to trigger by a launcher

So if you’d prefer a “headless” version, try this one.

  1. OmniFocus 1 replaced Ethan Schoonover’s exceptionally clever but ultimately hackish OmniOutliner scripts, Kinkless GTD, so it wasn’t long before OmniFocus quickly surpassed kGTD’s utility. But OmniFocus 1 is now a very mature product, so it may be some time before OmniFocus 2 can fill its shoes.
  2. Blimey, why the blessing? The name comes from a system command to choose which operating system to run on startup. The OS that’s set to run is “blessed”, and you select it by running the bless command.

Minimize distractions with Keyboard Maestro

After Ryan Irelan posted about using Keyboard Maestro to block apps, I decided I could adapt the tip for a less cold-turkey approach to computer-enforced self control.

So I’ve been using Ryan’s tip with one minor change: it uses the world’s simplest AppleScript to introduce a time limit for how long distracting apps can remain open (or active). Just create a Keyboard Maestro macro like the following (or download this example):

Hide Twitter

As you can see, this macro waits one minute (60 seconds) before hiding my Twitter client. Works like a charm: hiding the app doesn’t force me to leave Twitter; but reactivating the app becomes a conscious act of will that forces me to answer That Question.

(I use a similar macro to quit my RSS reader after a more generous 10 minutes.)

Amplifying human ability

Steve Jobs (1980):

Scientific American I think it was did a study in the early 70’s on the efficiency of locomotion. What they did was for all different species of things on the planet – birds and cats dogs and fish and man and goats and stuff – they measured how much energy does it take for a goat to get from here to there… and they ranked them and published the list, and the condor won, it took the least amount of energy to get from here to there, and man didn’t do so well, came out with a rather unimpressive showing about a third of the way down the list.

But fortunately, someone at Scientific American was insightful enough to test man with a bicycle, and man with a bicycle won—twice as good as the condor, all the way off the list. And what it showed was that man is a toolmaker, has the ability to make a tool to amplify the amount of inherent ability that he has.

And that’s exactly what we’re doing here. We’re not making bicycles to be ridden between Palo Alto and San Francisco… but in general we’re making tools that amplify the human ability.

(video on

This is why I love technology.