Theory vs Tooling

Lately, I’ve been thinking about the disparity between my drive to work on projects and the lack of desired results.

The notion occurred to me when I correlate it with music. When someone is just starting out playing music, they are set to play basic songs (think ‘Mary had a little lamb’). Through this, they develop techniques, methods, and strategies for playing an instrument. I played music in school bands as early as second grade, and didn’t break that streak until I was halfway through college. To approach my middle-school self and bid him to write a piece of music for a band would be laughable. No reasonable person would have the expectation that a middle schooler, even with five or so years of playing music, would possess the capacity to orchestrate an arrangement; unless that middle schooler was some kind of prodigy or had substantial guidance of course. So why do we expect programmers who are just starting out to develop full-fledged applications, as side project, on their own?

I suppose my encounter with this issue is due to my unique circumstances, that is, discovering a love for code and systems on the cusp of 30. Yet I think it’s important to acknowledge this and I would hope that others would consider my perspective.

I’ve been spending my recreational time in Touch Designer, very interesting program that appears, to me, to have a lot of potential. I love generative art and it’s designed to be a generative workstation with a clean GUI. The idea resonates with me and my music; spending some time with it I immediately got some interesting results.

But it was short lived, I quickly found myself wrapped up in the frustration behind the complexity of systems that I only had slight exposure to. Suddenly, when I wasn’t using the tutorials as guides I’d make deviations from, it became extremely difficult to progress. I had no idea what step to take next! In projects with hundred of steps and decisions to make, that’s ultimately a show stopper. I didn’t let that stop me, I just kept plugging, hoping that at some point things would click. And they have, sort of. I’ll say that I now feel more comfortable using touch, like many of the other applications I indulge in. I understand nuances and behavior of the UI, and can swiftly manipulate and navigate, placing operators till the cows come home.

What’s missing however is purpose; Like a handy man with a drill that’s randomly drilling holes all over the place, not understanding the ‘why’s of my actions. I’m convinced that this demonstrates the importance of theory. It lays the groundwork for action.

In the spirit of this realization, I’m testing this hypothesis by rolling back my artistic tooling to something a bit more conventional. For animation and graphics, I’m setting aside my generative applications like processing/p5, oF, touch, vvvv and jitter to work on things in after effects. It goes against my philosophy somewhat but at the same time I feel like not having experience with high-level projection design is setting me back. Hopefully I can return to this post in 6+ months and know with more certainty that this was a wise move, and not a thought distortion. I observe this effect with my signal work in max as well, where my difficulties come from a lack of intuition, and a lack of math (something I’m working on and eats most of my time). Thankfully I have a ton of music and audio experience to draw from but the meat of my ambitions with maxMSP will come spending more time studying signal theory (in the form of algorithms) and example implementation, re-implementing them. Not quite sure how I’ll bring this approach to the programming side of my endeavors yet; perhaps try to create something with vanilla js, or pay for a course that has a well-defined curriculum; something that will teach the model of how to build nontrivial applications for the web by defining what constitutes a well-made application, then having me perform those steps.

Written on November 6, 2018