In “Walking Around in My Thoughts” I described how getting thoughts out of your head and into some form of reality can be a really helpful thinking tool. Today, I want to look more specifically at the tools (I’m referring to “media” here as “tools” because I’m looking from a perspective of using media to accomplish goals) used for getting these thoughts into reality.
Talking about your thoughts forces you to give order to them, to arrange them and give them some semblance of meaning. By writing your thoughts down, you can explore them in a linear fashion, building and exploring arguments and one-to-one cause and effect. Drawing or painting a picture lets you explore and react to ideas visually, seeing how different parts of your ideas will compare and relate to one another. These are some of the most common and at-hand tools we have for thinking with our thoughts.
But these tools are primarily for thinking static thoughts: ideas which kind of exist, but don’t change. If I’m trying to think about a flock of birds, a picture is only going to let me think about a small moment in time, not the movement of the flock or the interaction of the individual birds within. Writing lets me put down a description of what’s happening, but it’s hard for me to react to that description, as I’ve got to do a lot more work in my head to put the thoughts back in motion.
You can sorta do it with these tools, but they’re not really great at it. What I’m interested in are tools specifically designed for thinking about complex or dynamic thoughts, and these have been much harder to come by. The only tool that really springs to mind is programming, but it’s not so great either.
Programming sorta lets me think about dynamic thoughts: I can program a simulation of a flock of birds, or a traffic jam, but most of today’s programming environments make this quite a chore. I’ve got to set up a program, figure out how to get some kind of graphic on the screen, figure out how to model all the pieces, figure out how to make those models interact with each other. And that’s assuming everything goes perfectly well and there are no bugs to yank me out of my thoughts. With programming, I’m more often thinking about how I’m going encode the thoughts, and rarely about the thoughts themselves.
This is a terrible shame, because each tool we have for thinking with is a different perspective, a different vantage point for making sense of our thoughts and of reality, and computers are excellent at simulating these different points of view, but programming is so obtuse it’s almost impossible to use the computer in this way. Programming ought to be a flexible method of representing and manipulating these perspectives, not a cumbersome way of managing computer resources.
There are many tools for walking around in your thoughts, but there’s no reason to believe we have all the possible tools. We change our tools and then our tools change us, right?