A Tool for Your Toolbox: Fold Calendar

Have you ever scheduled something and then remembered you had another appointment? Have you ever had a big block of time or energy and wasted it, neither resting nor accomplishing anything?

Earlier this year I started a new near-weekly ritual. I used a tool that I found useful in college for busy weeks. The fold calendar is a way of quickly visualizing a week and using it effectively. Here’s what the daily entries might look like:

Seven days of fold calendar

Basically, it lists the events of the day in chronological order, with times if I have them. It lists the main project that I want to advance this week and a couple of smaller tasks that I’d like to get done. For context, I list the big things that are happening next week as well.

Why is this useful?

This tool is useful because it:

  • helps visualize and use chunks of time
  • helps with being spontaneous
  • helps with being organized
  • helps budget time and energy

Skip down to the last section to learn how to build your own calendar, or keep reading for more context.

Be productive (or not!)

The key to the fold calendar is identifying blocks of time that are prime for doing things, and listing the important things that I want to do.

I then look at the week and see how many blocks I have, what I need to get done, and what I want to get done. I estimate how long things will take and tentatively schedule some of the “must” items. For example, if I know that I have a small milestone due on Thursday, I will need to use one of the blocks before then to complete the milestone.

Sometimes I only have a few blocks during the week after scheduling everything else. When I realize this, I make better use of these blocks. “I won’t have another chance to work on this until next week, so let’s try to focus for the next hour and see what I can do.” It’s really motivating to me to know how many hours I have in the week to really devote to side projects. Typically there are fewer hours than I would have thought. If I’m not aware of how little time I actually have, I tend to squander this time or become despondent because I feel that I should be achieving more with my life. If something is going to get done this week, it probably needs to fit in the buckets I identified by making and using the calendar. I know how much time each bucket has, and so will start something that I think I can finish in the time and energy I have. This technique respects the spirit of GTD and could be useful with a personal kanban as well.

Balance

On the flip side, when I am aware the things that really matter this week, I can leave blocks unscheduled and then am free to relax without worrying about getting things done. It’s definitely important to have recreation, and having a large block of guilt-free, uninterrupted relaxation is great. It’s purposeful recreation–re-creation. Being aware of the time and using it to restore balance and energy.

Also, I think that this is useful in consciously deciding how to spend time. If I see a free concert that I could go to, I need to decide whether it will be worth my time and energy to go. Having the fold calendar might allow me to see that I should do it because the second half of the week is pretty full and I will need to rest. It could instead indicate that the concert cuts up a huge six hour block that I could instead use productively.

The flip fold calendar might be one of the most important tools for me to advance side projects. Most of the time, side projects don’t have a deadline. There will always be other things to fill up the time. If you don’t believe this, read the big rocks story. Zen Habits also has an article that is along these lines. So the fold calendar helps prevent the seemingly-urgent from nibbling away at our core time. The “week-as-an-integrated-whole” mindset is what separates the fold calendar from normal calendars. Daily planning is useful, but it’s easy to find excuses. If I don’t get something done today, there’s always “someday soon”. But if I commit to doing something this week and it still does not get done, there is probably a more systemic problem that I need to address.

Clearly the calendar is useful for remembering meetings and engagements. The “next week” field gives a little more context and frees the mind from worrying about things that are coming up.

Your turn

Ready to create your own flip-fold calendar? It’s easy and inexpensive to make with things you already have on hand. Here are some things to consider.

  • Take a piece of letter-sized paper and fold it into eight sections.
  • Label the first seven sections with the day of the week and date of Monday through Sunday
  • In the eighth pane, list ‘Key Project’, 'Smaller Items’, and 'Next Week’ as sections
  • Go through your calendars (work, personal, shared, etc.) and write down scheduled events as they happen throughout the day
  • Schedule exercise, grocery shopping, laundry, significant other engagements, and weekly planning time
  • Identify energy-sapping periods, try to minimize them, and budget pre- and post-recovery time
  • Identify blocks of time that you can devote to projects, cutting smaller things

It doesn’t need to be perfect, it’s just a tool. :) Hope you find it as useful as I have!

Have you used a system or tool like this? What were your results?

So what have I been doing the past few months?

Ultimate Website

My biggest accomplishment of the year so far has been creating a new website for Ultimate (Frisbee) in the Indianapolis area. I got a basic concept going one Saturday morning, took feedback and talked to stakeholders, and then made a final version with the help of others in Indy. Notable improvements include:

  • pictures from Zach Dobson, a professional photographer in Indianapolis, on the front page
  • maps of all the fields that are used for pickup games, with up-to-date information about when they are played
  • integration with a league manager that has online signups, payments, and Google Maps support to show where fields are
  • live streaming of the 2010 Indiana Ultimate high school championships on June 20th

For comparison, you can check out the old site. I’m really happy that people helped out and offered suggestions and improvements to the site. This project is on autopilot now.

Other projects

A few months ago I created an eight-session class about developer testing that I taught to people at work. I was surprised at how much work it was, but it seemed like the participants got a lot out of it, and I learned a ton putting it together.

I recently made a simple Rails app that tracks personal events. I started this to keep track of soda consumption, but use it for many things now (showering, wake and sleep times, work transit times, standup lengths, etc.) It’s handy to be able to do this from anywhere, so I created a bare-bones Android app that can send events. I’d like to put together some neat graphs and histograms. I plan on implementing some basic parsing to override the dates and times that things were submitted (think: ‘soda 12oz at 12:30’ or 'exercised yesterday afternoon’). Right now the app would at least be useful for tracking how many days in a row I’ve flossed or exercised.

Lately I’ve been reading feverishly. Recent books have mostly been from the Personal MBA program. I have read 22 read out of 100 and expect to get to 30 within a few months. I’ve found this undertaking to be helpful in understanding how businesses work. I supplement this reading with blogs to ensure I’m not only consuming out of date material. Reading marketing and sales books is useful because I do not believe that merely creating a superior product is enough to be successful.

Finally, I am organizing a Code Jam at my place of work on Saturday morning. Basically it’s a time for people at work to come together and hack on whatever cool ideas they have or learn about interesting things. If anything cool happens, I’ll post some pictures.

Refactoring Tip

When you have something like

// connect to database
code
code
code

This might be an indicator that you can extract the code under the comment into a separate method to make things clearer and more modular.

For example:

public Connection connectToDatabase(necessary parameters) {
    code
    code
    code
}

This is nice because it is just as readable, and it’s harder for the description of the code block to get out of sync with what the code actually does.

Between when I thought of this and when I actually published it, I read a similar blog post that confirmed this thought pattern. Fowler also talks about this in Refactoring.

Open Source for Retired People

I whipped together a quick video to somewhat explain this idea.

video platform video management video solutions video player

I forgot to mention the GTK+ UVC Viewer, which is what I used to record using the webcam on Ubuntu. It was excellent.

With Kaltura (open source version), you can host it on their CDN, or host it yourself. It seems like that is pretty flexible.

From watching it once, I see that I should probably talk slower. Mostly the video seemed in-sync with the audio. What did you think about the quality and/or the idea?

Review: Managing The Design Factory

Title: Managing the Design Factory Author: Donald Reinertsen Length: 288 pages Published: 1997 ISBN-10: 0684839911 ISBN-13: 9780684839912

This book analyzes product development processes from a lean perspective. The author starts by introducing the concept of a “design factory”, which shows the differences between lean principles applied to manufacturing and lean principles applied to creating new innovations. The key differences include information arrival processes and the repeatable versus non-repeatable.

One key takeaway from reading this book is that the goal of creating new things is not to reduce the variability of creating them. Having waste is actually often the most effective way to create something new because the “waste” generates information, which has value. If you are doing something that has a known problem statement and a known solution, you are essentially turning the design crank. Seek to increase throughput and increase flow before eliminating waste.

Much like Goldratt’s book, The Goal, Reinertsen focuses on viewing the company profitability as the lens to view business decisions through. He advocates modeling of projects and their intended ROI, preferring simple and useful models over opaque ones. He discusses many subjects from the perspective of how to optimize for development expense, unit costs, performance, or speed of development, which are mostly at odds with each other.

He has an interesting explication of queueing and information theory, and how these impact product development. One takeaway from the information theory topic is that information is inversely proportionate to the probability of an event occurring. This coincides with my views on generating models (similar to Popper’s views on the subject.) Essentially, tests should be written to have the maximum value if they fail. I believe Reinertsen would be a proponent of high level tests. He also contends that if your tests would cause a competitor’s product to fail, you are likely testing too much.

Overall, I found this book to be a compelling read with insights clearly stated and a strong overall theme.

Full outline