Could there be more reciprocity between the way programmers and designers think than what most in our industry have traditionally believed?
In a planning meeting this week, our development team discovered a surprising similarity in the way our designer, Billy, and our lead developer, Jeff, visualize things.
As our CEO discussed his vision for the company over the next several months, Jeff and Billy were both struggling to get a vivid picture of each of the 3, 6, and 9 month sign posts he was laying out. So we both spoke up about how those sign posts could be made more clear.
First, Billy said he pictured the website as a series of time-lapsed screenshots similar to the way human evolution is often portrayed on the Darwinian scale. He then said that to explain the signposts he would simply pluck an image from the series created in his head and describe it.
While Jeff liked this approach, he said that his picture would center more around the differences between each sign post. He visualized a set of high-level git diffs showing the features that had been added and subtracted between signposts.
At first, the Programmer vs. Designer contrast seemed so cliche and obvious that it was comical. But after a few quick moments of reflection, the core similarities between the two approaches dawned on everyone. It became apparent that if you were familiar enough with the features of a website, a git diff could serve as a blueprint from which you could construct a visual image.
We decided to illustrate our revelation by ‘git diffing’ the 'visual scale of human evolution’. At Inventables, our designer sits right next to, and works directly with, our programmer. Here’s to hoping that more companies abandon the “over the wall” approach to designer/developer collaboration:
PS - If you’d like to build a better monkey, the source code is on github.