Immediate feedback

I re-watched Bret Victor's talk "Invention on principle" last night. And it got me thinking.

If you are not yet familiar with Bret Victor I envy you, because you have a couple of really mind-blowing moments ahead of you as you look through his work. He is one of the greatest minds of our time. (By the way, dont' miss his CV. It's unreal.)

The principle he lives by is that "creators need imediate connection to what they create", and based on this principle he has come up with a number of tools that create that kind of connection.

I hated Java development because the connection between the tool (the code) and what I created (the system) was too slow This makes creating things hard, unless you already know what you are doing, which would mean all of the creativity was gone from the creation process.

Web front-end development is nicer in that way. There's still not an immediate connection between the coding and the output but at least there are no 20 minute compiles to sit through.

I think the lack of tools that give us that sought after immediate connection to what we make have helped create the divide between designers and developers.

If we think of design as "deciding how thinks should work" and development as "making things work as they should" then having design and development as two seperate roles makes it impossible to have an immediate connection between the creator and the work.

For the creative parts in the process of making stuff, deciding as you make is the only real way produce good results. Having that immediate connection makes you try things you wouldn't have tried and think thoughts you wouldn't have thought.

In a utopic process the feedback loop is infinitely short. We'll never get to that point but I think fully merging the design tasks into the development process will be a natural next step in improving how we create digital products. This will require different processe and better tools, but I think we have been going in the right direction for quite some time now. Both our processes and our tools are improving in a direction towards more immediate feedback.

And as our tools keep improving and we start using more agile ways of working, more and more people will become able to take on both the developer and designer roles. I think that's a really good thing.