Thursday, January 13, 2011

The (logarithmic) calendar I want

I was looking at my Google Calendar tonight and I realized that this software was encouraging a way of thinking about time which has significant drawbacks. Namely, it only allows one to look at a small, fixed time window at once: a day, one or two weeks, or a month at a time.* But the question I was asking myself at the time was, what is the shape of my year going to be?

When am I going to make time to visit friends and family in faraway places? How should I spend the 20 vacation days per annum that my employer gives me? What sort of personal projects will I realistically have time to pursue over the course of this year?

Being the morbid type of person I am, these thoughts then led me to other questions about even longer time spans. What do I want my life to look like in 5 years? By contrast, what is the realistic outcome of extrapolating 5 years from the way that my life is moving now? What do I hope to accomplish before I die, and am I going to have time to do it?

All these types of questions cannot be visualized on a month-at-a-time calendar, whether it's Google Calendar, or some other software, or a typical monthly wall calendar printed on paper. Now, the mere fact of having a proper calendar scarcely leads to satisfactory answers to the questions I'm pondering. But clearly the artifacts we use to track time influence our thoughts, our emotions and ultimately our actions. In this light, the limited scope of our calendars seems like a cognitive handicap with potentially huge effects on our lives.

So, here is what I want. I want a logarithmic calendar. I want this week to be visualized large. I want the rest of this month and the next to be visualized somewhat smaller. I want larger and more distant time intervals to be visualized as progressively smaller boxes. And I want the scope of the calendar to be decades — at least as long as my remaining life expectancy, or perhaps a bit longer so that I'm forced to think about posterity.

With a little work, I could write a bit of software that visualized time like this. There's nothing particularly earth-shattering about the code required. It is, as we say in the industry, a Mere Matter of Programming.

In fact, doing it in software is so straightforward that it's almost more fun to puzzle out how to do it with just paper. An argument can be made that paper would be fundamentally better anyway, in at least a few ways. A wall-sized poster is a tremendous display technology, with better resolution, pixel density, and variety of supported input methods than even a 30" touchscreen monitor. And a wall poster doesn't get covered up whenever you open a web browser while craving a moment's distraction. At best, you can ignore it via the old-fashioned method of averting your eyes.

So, let's do the exercise. How would you lay out a logarithmic wall calendar using only layers of preprinted paper? Here's my stab (apologies for the roughness of the sketch):

For every year, you mount a new spiral-bound calendar at the top. The spiral-bound annual calendar has ~52 leaves (give or take depending on the number of calendar weeks in the year). The week currently on top has a lot of writeable area per day, but the bottoms of the pages for the rest of this month peek out from beneath the current week. Below the current month's week pages, there are tabs for each month, which are large enough that you can write notes in them. The months go across from left to right. And beneath that, there's a large writeable area for annual goals, observations, etc. for each of the next 5 years. These are not part of the spiral-bound calendar; instead they are pinned to the wall, and when you reach a year's end, you unpin that year and pin up a new strip. And finally below that, there are undifferentiated strips for each semi-decade following the current semi-decade.

Suggested customization: next to each year, write down how old you will be when that year begins.

Admittedly, it's all a bit ad hoc. Randall Munroe would no doubt have devised some much more rigorously consistent mathematical visualization. But this is just my idle evening doodling, and at each level of time granularity I just chose something that looked good to me.

Now, to start thinking about those actual goals...

*Incidentally, there are deep architectural reasons that interactive calendar software which aims for predictable latency per user gesture will tend to offer (visualizations of) fixed-time-window queries, rather than queries over windows of unbounded size. If you're software-minded you can probably figure these reasons out, and also some ideas for working around them.

UPDATE 2011-10-31: Hacker News reactions.


  1. Great idea. It would really be awesome if the calendar also took into account the importance of the event in determining the size of the event. So if you planned to change your oil and get married the same day, the marriage would show up much bigger.

  2. The software has been proposed before, but I still haven't seen it. I like the version shown at [1] best, but Marco Arment of Instapaper makes some cogent suggestions and has received the most press at [2].

    [1]: htp://

  3. Wow, I think you got something here. For long I've been dissapointed with my calendar, it does not provide me with what I want or answers the questions I have. For me as a user not all days are of equal importance. And this captures it nicely.
    The whole thing reminds me of the game passage. Maybe it could be a good inspiration.

  4. Page 1: Today.
    Page 2: This week.
    Page 3: This month.
    Page 4: This quarter.
    Page 5: This year.
    Page 6: Next 5 years.
    Page 7: Next 10 years.
    Page 8: Lifetime.

  5. I posted a submission to the JavaScript 10K apart competition last year which was an HTML5 calendar utilizing localStorage. It essentially gave you a view of all twelve upcoming months in a snapshot. Perhaps even something as simple as this would help with the visual aspect.

  6. The idea is good. But i already saw this Plan somewhere else.Sorry,about that.

  7. Alan Cooper ("The Father of Visual Basic") wrote a book on UI design, "About Face", that had a chapter describing a similar UI feature. Worth the read.

  8. I have been working on a revolutionary calendar. Will be released early next year. I am sure you will be pleasantly surprised and find it meeds your needs just right. Stay tuned.


  9. Idiotic idea. It's guaranteed to cause decision paralysis just by looking at the damned calender.

  10. Your handwriting.....

  11. You get a natural approximation of that by looking at an event list view (if you don't have repeating events), since you tend to have more events in the near future and fewer way ahead of time. Given that we're pretty bad at visualizing logarithmic scales, is there a significant advantage of the graphical layout?

  12. Coleman -prioritization...good idea but at this point I think your example seems backwards. :)

  13. Have you all seen the "Timeline Eons" app/software by Search it and enjoy.

    It's an awesome way of pinch-zooming back and forth between the deep past, immediate present and everything in between. It manifests that same logarithmic sense I too am seeking in my visualization of time.

    Another nice bit of programming I came across while searching for this some years back was Ben Pitt's ( student project which he has since left behind for others to use. The code, he says, can be found for free here:

    Keep me in the loop if something develops.
    In the meantime as an artist I just do my own spiral vector timeline visualizations using's very helpful for the 1-, 5-, and 10-year planning cycles needed (for ex.) for good parenting and other forms of management.

    Any programmers out there looking for a 'visualizationalist' to work on this together?