Until recently, uttering the word ‘code’ in a meeting would have been enough for me to lose the interest of all but the most knowledge-hungry graduates. However, with the popularisation of machine based learning and computational design the opposite is often now the case (if anything, I’m often being pulled aside to discuss coding!). Visual coding isn’t exactly a new concept; it just took the AEC industry a while to take to it.
Architects and Coders: A Train Station of Thought
Architects often think in visual terms; forming a goal in their mind’s eye before figuring out how they are to reach it. Visual coding platforms such as Grasshopper (for Rhino) and Dynamo (primarily for Autodesk Revit) allow us to exercise this way of thinking within a code-based environment. Cryptic paragraphs of code become a packaged ‘node’ we can hail with a few keystrokes, and these nodes can be literally ‘visually connected’ by wires. Data visually flows through these wires like electricity would through a circuit, allowing us to visually troubleshoot ‘breaks’ along the way.
At Crone, we have developed more than 50 in-house deployable scripts for Dynamo which streamline (often mundane) tasks, such as; batch printing, processing data, tagging elements, standardising naming conventions and so much more. We can spend less time on repetitive tasks, and focus more on the real job at hand, Architecture!
As a BIM Manager, one of the biggest challenges (which I am still finding ways to overcome) is how to bring my colleagues along for the ride I’ve embarked on. Learning paces can often feel like a crawl, and my more advanced scripts often paint a layer of unapproachability on the software (an ‘I can’t understand that, so I will never be able to’ conundrum). To me, a giddily broadcasted moment of triumph over a devilish script may sound more like the ravings of a mad scientist to the unconverted.
Some Solution(s): UX’s and Pacing
Two tools of which will/have been paramount in educating Visual Coding to the willing (at least at an understanding level) are Dynamo Player and Data Shapes’ UI custom nodes package. The former provides a lightweight means of running scripts (essentially ‘hiding’ the coding environment from the user), whilst the latter compliments this with a heavily customisable user interface. Both enhance the overall user experience (UX), and I recommend them highly to anyone facing the same challenges.
What I believe is essential in order to make sure that a change leader’s enthusiasm ‘sticks’ is to teach ‘Noders’ over ‘Coders’. Help your peers learn the basic tools before you encourage them to advance into more complex territory such as Python coding (or even better, respect and let them choose where they draw their personal line). In time, baby steps can evolve into company defining leaps.
Some Solution(s): Taking the Dive: Where to Start?
The most important advice I have for those looking to learn Visual Coding is this; don’t expect others to hold your hand the whole way. BIM managers strive to guide your growth, not control it. We want you to make mistakes; we ourselves were likely forged from our own personal fires of failure. Find your own personal problems and channel your frustration at them into your own ‘eureka’ moment!
Above all else, enjoy what you do, and be good at it. Visual coding isn’t for everyone, but I can confess it makes my professional life far more efficient and fun than I ever thought possible before I too had my own first ‘eureka’ moment. At the very least, you should be aware of as well as anticipate that you (or your children) may need it as a professional survival skill in the digital wilderness.
Just remember… I didn’t write this on a typewriter, and you didn’t read this via a carrier pidgeon!