The power of code (2/2): Why design needs a(nother) language
Code languages and platforms that changed creativity
In the first part of The Power of Code we saw that the potential for creativity of computers was already envisioned by their theoretical pioneers. We also studied the continuous creation of programming languages looking for better ways to solve problems and tap into possibilities. Using code for creativity - from design, arts and music - is historically far from being mainstream: Graphical user interfaces (GUI) proved more intuitive for artists and designers ( but more about that later!). That doesn’t mean creative coding is not growing and making an increased impact. Especially on the web, but certainly not confined to it.
Here are four of our favorite code languages and platforms that changed creativity:
Above: The OpenProcessing platform opens the creativity of Processing to the world
Processing (2001) - Casey Raes and Ben Fry and contributors
Processing introduced the world to creative coding. Processing still uses the well-known programming language Java (1995) but it offers a greatly simplified user interface and scripting language. Users can start typing code directly into a text box to create what is called a sketch and run it to see the result. This directness is supported by simplified and intuitive commands like color,line and draw.
How simple this may sound; Processing expanded and augmented creativity by making things possible that were otherwise too time consuming to set up for non-developers and created surprising outcomes that the creator and others could build upon. At first creative coding was considered niche and done by programmers turned “digital artists” and taught to a new generation in schools. A whole ecosystem of extra libraries sprang up to add gamepads, machine learning, advanced exports and hardware IO. It also made the jump to the browser with ProcessingJS and P5js. 20 years after the creation of Processing, Some of its pioneers became NFT artists and finally got some of the rewards and recognition they deserve. Platforms like OpenProcessing are home to around 100,000 creators.
Above: OpenSCAD by Marius Kintel and Claire Wolf
OpenSCAD (2010) - Marius Kintel and Claire Wolf and contributors
OpenSCAD was created by Marius Kintel (also its current maintainer) and Claire Wolf at MetaLab in Vienna during the first waves of affordable consumer 3D printers. Producing small models was increasingly simple but modeling them became the apparent bottleneck; most software at that time was expensive and was aimed at professionals. The users of 3D printers needed something more accessible, simpler and free. OpenSCAD - itself built on top of CGAL - introduced code as the way to achieve it unlike others like TinkerCad. OpenSCAD takes an operation-oriented approach. For example creating a cube and moving it:
translate([5,0,10]) cube([30,20,10]);
With this approach OpenSCAD scripts certainly are way simpler than the ones in the big CAD programs but can also become a bit unreadable in complex shapes because the beginning of the model - the cube for example - is buried in the brackets of its consecutive operations.
The genius of OpenSCAD is in the community that forms around the open-ended potential of code with people learning, sharing and building on each other's code
The genius of OpenSCAD is in the community that forms around the open-ended potential of code with people learning, sharing and building on each other's code. OpenSCAD and later its web-native variant OpenJSCAD were the first to introduce that power to the world (wide web).
Above: Live coding music session with founder of SonicPi Sam Aaron
Sonic Pi (2012) - Sam Aaron and contributors
Sonic Pi is a coding environment and scripting language to make music based on the programming language Ruby and the sound engine SuperCollider (James McCartney - 1996 - C++ ). Both a tool to teach programming and one for musicians and sound technicians, Sonic Pi enriched both education and the music scene.
The language is well designed to deal with the essentials of music like timing, beats,tones, chords, synchronization, threads, tempo, effects and sampling. Sonic Pi offers the thrilling possibility to perform by live coding a piece of music where the musician-coder starts with just a couple of commands and samples to progress transparently into an elaborate program and musical piece.
DesignScript - Robert Aish and Autodesk (2011)
DesignScript was arguably way ahead of its time. Although that might not be the main reason why it never found the popularity it deserves. Ambitiously formulated as the intersection of design and programming - it's nothing less than a highly refined attempt by Robert Aish and his team at Autodesk to place computation in the center of the design process - and more daringly right inside the almost immortal dinosaur of CAD: Autodesk Autocad.
It's nothing less than a highly refined attempt by Robert Aish and his team at Autodesk to place computation in the center of the design process
It’s hard not too be impressed by DesignScript, with its balanced pick of the most suitable programming approaches at that time - from the functional, imperative and associative - and a powerful set of features, from advanced modeling, graph based execution, sequence generation, structural/topological awareness of geometry and the beginning of a data-centric philosophy.
But - despite all this intelligence, features and investments the impact of DesignScript seems underwhelming. Today it's hard to even find exhaustive documentation on DesignScript, a tutorial or let alone a Youtube video.
The introduction of the visual programming language Dynamo (the programming environment that requires no programming experience in the tradition of Rhino Grasshopper) - which uses DesignScript internally - feels like a regression of the original ambitions.
It’s hard to reconstruct how it all went about ( the marketing, documentation, education, design partners), but the conclusion can only be: Most architectural designers were not ready yet to embrace programming in a substantial way. Compared to the other open source examples on our list the question also arises: How useful is a closed-source language that is owned by a corporation with a somewhat dubious track record ?
And how about Archiyou?
By following the winding road of the slightly unknown history of code languages and in specific the ones for creativity we finally arrived (back) at the title of this article: Here at Archiyou we think that design - CAD specifically - needs another language. We believe that by creating an open (source) language like OpenSCAD, with the intelligent and powerful features like DesignScript and having it all online and customizable on a platform like OpenProcessing we can unlock a lot of design creativity, intelligence, making and enjoying; just like the original Processing started for creative coding already more than twenty years ago.
But more about that in part 3 or this article!