Email, please

Because every WhatsApp “informational” group eventually devolves into a water cooler chat, my app badge currently shows 1,457 unread messages. Because I rarely open Facebook, its app badge shows 312 unseen notifications. Because I participate in seven Slacks, with several “channels” in each, there are currently 117 unread messages in there.

Add in iMessage, Skype, Basecamp, Google Hangouts, Telegram, Signal & Twitter DMs, and we have a clear situation of contact-point overload.

If it’s important that I see what you have to say, there’s only one reliable channel—email. If you contact me through any of the others, let me apologize in advance—because I probably won’t see it.

A Two-Context Approach to GTD with OmniFocus

With versions available for both iOS and OS X, OmniFocus is the most powerful task management system intended for individuals on the Apple platform. OmniFocus is highly configurable, allowing the user to tailor it to their own particular approach to GTD (Getting Things Done). Until recently, I’ve struggled with identifying an ideal approach to using OmniFocus for task management. The solution I settled on is described in this post.

Continue reading A Two-Context Approach to GTD with OmniFocus

A weekly planner—the missing killer feature from Things

Update — Since writing this article, I’ve switched back to OmniFocus.

When CulturedCode finally announced the public availability of their cloud-based syncing system, I decided to switch back to Things, from OmniFocus, for my task-management tool. Although I’m quite happy with the switch, there’s one killer feature that (for me) is missing from the app, which I’ll describe in this article. Continue reading A weekly planner—the missing killer feature from Things

How to never forget to enable your time tracking timer.

Over the years, I’ve used several Mac app to track my time while working — On the Job, TrackRecord, Billings,… you name it. The main problem I’ve had with all of them is remembering to enable the timer as I work. Sometimes I’d end the day, only to realize I hadn’t tracked any of my time.

Recently, we’ve started using the online service Harvest, which comes with its own desktop app for the Mac. It’s fine, but like the others, doesn’t solve the problem I have in remembering to start the timer.

Finally, with the help of Makalu’s system administrator shell scripting wizard Niall, I have a solution.

For a long time, I’ve been a heavy user of Keyboard Maestro — an app that lets non-programming pointy-haired bosses like me, create scripts to automate their Macs. Ugly website, but a great product. Here’s some cool things I do with Keyboard Maestro:

  • With the tap of a keystroke, I create a new contact record in Daylite, each time we get a new RaceSplitter customer.

  • Each morning, my online backup tool, Arq, gets its upload bandwidth throttled (while I work), and then gets opened up again during the night.

  • With the tap of a keystroke, create a temporary document in Notational Velocity, containing the contents of the clipboard.

  • With the tap of a keystroke, open all my project-related folders and URLs.

  • With the tap of a keystroke, shoot myself a quick email with the contents of the clipboard.


p>And now, with Keyboard Maestro, I’ve solved the problem of remembering to turn on my timer.

Harvest provides an API that developers can use to interact programatically with the service. One of the actions available to Keyboard Maestro scripts is to run a shell script, and act on the results.

I combined the two to create a script that runs every 5 minutes beteween 8:30 AM and 7:30 PM, sending a request to the Harvest API, and checking the response to see if a timer is active. If a timer is not active, I growl an alert to myself and switch into the Harvest app.

So far, this solution has worked great for me!

If you’re interested, here’s a visual of the script:

My new social media diet

1996. I remember it clearly. Recently graduated, I was working as an engineer at the European Space Agency in Darmstadt, Germany. A rebellious type, I’d decided that either they let me keep my Mac, or I’d go work somewhere else. They let me keep it.

I’d heard about the internet, and supposedly we had it, but via an email gateway called Bitnet. To “FTP” something, we’d send an email, and get back several encoded file chunks, requiring a terminal emulation program to download for offline reassembling.

Curious one day, I downloaded, assembled and launched John Norstad’s usenet reader. I’ll never forget that day; the moment I realized I had graphical access to the internet, and a door opened to a brand new world.

Soon I was following several newsgroups, and before long I experienced the first feelings that we’re probably all familiar with these days — that a huge amount of possibly useful information was being continually exchanged, and that missing even a day of it could leave one hopelessly behind. There was a larger social audience than accessible in my real-life world. There were those who were considered authorities, and getting their attention felt like an elevating accomplishment.

Little by little, my productivity began to suffer. Somehow I found myself having difficulty focusing and getting as deeply involved in my projects. The furtherest suspicion on my mind was that it might have something to do with the energy I was expending in following the newsgroups. After some time, I decided that perhaps it was the calling of the internet and the bursting horizon of opportunities, and I left to start a business. Looking back, it was probably a bit of both.

Rewind back even a bit further, to the decade covering my university studies, and first couple of professional years.

Somehow, without access to social media, I managed to identify some of the key areas that would later prove central and valuable in my life. I discovered that design is something everybody can benefit from understanding, and Robin William’s, “The Mac is not a Typewriter” forever changed my written communications. I discovered that engineering is about trade-offs, and Frederic Brooks’s, “The Mythical Man Month” taught me that there are no silver bullets. Stephen Covey taught me that it’s critical to understand the difference between “urgent” and “important”. Michael Gerber taught me that being good at something doesn’t always translate to being good at the business of that something. Roger Black showed me the beauty of black, white & red. Jan Tschichold helped me understand why I cozy up to some books, and not others. David Ogilvy taught me why I bought things.

These were, for me, profound and valuable lessons learned, over the period of about a decade, from a relatively few, but accomplished, individuals.

Fast forward to today, 2011. I read my RSS feed over breakfast, and then catch up on Twitter over coffee. Twitter stays active all day long, continually grabbing my attention.

I start to notice that even while concentrating, pauses in thought — for example, hitting a conflict while defining some project specifications — seems to trigger a desire to switch into Twitter, almost like it’s a relief to active thinking and problem-solving.

And at the end of the day, I have a feeling of uneasiness, of dissatisfaction, a little anxious. Rather than engage in reflection, though, I check my feeds. And Facebook. And Twitter, again.

I also begin to wonder whether the reasons I communicate, in the online context, have changed. Do I really have something to say, or am I just trying to have something to say? Why am I reaching to jump into that conversation? Is because they’re influentials, and I want to be seen a part of their conversation? Why did I reply to that person’s comment to me, but not the other’s? Is it because I know people are looking? Am I becoming influenced by the superficial pull of status? Are we really socially interacting, or are we more like living window mannequins, maintaining a carefully crafted expression, position and always seeking notice of those passing by?

For some reason, which I haven’t yet identified, several weeks ago I simply thought, “Enough is enough.” And since then, I’ve only opened Twitter to tweet (and that was relatively infrequent), and respond to the people who’ve contacted me. No Twitter consumption at all. Nor Facebook. I’ve only caught up on RSS one day per week, usually on Saturday afternoon.

It has felt wonderful.

I’ve enjoyed a sense of calm I’d forgotten I was capable of. I found myself intellectually and analytically engaged in my life’s important activities, and haven’t felt those activities any longer to be overwhelming.

Although there have been times in the past when I cut back on social-media consumption, this time, for some reason, it has been different. This time, I’ve had the sort of “eureka” sensation I had after studying about the Paleo diet, and somehow knowing that I’d made a change that’s going to stick with me permanently.


I find it interesting to reflect on my life before 1996, and after. If I visualize pre-1996, I see a relatively open and sparse world, in which based on nothing more than my own pursuits and limited social interactions, I identified and learned about a small handful of things that would prove of lifelong value to me.

Post-1996 — the online period — looks, by comparison, like a noisy television screen, tuned to a channel that’s signed off the air. Literally thousands of topics have appeared on my radar, raised by people I don’t know, but whose social weighting, rather than their accomplishments, have caused me to at least mentally flag the matters as potentially important to understand. File them to Delicious, tag them, Instapaper, Readability, a quick Amazon Kindle purchase, and add the author to some Twitter list.

And rather than a select, few individuals, my inflated and distorted perception of expertise has extended to hundreds, if not thousands. 10,000 twitter followers? He must know what he’s talking about.

As I look back on the past 15 years, and try to identify what I’ve learned in consuming social media, what has proven really valuable in my life, I come up empty. And that’s, I think, profoundly disappointing, considering the number of information pieces that I temporarily found interesting; of course, bookmarked and tagged for later reference. Can it really be true there was nothing there of comparable value to the visualization lessons I learned from Eduard Tufte, or the principles of investing I learned from Harry Browne?

And what I also see, looking at pre- and post-1996, is a difference in independent intellectual engagement. And I prefer the “pre” period, during which I would spend long periods of time just thinking. Just observing. Just reflecting. And, most importantly, I’d piece things together on my own, that would result in meaningful personal progress, and identification of what’s really important to me.

Affects of virtual societies

In his book in on mathematical illiteracy, John Allen Paulos discusses (among many other things) some not-so-obvious affects of global media. In our everyday lives, we’re exposed to a gaussian-like distribution of events, with extremities like murders and natural disasters being so statistically rare that if exposed only to local news, we’d hardly ever hear of them. Most of us in the developed world would perceive life as relatively tranquil.

But national and global daily news have the effect of artificially compressing the distribution, making rare events seem far more common, and this has the disturbing effect of distorting our perceptions and views. We tend to see the world as a far more hostile place than it really is.

It seems logical to me that social media would have similar distortional effects, perhaps in other, non-obvious dimensions, since the characteristics of these virtual contexts are so radically different.

Our social circles are much larger, but contain far less mutual inter-connections. We can develop artificial senses of belonging, and false impressions of relationships, where none really exists. The conversations are usually one to many, and originate in different motivations than real-life discourse. Why we communicate changes. Influence tends to derive from status, rather than accomplishment. Our susceptibilities to pride and status seem amplified in these scaled environments.

My new social media and information diet

How social media and the explosion of information affect individuals and societies is the subject of a lot of study and research today. As with most major technological shifts in history, there’s certainly benefits and drawbacks. What I tend to conclude, though, about myself at least, is that without discipline, patterns can develop that affect productivity, and without careful awareness, perceptions can be distorted. And above all, I simply don’t want to waste time!

My intent is the following:

  • Blogs For the time being, I’ll continue to read the blogs I like, but I’ll set strict boundaries; for example, only on weekends.

  • Social Media I’ll also limit Twitter (which is really the only social network that’s stuck with me) to weekends, but will make an additional change as well. Rather than follow a private curated list, whose members are based on perceived status, influence, or likelihood of saying something valuable to me, it will be based on relationships; mostly containing people I know (personally and virtually), who I want to keep up with.

I have a feeling this represents an important new phase in my life; a phase in which my social media consumption will get dramatically reduced in the same way the Paleo diet led to the dramatic reduction of carbs in my diet. (And just as with the Paleo diet’s “cheat day”, it’s not really about complete abstinence, but rather reduction and discipline.) Hopefully this represents a phase in which I’ll return as captain of the ship, determining what’s important through independent thought and experience; less affected by the biases and influences of the emergent online social contexts.

(As an end-note, I do recognize the irony of expressing all this in a blog post — and one that concludes with a “follow me on twitter” link! But for the time being, I’ll continue blogging, and tweeting, since writing, for me, is a great way to consolidate and distill vague ideas into some form of coherence.)

How to schedule focus

For nearly a decade, we at Makalu have worked to consistently deliver real, objective value to our customers, and by external measures we’ve been successful. We built a website for Catalog Choice that registered a million users in its first year. We built a game for Google and Virgin America that Ogilvy & Mather pointed to as a reference for modern-day marketing. And we’ve increased signed up conversion, customer retention, and ultimately the bottom line for many more.

We seem to have done well, which is great, except for one thing — we’ve never been able to shake a nagging feeling of dissatisfaction. Although we’re doing good work by external standards, we know deep down that we’re not doing our best work, by our own standards.

Is it something we should just accept, or should we do something about it? In case others in our industry might share in this internal tension, I decided to put our thoughts into an article to share.

Doing great work

Doing really great work requires focus — getting in the zone, and staying there, uninterrupted, until you come to whatever milestone makes sense in the context (a wireframe, a mockup, a prototype iteration, or a blog article.) And, unfortunately, you can’t know in advance exactly how long it will take to get there. You might know it usually takes a day, but sometimes it takes three.

So to create great work, we need uninterrupted focus, for as long as it takes.

Running a services business

Customer engagements (even if you’re your own customer) introduces constraints that work contrary to producing ones best work.

The owner of a services company can, through policy, control some of these constraints. When talking with potential customers, you can communicate that your company’s mission is to do great work, and therefore you avoid certain things. In our case, that would include fixed-price projects, and projects involving severely limiting budgets or time contraints. We’ve done a good job sticking with this policy.

But what we haven’t been able to avoid, is the necessity of working on multiple projects in parallel.

Project concurrency to address idle time

All service projects involve idle time, such as when a customer reviews an iteration, or when a delay is introduced. We could try to forcibly manage flow by contract, but nobody likes that. Both customers and providers appreciate a process that allows projects to follow their natural dynamic, and reasonably accommodate the unforseen. So we accept that (sometimes unpredictable) idle time is part of our way of doing business.

So how can we address the cost impact (and profit loss) of idle time? Our approach has been to operate multiple projects in parallel, for a given team, in an effort to keep our resources busy. It doesn’t eliminate idle time, and it introduces its own challenges, but it’s the best approach we’ve found.

Of course, if we take on too many projects, we’ll end up the source of project delays, and we don’t want that. We’ve found, through experience, that things go well if we take on no more than two projects at a time, per team.

Effort scheduling

So we’re working on two projects, each of which has some current milestone that we’re working towards. How do we schedule our time?

We’ve tended to schedule our time weekly, by day — Monday (Project 1), Tuesday (Project 2), Wednesday (Project 1), Thursday (Project 1 & Project 2), Friday (Project 2) — taking into account, as best possible, the various needs of each project.

(Since we don’t know how long it takes to get to a milestone, and if we insist on providing at least a minimum level of quality, then a consequence of this planning is that we can’t tell Client 1, “We’ll finish XYZ by Monday night.” Instead, we can only say, “We’ll be working all day Monday, Wednesday and half of Thursday, and we think we might get to XYZ.”)

This loading (two projects at once) and planning strategy has worked well during the past few years — we haven’t gotten terribly behind on any project, we’re maintaining a consistently high ratio of chargeable/non-chargeable time, our customers have all been happy, and we’ve remained profitable.

But, there’s that darn elephant in the room.

At the end of the day, we just don’t feel satisfied. We try to soldier on, but it keeps popping up. We keep asking ourselves, “We only have one life to live. Are we really OK with not doing our best?”

A new approach — scheduling in blocks of a week

Analyzing things, we suspect that the focus (essential to great work) lost with daily (and sometimes mid-daily) context switches is just too consequential. Knowing that we’re switching context so frequently seems to create too strong a feeling of urgency, encourages taking shortcuts, and going with known patterns instead of pushing the envelope. It seems to lead to good enough.

To address this, we’re going to try experimenting with planning things in blocks of a week — i.e. Week 1 (Project 1), Week 2 (Project 2), and so on. We’re hoping that focus blocks in units of weeks will give us enough time to reflect and explore, allowing us to get deep enough to make the work great.

That’s the target, at least. I’m sure it’s going to prove easier said than done. Implementing this will imply both economic and scheduling concessions on the part of our customers. But, if it gets us closer to doing our very best work, maybe it’ll prove worth it — for both us, and our customers.

We’ll see, and I’ll report back.

My system for Getting Things Done

Update: This article was written in 2011. An updated description of my system for Getting Things Done can be found here.

Back in 2004, I wrote a popular article describing my system for “Getting Things Done”. Since then, tools have changed and my needs have changed, and so it was about time for an update.

Today’s system is simpler; it’s based on two tools — OmniFocus, and TaskPaper. Here’s how it works.


Having OmniFocus on the Mac, the iPad and the iPhone, I can capture ideas and actions pretty much any time, anywhere.

On the Mac, a hot-key (command-space) triggers OmniFocus’s quick-input window. Many of the tasks I create on the Mac are associated to incoming emails. By dragging those emails into the quick-input window, a link to the original message is created in the task, allowing me to archive the message in (and helping to maintain inbox-zero zen.)

On the iOS devices (iPhone and iPad), OmniFocus thoughtfully allows you to create a new task, without even having to wait for its cloud-syncing to complete. Fast and efficient.

Most important, the highly-reliable cloud-syncing ensures that my captured tasks are immediately available in OmniFocus on all devices, regardless where they were captured.

Weekly Review.

For both review and planning (discussed next), I use OmniFocus on the iPad. OmniFocus on the iPad has a better UI than its Mac counterpart; but even more importantly, the iPad itself tends to promote focus, which I find essential for reviewing and planning.

For each project in OmniFocus, you can set a frequency for how often you want to review it. For my active projects, this is weekly. But for some projects (especially product ideas or suspended projects), this might be once every three months — long enough so that I’m not mentally interrupted too often, but at the same time, making sure they’re not forgotten.

Once a week, usually on Sundays, I’ll grab the iPad and head down to the local tea shop, order a “Té Moruño” (green tea with fresh mint), and spend about an hour doing my weekly review and planning.

I’ll start in OmniFocus’s Review Mode. In this mode, OmniFocus walks you though each project — one at a time — which is due for review, showing you all the tasks you’ve created. In this mode, I:

  • Think about the state of the project. Is it still active? Has it received enough attention? Should its priority in the overall scope of things change? If necessary, I might change the status of the project from “Active” to “On Hold”, so that its tasks (for the time being) don’t appear anywhere else in OmniFocus. (Or, vice-versa; I might “activate” a project that’s currently on hold.)

  • Manage the tasks. I add new ones that come to mind, and I delete those which may no longer be relevant. Since OmniFocus’s perspectives allow me to filter my tasks (something we’ll look at next), I can define all the tasks I imagine relevant to the project, without worry about task-overload while later working.

  • Manage the start and due dates. Each task can have “start” and “due” dates independently assigned. The meaning of due dates is obvious; start dates somewhat less. For every task that I’ve committed to do, I assign a start date corresponding (roughly) to when I plan to start working on it. This means that all the tasks I’m currently working on have start dates in the past. (In fact, more specifically, I make sure the start date is set to “now”, or in the past, for all tasks I plan to work on in the upcoming week.)

When I’m done reviewing a project, I tap “Mark Reviewed”. OmniFocus closes the project, and then shows me the next project needing review. I continue until there’s no projects left to review.

Weekly Planning.
When I finish the weekly projects review, I move on to planning of the following week — i.e. figuring out when I’m going to work on my active tasks. OmniFocus supports something called perspectives — which are highly configurable filtered views of your tasks. In addition to the default perspectives delivered with OmniFocus, I have two others:
  • Urgent — This contains all tasks that are due, overdue, or coming due soon (within two days), grouped by Context.

  • Active — This contains all tasks that are active — i.e. have a start date defined as now, or in the past. The tasks in this perspective are grouped by Project.


p>To start the planning process, I switch into the Active perspective. This perspective should show me all tasks on which I intend to be working on in the following week.

If I see any task that I don’t want to work on this week, I’ll tap the “+week” or “+month” buttons in OmniFocus, to bump up their start dates into the future (or just reset them completely.) With a change of start date, they disappear from this perspective. Out of sight, out of mind.

At this point, I’ll try to mentally group the week’s tasks into related, largish, chunks of time — like two hours, or four hours, or eight hours.

While “chunking” my tasks, I’ll switch back and forth from OmniFocus into TaskPaper — a text-based outliner on the iPad — into a document called “Weekly Planning”, and start adding chunk tasks to a TaskPaper project called “Weekly Objectives”.

(Don’t confuse TaskPaper “projects” and “tasks”, with projects and tasks used elsewhere in this article; those are just the terminologies used in TaskPaper for its outline elements — parents and children.)

When I’m done, my “Weekly Objectives” project (list) in TaskPaper might look like this:

  • RaceSplitter (8h)
  • Makalu Miscellaneous Tasks (4h)
  • Makalu Management (4h)
  • Makalu Finance (4h)
  • Personal Finance (2h)
  • Catalog Choice (8h)

I won’t schedule a full 40 hours, because I know I’ll need some margin for daily emailing, and the various little things that inevitably pop up over the course of a week.

This TaskPaper document also contains day-of-the-week “projects” — i.e. Monday, Tuesday, Wednesday,…

When I’ve finished chunking about a week’s worth of work into the “Objectives” list, I’ll then conduct a finer-grained planning by distributing those chunks over the days of the week:

  • Monday — Miscellaneous (4h), Management (4h)
  • Tuesday — RaceSplitter (8h)
  • Wednesday — Catalog Choice (8h)

What this achieves is the organization of the week’s planning into blocks of time in which my focus is relatively contained within a common context. And that leads to better productivity.

(As a side note, my TaskPaper documents are kept in Dropbox, so they’re also available everywhere!)

Daily Planning

Each evening, I’ll look at the following day’s chuncked plan in TaskPaper. If it’s Monday in the example above, I see that I’ll be working half the day in “Makalu Miscellaneous” and half in “Makalu Management”.

I’ll then switch to OmniFocus, into the Active perspective (which shows me the active tasks), and I’ll focus only on the tasks in these two projects. From those, I’ll tap to “flag” each task that I intend to complete (or just work on) during the following day.

The list of “flagged” tasks then becomes my next day’s work-list.

Finally, after doing my daily planning, which just takes a few minutes, I’ll quickly switch into the Urgent perspective, just to make sure nothing due, or coming due soon, is slipping through the cracks.

Daily Work

During the day, as I work, I keep the iPad on and displaying the “Flagged” perspective in OmniFocus — i.e. displaying my task list for the day.

These tasks should be roughly within the same project or context as the day’s chuncked plan in TaskPaper. As I work through the day, I check them off — hopefully until the “Flagged” perspective is empty.


This system works really well for me, achieving the following:

  • Based on just two tools, it’s far simpler than my GTD systems of the past. Being simpler, I’m able to better stick with it.
  • Having OmniFocus on all devices, I’m almost never in a situation in which I can’t capture a thought, action or task.
  • When looking at my tasks in OmniFocus’s “perspectives”, I see only what’s relevant, when it’s relevant. This helps to prevent feeling overwhelmed.
  • Using TaskPaper, my week is organized into “blocks”, allowing context-consistent focus, and improved productivity.

The biology of productivity?

I’ve been reading the book, “Why we get fat” by Gary Taubes. If you’re interested in understanding the relationship between eating and getting fat, then you must read the book. It could change your life.

The revelation of the book is that some common dietary beliefs are, as demonstrated by science & biology, complete inverted. And that got me thinking about possible parallels in other areas, such as productivity.

Continue reading The biology of productivity?