To-do blocks
I've been thinking about Bret Victor's video on The Humane Representation of Thought, and his earlier Rant on the Future of Interaction Design. Summarising intensely: we use representations (like graphs) so we can go from a domain that doesn't suit us (like reams of numbers) to domains that do suit us (like our highly optimised visual system). But Bret's point is we only use a very limited set of those domains. Most of what computers do is strictly visual and occasionally aural, with no tactile or kinaesthetic component: "Pictures Under Glass". In the transition from static tools like hammers to dynamic tools like computers, we've lost most of our sensory range.
Bret's direction is towards physical computer systems, or dynamic "smart" matter. That sounds hard, so I'm going to leave that to him. Good luck, buddy! In the mean-time, there's nothing stopping us from trying to exploit these extra underused sensory dimensions today. After all, the graph was invented long before Excel. So before Smart Matter, we can think about some ways to use more Dumb Matter to get a few more axes into our models, or arrive at insights that come more easily with when you have something you can grab and move around.
I decided to try a more humane equivalent of the classic to-do list, which I have creatively named to-do blocks. My foray into Humane Representations looked like spending an hour and a half in my shed with some scavenged bed slats and a circular saw. In the end, I walked away with a downy coat of sawdust and 14 blocks of wood: 2xlarge, 4xmedium and 8xsmall. Each size is 4x the next, so you can build larger blocks out of smaller ones.
Each block represents a task, so I write the task's name on it in pencil. I'm currently only using it for meaningful tasks ("take out the garbage" doesn't make the cut), and only things that I'm actually working on (sorry, Great American Novel). The goal is to have a physical representation of "my plate" that gives me a good physical intuition for the tasks and projects I'm doing.
I've already found a bunch of interesting ways to represent and manipulate my tasks that would be hard or impossible on paper:
- Occlusion
- You can cover one task with another task if it has to be done first.
- Arrangement
- Tasks that are close to each other are related, I've been putting things I want to work on less further away, but also roughly arranging left-to-right by due date.
- Weight and size
- Bigger tasks get bigger blocks, you can stack smaller blocks on top of bigger blocks for subtasks. The biggest blocks are actually kind of unwieldy, which I think is a good fit.
- Texture and colour
- I'm not currently doing this, but I could paint or coat blocks in something to distinguish different categories like work/personal.
- Separation
- The blocks live on a separate desk at the moment, but I take the block I'm working on and put it next to my keyboard to remind me what I'm meant to be doing. I have the "website" one here right now.
- Spatial awareness
- I can easily tell how many things I'm doing, the average size of those things, how related or unrelated my tasks are, and so on. Temporarily rearranging blocks (eg, making a stack of things to do today) works well because I can easily remember where they went before.
- Play
- It's really fun to mess around with the blocks, so it doesn't feel like a chore to keep track of my to-dos. If I can't decide what to work on, I juggle blocks until I drop one. You're it!
I'm amazed how many interesting ways to make use of the extra information have come up without really trying that hard. But beyond any of that, it's surprising just how much better it feels to be doing something with my hands, to feel shape and texture, and operate in 3d space for a change. Even if what I'm doing turns out to be no more useful than a regular to-do list, I'd be happy to keep it for the humane-factor alone.
What I'm wondering is, what else could you use blocks for?