It's the first phase of my ACE-funded research and development project and I’ve been thinking about the overlap between software design and language. This is my first week of learning Houdini and I’m starting to get a sense of where it differs from Maya and Cinema4D. The biggest change is that Houdini is node-based as opposed to layer based. Here's a succinct summary of each method from node pioneers, The Foundry:
Node-based compositing shows the composite as a ‘tree’ structure, in which media objects and effects are linked together in a procedural map that sets out the process from raw input to the finished product. Layer-based compositing represents each media object in a composite as a separate layer within a timeline. These layers are then progressively rendered one on top of the other.
Layer-based software can be tricky. Imagine forgetting an ingredient halfway through layering a lasagne: you’ll get in a mess trying to add it back in. Node based software is modular and allows you to alter your recipe at any stage without destroying the work you've done. Nodes can be tweaked and augmented easily, and those tweaks can be spread across multiple shots because they all derive from the same basic node structure. You’re designing an adaptive path.
As I learn this new node-based way of working, I'm butting up against a big cognitive hurdle: translation between methods. It's hard to fight upstream and forge new synaptic pathways for simple tasks. Nevertheless, it's a familiar routine for most people working professionally with software, especially in animation and VFX. Most users of Houdini or Maya will jump between packages depending on the task at hand.
I imagine this cognitive dissonance is something bilinguals are used to, especially if it’s been a while since they spoke their second language. The syntactic challenges can feel like putting a lot of square pegs in a lot of round holes. So this is where my thoughts around language and software bilingualism begin. What happens when we jump between software? Is a software package just a syntactical/grammatical construct? What's the difference between code and speech?
Once key difference that occurred to me is that the successful adoption of a spoken language is largely due to the influence of its speakers in the world - the British Empire gave rise to international English, for example. Code, however has more opportunity to gain traction by virtue of it’s utility. Good code works well. It's efficient and adaptable. These are the strengths of node-based software like Houdini, where customisation is everything.
To conflate code and speech under this particular software model, we could say that nodal software systems like Houdini accommodate multiple “speakers” from multiple backgrounds, each conversing within their own language ecosystem. In this drive to enfranchise the user and encourage reusability. nodal software is a little like Esperanto: constructed according to a use-case and not necessarily because of the imperial clout of it's creators.
Sounds great, but the ability to deeply and democratically customise a workflow comes an increased cognitive demand. It’s hard. Most users don't need a thousand options for creativity, they need a black box that does what they want. In this case, software users are consumers by default. Tautologically, they just want software to do what they want, quickly. It reminds me of a Steve Jobs quote (which I'm not a fan of):
This prime example of Jobsian egotism is offputting as it suggests that software - technology itself - is not a tool but a utility. Putting aside the obvious friction between capitalism and democracy, and the terrifying feeling of being farmed by super-rich technocrats. there's a question here about creativity. As artists, are we content to let a market decide how creativity works? According to Jobs, we only know what we want to create once it has been shown to us. This is hardly a recipe for creative empowerment, which makes Apple's status as de facto creative tech brand somewhat farcical.
So that's where my thoughts on software bilingualism have brought me this week. I'll sign off with a quote from Wittgenstein that rubs up nicely against the one from Steve Jobs.
Until next week.