Do you ever wonder how other people get all the things done they do? I’m looking at some of the blogs I’m reading, and I’m amazed – they write articles, participate in lots of activities, have a day job, create software on the side and run for political office – all the while spending time with their family.

Last weekend, I did a little experiment to find out how they do it.

Instead of trying to figure out what the “secret sauce” behind all those achievements is, I just set out to duplicate the experience – do more than you think is possible in a single day.

While reading Merlin Mann’s 43 Folders, I stumbled upon a comment there that indicated a shortcoming with Apples’ iCal calendaring software, and a desire for a fix – in short, an informal invocation of the lazy web.

Clearly, that seemed like a fairly large task – take an existing application without source and modify it. There’s no plugin API, so I had to wedge myself into an unknown system. That meant deciphering the inner workings, and creating a hack that extends it. With (for added style points) little experience writing Apple code. (All I’d done before were short samples).

So I decided to complete this task in eight hours.

And the sheer magnitude of it helped keeping the focus. I didn’t waste time on all the things that “might be cool”. I didn’t browse random blogs because I was distracted. It actually took me nine instead of eight hours, but I completed it and consider it a huge success. Not only did I get my plugin, I also learned a great deal about writing Mac code.

There were a couple of other things I learned from this that should help me be a bit more effective in the future:

  • Just do it. Don’t worry too much about the “how”. I had no idea how to complete this in such a short time span, and it seemed technically difficult to. Both obstacles were overcome because I refused to give in to the nagging “It’s impossible”.
  • Focus. Keeping focus speeds you up tremendously. Having a well-defined task and limited time helps you focus tremendously.
  • Corollary: Plan what you’ll work on. Most importantly, plan the results.
  • Multitasking doesn’t work. Whenever I lost my speed, it was due to my attempts at “optimizing” my workflow – reading docs while waiting for the compiler, etc. Don’t. Read the docs when you need to read them, otherwise stay on the problem at hand.
  • Corollary: Make sure you don’t have any obstacles in your workflow. I could keep developing because compile times were short. If I’d had to wait a minute for every compile, it would’ve been torture.
  • Your workspace matters. I could’ve done better with an external keyboard and a second monitor. Laptops are cool, but not the best environment for coding.
  • Examine your work habits. If I hadn’t actively set out to improve, I wouldn’t have noticed these things. Pay attention to what you do, and you’ll be able to do it better.

Tags: , ,

Commentary

  1. Aras Pranckevicius wrote on 15. Dec 2005

    I recently “discovered” how having a pretty detailed todo list (i.e. approx. hour length tasks) helps a lot. Write it down at the start of the day, starting from most important one. When you finish a task, put a plus sign. Next day, write a new set and include the ones that were not finished yesterday. This all boils down to the “focus” point I guess.

    Reading less blogs or doing less pointless browsing also helps :)

  2. Robert Blum wrote on 15. Dec 2005

    Hehe – but pointless browsing is soo much fun ;)

    As for the Todo list, I’ve got to write it down on the computer, my handwriting is too bad. And since I like neat todo lists, I put brackets with a space in there (like this: [ ]), and once I’m done I just put a little x in there. ( Like this: [x] ).

    For strange reasons, this is immensely satisfying.

  3. Brad Isaac wrote on 16. Dec 2005

    “For strange reasons, this is immensely satisfying.”

    I remember reading years ago in one of the old Franklin Planner manuals (before they were Franklin Covey) about this. According to the author, a study had been done indicating that every time you check a task off of your task list, a little bit of endorphins are released.

    I don’t know if its a proven fact, but it sure feels good to check something off doesn’t it?

  4. Robert Blum wrote on 16. Dec 2005

    It sure does – I just have to watch myself. Sometimes I put already done tasks on the list, just so I can put the little checkmark there.

    And thanks for stopping by!

  5. Brad Isaac wrote on 16. Dec 2005

    :) You aren’t the only one to put a task on the list just to cross it off. Get that endorphin boost.

  6. Darren Chamberlain wrote on 23. Dec 2005
    It sure does – I just have to watch myself. Sometimes I put already done tasks on the list, just so I can put the little checkmark there.

    I do this all the time, partly for joy of “completing” the task, but also because it provides comprehensiveness to the list — I can look back at it and see all the things that I did. I don’t remember which ones I wrote down after the fact and crossed off immediately.

  7. Tracy Snell wrote on 27. Dec 2005

    I’ve been itching to try Cocoa coding to do the same thing. Got any tips on how you wedged into iCal?

  8. Meitar wrote on 28. Dec 2005
    It sure does – I just have to watch myself. Sometimes I put already done tasks on the list, just so I can put the little checkmark there

    :) Hah! Looks like we should all start a support group if you ask me.

    Anyways, great post! I’ve recently gone on a productivity kick myself, and between really organizing my workspace, avoiding distractions like constant email checking, I’ve already seen quite the improvement. The only challenge remaining is setting task time completion goals. But I’m getting there. Really.

    Again, great post.

  9. Kerry Sanders wrote on 30. Dec 2005

    Great post! I often find myself getting distracted with other things while trying to work at my development job. I do not focus like I should. There are also so many things running around in my mind that I would like to do, but I just haven’t sat down and started the tasks. I need to just do it!

  10. Quoc-Quang SRENG wrote on 28. Apr 2009

    Hello Robert :)

    I found your post while googling about iCal plugins.

    My idea was to put other panels under the task list. I would find it usefull to have an event list just under the task list: might come in handy when using day view, week view or even month view. Have a direct sight on what’s coming. One would tell me that using alarms and reminders are the most efficient way to deal with it, but hey why not ? :) Same for the adress book with the most recent active people, an adress book panel just under the task list could be convenient.

    In a nutshell, just customizable viewers of your data that can be displayed and moved on the iCal window. For instance I want to create a new viewer, data = contacts, filter(active = last month), This one I place just under the tasks. Another viewer, data = events, filter(start = next 2 months)…

    What would you think of that ?

    Don’t worry I’m not “asking” you to code that :D just wanted to share ideas. That’s how world improves, doesn’t it ? ;)

  11. Administrator wrote on 28. Apr 2009

    Those are indeed interesting ideas – but currently, there is no time in my day to work on iCalFix in any way, shape, or form. So I’ll actually be open sourcing it fairly soon. (Some minor cleanups in the code base, then I should be good)

  1. Whatever I’m interested in :: Just doing it :: December :: 2005 on 31. Dec 2005
  2. Groby Unplugged » Blog Archive » Making a better iCal on 16. Jan 2006
  3. Breaking through Resistance // Groby Unplugged on 27. May 2008
  4. Just doing it « HEPABOLU on 29. Dec 2008

Leave a reply