And yet… our design process is still limited by our meatspace interactions bridging between our brains and devices that have unbounded computational power. Our brains and computers are fast; our hands, mice and keyboards are slow.
Dungeons and dragons references abound, Jon Gold shares a new piece about our design tools and why iteration is so damn hard.
On a current project at work I'm moving around hundreds of artboards across multiple pages and files. Maintaining iterations, diverging and converging, and keeping consistent content and interaction patterns is near impossible without some kind of programatically-backed infrastructure.
Right now there aren't really design tools to help with this, as far as I can tell. An interim solution I'm exploring is a git-sketch plugin that allows for version controlled components with image diffing for clean commits. But it's hard, and it has pushed my mindset over the last 3-4 months into the world of design tools and where we're falling short.
Back to Gold:
Imperative programming is telling the computer how to calculate something. We give it step by step instructions—procedures—to get to the answer. Declarative programming, by contrast, focusses on what we want to calculate - we don’t concern ourselves with the details.
An example: Rene by Jon Gold. It's a declarative tool to explore hundreds or thousands of possible iterations in quick succession. It enables a cleaner process of diverging and converging on solutions by inputing atomic changes into the system. It's fun to use and the possibilities are exciting. Think: iterating on an entire website or system of components in seconds, with a coded output and a systematic hierarchy of sizes and variables. That sounds rad.
It's still early days for Rene, but I highly recommend playing around with the first beta. Jon's thinking has been so fun to follow over the past few months – I'm excited to see where these concepts will push our tools and processes in the future.