I’ve been thinking a lot recently about focus and dealing with many projects at once. I’ve heard many people say that it is difficult, if not impossible, to be 100% committed to more than one endeavor at any time. Furthermore, the more stuff you have on your plate, the more everything simultaneously suffers. In an opportunity dense world, not everything has equal value. Indeed, I can relate to having spent too much time on value-poor projects in pursuit of a paycheck. I can identify at least a couple of occasions this year where really amazing opportunities had to be passed over because I was in the middle of client work deadlines.
Jon Lebkowsky writes about the difficulty of multitasking
I was good at balancing many tasks, I could keep a lot of balls in the air without dropping them. As I matured, I realized that depth has more value than breadth, and in recent years I’ve been trying to learn to focus and do a few things well.
Jon is an interesting guy who is smart and involved in many worthwhile projects. I like to think that most of my friends fall into this category of diverse interests and passions. But how do we cope? When a thousand things come at you and all of them seem equally interesting or even lucrative at the onset, how do you decide which are most important? I’m still figuring out what my personal filters need to be.
In the meantime, there are projects to complete and things to accomplish.
How computers multitask
I distinctly remember a project in a computer architecture class where we designed multitasking systems and applications that ran on top of them.
Inside your PC is a device called the Central Processing Unit (CPU) which is, loosely, the “brain” of the computer. Its primary function is to do math as quickly as possible.
When somebody says they have a 3.0Ghz computer, they are referring to the CPU’s speed at doing math. 3.0Ghz translates into 3 billion arithmetic operations per second.
We’re only counting very simple binary operations (add, subtract, bitshift, etc). However, if you do enough small bits of math, and you do them very fast (ex, 3 billion per second), things like youtube videos and email emerge.
When you turn on your computer, you likely have dozens of programs that load automatically. The computer itself runs an operating system (ex. Windows or OS X) that, in turn, has dozens or hundreds of processes that need to run all the time, like the subsystems that deal with file management or the mouse cursor display. As soon as we load our email program or web browser, the computer adds a whole new set of threads of activity on top of the current workload.
So you are taking the limited resource of tasks per second and dividing it up among a large set of activities. That’s why when you have 50 applications open at once, you might notice the computer starting to drag (or why you have to reboot every once in a while to “clear the deck.”)
However, from our human perspective, most of the time, it appears the computer is not even breaking a sweat despite the myriad tasks it’s completing about every second. Never mind that you can easily identify the CPU on an opened computer because it usually has it’s own cooling fan or large spiky projections that help distribute the heat generated by so much math. The computer works really hard to be that fast.
Here’s the thing: our puny human brains are actually faster. MUCH faster. But we’ll get to that in a little bit.
The CPU can, roughly, do only one math operation at a time. Most interesting things a computer can do require billions of math operations to complete. If a computer only had to do one interesting thing at a time that required multiple steps or tasks, the fastest way to complete that single problem is to begin at the beginning and work through until it’s completed (i.e. not to get sidetracked doing anything off of the critical path).
So let’s look at an example.
Suppose a computer has a problem that requires 10 small math operations to complete and lets say that the computer can only process 10 math operations a second. This means the computer will accomplish this problem in 1 second:

It follows that if a CPU can work only one small step at a time, then if it has 2 complicated projects to complete each with 10 small steps, it takes 20 steps, or 2 seconds to complete. The diagram below shows the computer only working on one complicated project at a time. It completes the first project and then starts the second project. This is called “sequential processing.”

If computers actually worked that way, we would be so frustrated that we would bang our heads on our keyboards and probably spend more time outside.
Right now, your computer is doing, easily, a few million extremely complicated processes (ex. the video rendering that causes these words to show up at the right place on your screen). If you had to wait for the first million projects to complete before the computer started the next million, it would take minutes for your mouse to move a couple pixels in any direction.
So we need something like this:

Notice how we haven’t saved any time at all. However, the perception is that lots of things are finishing at around the same time. That’s all computer multitasking is about — it’s just getting things finished at a time which seems acceptable to the end user.
For complex problems which require many steps, the computer maintains a set of holders in its memory called “registers.” At any given time, as the computer is working through a multi-step problem, it can take the state of everything it is working on in its CPU and put all the values into some of the registers. It can also load up a different collection of values from another group of registers and pick up where it left off. This is basically how the CPU can keep track of many complicated problems in various states of completion. This process is called “context switching” and happens every so often (i.e. millions of times per second.)
We can amend our previous example by adding context switching tasks. The worst case scenario has you switching projects after every task. Let’s simplify and say that a context switch takes the same amount of time as any other small task.
![]()
Whoa! We almost doubled the amount of time required to complete just two projects by adding context switching. In fact: we get exponential increases of time for every new project we add a multitasked project just because of the overhead of having to think about a different set of information.
Computers deal with this in several ways:
- They optimize the time it takes to context switch by storing as minimal amount of information as necessary to continue working on a problem.
- The engineers who build CPUs design chips so they are physically able to context switch faster than anything else.
- They add more brains. The only way a computer can physically do more than one math problem at a time is by adding additional CPUs. So when we hear “Quad-core CPU” you have 4 math machines working at the exact same time. This adds a whole new layer of complication because how you split up a problem among multiple processors will affect the speed of your computer. The Saguaro 2 supercomputer has hundreds and hundreds of core CPUs and requires elaborate water cooling systems to keep it from melting down, but can handle 50 trillion math operations per second.
- They can reduce the number of times they context switch by chunking their problems differently. Rather than switch between every task, for example, they might switch between every 5th task.
- They can pre-process complicated tasks so that they are prioritized and broken up into parts that will complete faster. Major branches of computer science deal with the serious math behind this approach.
Multitasking is a tough problem for a machine. There’s a huge amount of computer science around how you schedule and prioritize tasks and how they are broken down so that the most complicated projects don’t consume too many resources at the wrong time. Many times a “faster” computer is not faster at all. The software is just tweaked, via mathematics, to deliver finished projects sooner. Projects which deliver the most perceptual impact (ex. graphics processing) are usually prioritized.
Human Multitasking
Our brains are capable of about 100 000 000 000 000 000 operations per second. That is at least a hundred thousand times faster than the fastest super computer requiring all that water cooling and government money.
So why are we so bad at multitasking?
We, thankfully, do not perceive each of the trillions of operations required to observe, wonder, tinker and build things in our world around us. On a conscious level, we do not manage the the tiny tasks of our brain computers.
We operate on a higher level. Our self-awareness is an application running on top of a really fast wet operating system. However, as is of any abstraction, as we simplify and aggregate functions, we start lose flexibility and power. We don’t have complete control over ourselves. We are prone to mental illness (bugs in our synapse programming), there are daemon processes that run on autopilot, backing up our memories and making sure the graphics displays of our visual processing render with a reasonable precision. Reasonable, but not perfect.
What’s a puny human mind to do when we can’t add CPUS (yet) and are limited by our core OS? We have to reduce our context switching. It’s the only way to get multiple interesting things done.
- Eliminate tasks to reduce context switching.
- Chunk tasks so you get as much done on one project before you must switch to another.
- Focus on projects which provide the most perceptual impact. Those projects which provide you the most value, recognition, and velocity towards your passions should deserve more cpu time.
- The final task of a project is the most important task. All effort should be placed on getting the final task crossed off the list. “The quicker you finish, the quicker you finish.”
I think those four things are easier said than done.
As a parting shot, after reading many self-help productivity books and blogs, trying to implement system after system of productivity, and listening to people who might know better, I’ve come to the conclusion that getting things done can actually be boiled down to one word:
Decide.
I am currently ramping up to reinvigorate my blog / online presence / personal brand / social media strategy, etc. etc.
What you are seeing on my blog today is a temporary placeholder until I can officially "relaunch."
I've recently moved to the East Coast (Somerville, MA) and have been doing some Big Thinking about where I'm going with my work, life, etc. Part of this is a renewed emphasis on ego-building online. It's easier now than ever, and I'm really exhausted by seeing uninteresting people have all the fun.
However, as an antidote to my bad habits of taking on too many low-value projects and passive aggressively making the last 20% of ongoing projects drag on and on, I have been trying to implement Cal Newport's idea of a completion-centric productivity.
Read More Post a comment (2)As a freelancer, I often get a feeling of isolation when working on projects; sometimes this leads to a lack of accountability (i.e. peer pressure). I miss more, however, the riffing and brainstorming that happens when people willingly get together, share ideas, and are genuinely interested in each others’ (or the collective) success. (and it has to be face-to-face… virtual meetings can’t replicate the energy building of a good brainstorming session).
Read More Post a comment (0)I think I have finally nailed down a reasonable email handling / spam fighting strategy after about a year of tweaking.
I’m going to slowly describe my system over a series of posts. It’s pretty good, if I do say so myself.
Here are a couple of ranty things I’d like to just put out on the table, first.
I wish I had a quarter for whenever somebody says, “Oh, man, I get SOOO many email messages every day that I don’t have time to read them all, much less respond.”
It’s usually followed by some quantification, “I get over 1000 messages everyday” and always includes some corollary about, “I subscribe to 100 mailing lists” and “I have 20 email addresses I check” and “that doesn’t even include SPAM!”
I’m going to carry around blue ribbons and certificates for whenever somebody says this.
What they are trying to explain to you is that they are important. And important people get lots of email. And since they are more important than you, they mask their immense fear of being discovered as disorganized or type-B or luddites with a cloud of digital detritus that enables them to defraud their families and employers by engaging ineffectively with pointless busywork rather than actually contributing to society.
Here’s the reality check:
- Human beings can’t process thousands of messages a day.
- Good news. Most email does not deserve your attention.
- You will not have to act on all of the messages you receive each day.
- Saying “I have too many pieces of email” is admitting you have poor skills at prioritizing.
- Shut up and deal… we’re all faced with the same (or worse) email and spam barrage.
- If you can’t deal with your avalanche of email, then you and your system are outdated and broken. Upgrade, dinosaur.
- Will the world end or will people suffer and die if you don’t handle all your email? If so, why the hell are you talking to me instead of clearing your inbox?
- Coping mechanisms: Hire assistants. Hit the delete key. Go read Lifehacker. Streamline your system. Get in touch with yourself. Climb a mountain and meditate on what’s truly important.
So here’s me: 4000 messages daily (including SPAM, including mailing lists, including automated notices) that pass through my multiple servers hosting multiple email addresses.
The system I use filters that down to roughly 20 per day that MAY require a response or action. They all come to the one inbox.
Using some Mail.app plugins to triage, route, and deal, I can handle these in under 30 minutes.
The rest are handled by autoresponders or are filed away through a set of rules. I’ve recently implemented some steps that automagically archive older stuff into a MySQL database in the most absurdly remote, almost impossible chance I’d need to refer back to those posts some years down the line.
That beats Pareto 20/80 easily, and I’m going to share how I do it.
Pre-requisites: Go read Merlin Mann’s inbox zero series for some theory. Implement and live with his system for a while. Only then should you consider my tweaks. You’ll need a computer running OS X using Mail.app as your primary client. You’ll have to purchase roughly $100 worth software. (ask yourself how much your time is worth before balking at that).
One other pet peeve: It’s “email messages” or “email posts” or “pieces of email” or sometimes just “email.” It is NEVER CORRECT to say “emails.” This is the same as never saying, “I’m going to the post office to drop off mails.”
And yes… with my backlog of owed responses, I’m self-aware enough to recognize “Pot. Kettle. Black.” That’s why I’m projecting so strongly.
Upcoming: Mail.app baseline setup. IMAP, Inbox, Archives, and Smart Folders I Use
I’m currently using GTDAlt in TextMate as my GTD processing system. It’s a text based system, so it’s upgradable, portable, etc.
Through the TextMate bundle framework, you get some nice collating of contexts, etc.
GTDAlt does rely on some proprietary syntax, but it’s pretty basic and easily parsable.
There is rudimentary support for iterating through items in an inbox.txt file to generate GTD items.
I created an applescript which will take the selected message in Mail.app and create a properly formated item, using the subject and message: url (you must have MailTags installed so the message: protocol is recognized).
This means I’ll get action items with links to specific messages in my GTD system.
I partner this with a Mail Act-On rule… so when I hit ctrl-1, a GTDAlt item gets created, the message is tagged “@action”, and it’s sent to my one archive folder in one step.
In true GTD fashion, this should only be used for messages that take longer than 2 minutes to respond to. In reality, I need to get better at firing off quick responses to things (or liberally using the delete key). Otherwise, it’s likely I’ll use this to just procrastinate email items away into a black hole.
I have spent way too many hours of my life searching for the ideal GTD system. I’ve been through ‘em all: diy planner, kinkless, frictionless, tracks, index cards, printable ceo, and even plain text files. Usually, I’ll spend an entire afternoon just transferring data back and forth… precious, irretrievable minutes lost on pointless migrations.
Every platform comes very close to being good enough to trust. However, all of them fall short for various reasons. ANY system will fail if it’s not a complete pleasure to use. Systems that do not urge me into action are going to disappoint me, no matter how clever.
I’ve noticed a new crop of apps starting to appear in the scene and something struck me about attempts at GTD nirvana. They all essentially do the same thing: they present information in table, outline, and list formats. None of them do much more than help organize a set of lists – this is a great start, though; even David Allen says it all comes down to lists.
The point of this post isn’t to enumerate why these platforms don’t turn me on. Let’s just leave it at, “they don’t.” (Not entirely true, every one of them has elements that I could see co-opting for my ultimate platform, but none of them get me excited about doing things on their own).
I believe that there can exist a GTD framework that not only handles day-to-day battlefields, but can also tap into some different cognitive access points. Why does everything have to be lists? Why not ephemeral clouds? Why not physical devices that urge me into activity by nudging me in the right direction? Do any GTD apps really help you decide what to do next, or don’t they all just present a too broad set of information?
They need to be smarter… What if our GTD platform showed you not all the things you COULD get done to fill your time, but only the very next thing you should get done to evolve your soul?
At the end of the day, yes, I realize that I’m the only one that can make me get stuff done, and I will fully own up to the reality that this endless tinkering is, indeed, a form of procrastination.
That being said, I am pretty convinced that I’m the only one that can build the better system.
… the better system as defined by “what works for me.”
A long, long time ago (okay, 2003), I hinted at an application I was hacking away at called Tock. It was basically GTD before everyone else had read the book.
I even had a prototype. It committed “paradigm violence.”
It should probably be dusted off.
I realized though, that my working style has changed and I really need to field test anything I come up with in a rapid development environment. So, over just a couple hours this weekend, I threw together the Project-Task-Context model in Ruby on Rails.
”Ugh! Not another web 2.0 wannabe app!”
Exactly. However, RoR makes for a good prototyping environment… this will help me get the backend right. It will let me tinker on experiments like, “Tock, give me the 9 things I should work on today.”
I was very close to just forking Tracks, but I realized that there was too much in there just to support AJAX user interfaces. Tock isn’t about that. Tock laughs at web browsers. Hell, he laughs at mice and keyboards.
You’ll see…
Starting is always the hardest part, dont you think? I definitely have a deep infection of plan-it-out syndrome.
studentl.inc: Think About Planning Ahead [5x5s]:
5. Start now. Do something.
Some people are addicted to planning (or the idea of planning). They get excited about all the tools you can use to plan, all the latest, hip ideas that planning gurus offer. But their planning ends up being all that there is…just planning. Planning is not a means to an end. We plan so that we can accomplish (both efficiently and effectively) the tasks that need to be done. I believe that planning is vital to accomplishment. But if we never start, then we are wasting time. Implement your plans.
Earlier today I sent out what amounted to a call to arms to friends and mailing lists. I was urging people to drive towards the objective all creative people should have: to build things.
I urged people to spend 20 minutes today working on whatever creative endeavor they have brewing in the back burner. Move that project into the center of the radar for just 20 minutes.
20 minutes is a very small chunk of time. In any given project, however, there are any number of minor pieces which can be built in that time. The encouragement today was to spend 20 minutes just building. This needs to be focused working time without deviation from activity. This is inspired by Merlin Mann’s dash concept – a good way to beat procrastination is to just begin on a small chunk… Just commit to cranking activity out for a small amount of time. When the dash is over, you’ve easily beaten the first and only hurdle of procrastination: starting.
Running constantly on my OSX desktop is a small timer program called Minuteur. This has worked wonders for me.
I just set it at 20 minutes and hit go. I focus on a single piece of a project until the timer runs out. Minuteur pops up a “TIME’S UP!” window and I can choose to add 5, 10 or 15 more minutes. I often do that simply because I’m on a roll. I’ll also sometimes drop in 10 minutes between working periods for guilt-free play time. That’s usually when I do my RSS reading or grab coffee.
Admittedly, my responsibilities are fewer than, say, a single mom with 2 toddlers who is trying to finish college, but I often find myself devoting 100% of my useful and usable time into other peoples’ projects. Day job work spills into after hours and suddenly I’m barely left with enough energy to get myself home, much less exercise or make a good meal, and much MUCH less build a stunningly cool and beautiful machine puppet.
Since when did I put “making somebody else lots of money sweating blood over their vision” at a higher priority than “following what my soul and mind’s eye are screaming at me?”
That needs to end.
It’s not to say that we all don’t need day jobs. We have mortgages to pay, for crying out loud. However, I think the mistake I often make is letting the day job crowd out the dreams.
In The Now Habit and there’s this concept of the “Unschedule”. Briefly, it recommends starting your calendar by planning in all of your “me” time: Block out sleeping, eating, commuting, and exercising time. More importantly, block out your play time – time in which you are simply NOT working. This is time for guilt free play; guilt free play, incidentally is where I think the best creativity is born.
I also recommend scheduling 20 minutes a day as an unbreakable appointment with yourself every day for every project which you genuinely care about completing with all your heart.
Only then do you block out work appointments: meetings, etc.
Whatever’s left is your day job working time.
If you are anything like me, you’ll be very surprised at how little time you have left over. It’s no wonder we feel overwhelmed at work sometimes – we operate as if we actually had 40+ hours a week to do the jobs we’re assigned. And as Parkinson’s law suggests, we stretch tasks to fill those phantom 40+ hours. Whoops. It’s like buying working hours on credit… we don’t have that much time to complete the tasks on that schedule and so we tend to go home over budget. Of COURSE our energy is low and all we want to do is crash.
So let’s start operating with a more realistic understanding of what time we have and how fast we should work and to what standards we should aspire. That is to say, we start learning when to stop tinkering to get to perfection and just start building… putting projects in the “done” bucket faster and with less energy.
I would never suggest that you go about your day job without the highest integrity and quality of work that you can provide. During work hours, you work, and you work hard; you deliver more value to your employers and clients than they are paying for: 110%, team-player, all that – Work with the mantra “I am here to do nothing but add value.”
I believe that a self-fulfilling prophecy / psychological trick starts to happen. When you realize your time is limited at the day job and also at the passion job, you start to move with grace and efficiency. You don’t feel the need to slack off, mostly because you are aware of how little time you have to accomplish your jobs.
However, you must remember that you have unbreakable appointments with your personal passion projects. When it comes time to work on those, you will find a way to work on them and summon all your energy to build them with the same amount of integrity.
I suggest 20 minutes a day at first. I would guess this will increase over time.
caveat: I think it’s a bit presumptuous for somebody like me, who often struggles with Getting Things Done, to write an article about how better to get things done. Take it with a grain of salt. I’m only regurgitating advice I’ve culled from many other sources.
<!– technorati tags start –>
Technorati Tags: day job, gtd, procrastination
<!– technorati tags end –>

