Bind and the Problem of Version Control for Designers

This project from designer Alasdair Monk is intriguing. Bind takes as its premise the idea that the design tools we have today suffer for their inability to support truly robust collaboration. Where developers benefit from rich technical ecosystems optimized for multiple contributors to any given project, the software that designers use is essentially isolated and oriented to a single user at a time. ”Designing together” is essentially impossible, he argues.

The root of this problem is version control. Git just doesn’t work for our binary files that our tools create. If you move a single pixel in a Sketch document and commit the change to Git, it acts as if you’ve created a whole new file and can’t discern the change you’ve made. There’s other problems as well, most of these tools allow us to layout an interface but only with a fixed, bitmap representation. We can’t easily try them out and see how they feel without coding them up into prototypes.

Monk’s solution is Bind, a project that he is developing that prioritizes versioning as a core use case. It’s also purpose built for user interface design; it’s native to the desktop (i.e., does not live in a browser); and it has at its core Grid Style Sheets, an alternative approach to the presentation of layout elements.

A screenshot from a recent development build of Bind, by Alasdair Monk
A screenshot from a recent development build of Bind, by Alasdair Monk

There’s no release for Bind yet but Monk’s notion of re-examining the design workflow on a holistic level is an excellent one. And he’s correct to identify version control as the crux of the problem. As the demise of LayerVault sadly demonstrated, version control for designers is a very difficult nut to crack, especially at scale. What works for one team rarely works for another team, whether as a result of fundamental incompatibilities in production methods or broad disinterest on the part of most designers for conforming to someone else’s way of organizing things.

At its heart though this should be a problem that’s within the realm of technology to fix—there are limits to what technology can solve, but software can surely fix problems that arise from using other software. The question is finding the right approach.

Or rather, the question is whether there are enough people like Monk interested in finding the right approach. The LayerVault team tried to solve this at the storage layer; they allowed designers to continue using their preferred tools but changed up the way work is stored. Bind apparently tries to solve it at the authoring layer; it changes the design tool for maximum compatibility with Git. To my knowledge, no one has yet tried to solve the problem at the file layer; a universal wrapper to which any application can write that stores its version control in a rich metadata file. For each of these layers there are innumerable possible approaches and variants. It will likely take several more attempts like LayerVault and Bind for us to find the right solution.