The animated diagram communicated the idea just fine, but there was one interesting thing about the process. When I think about how much time I spent, maybe 20 minutes of it was on making a working diagram. But then I spent another two hours or so polishing it up.
And here’s the interesting part: Almost none of that time was spent making a functional difference to the animated diagram itself. Most of the changes I made would be completely invisible to anybody looking at the diagram.
But internally, the changes were enormous. In place of that first messy, overlong, ad hoc jumble of code, I ended up with a much smaller, clearer and streamlined program.
I realized at some point that I was engaged in creating two different works. Of course there was the visible animated diagram that anybody would see if they followed the link to the web page.
Yet there was also a second creation behind that first one: A story in code, told as elegantly, succinctly and gracefully as I could tell it.
But who was the audience for this second work? Surely not just myself. If I knew for certain that I would be the only person who would ever look at that code, I would have left it in its early, messier incarnation, and moved on.
No, the audience was for that future collaborator out there, whoever or wherever they might be, who cares deeply not just that something works, but about the ideas that make it work — and where those thoughts might lead. It was important to me to leave a clear trail to follow, a map in thought, so that this person could pick up the trail and continue the journey, perhaps to places I might never think to go.