Code Companion
In my graduation thesis, I characterized the step of abstractions and translation when designers want to translate their idea into code. I created a toolkit to facilitate the design and prototyping process. This toolkit is called the Code Companion and contains two tools: the Blueprint, and the Pattern Dictionary.
![A photo of a person doing a paper programming exercise. The paper is full of notes and sketches.](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/02/Code-Companion.jpg?media=1690899544)
![Picture of the pattern dictionary on an app, with a physical copy in the background](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/03/code-companion_main.jpg?media=1690899544)
The Code Companion: a tool to help interaction designs with programming their ideas
To investigate the gap between idea and code, I organized multiple workshops where 40+ design students had to program and prototype a similar design (an interactive dice). All their code was printed and analyzed for patterns; which indicated that none of the students had any overarching knowledge of programming concepts.
![Research results of design students that programmed for the first time, hanged on a wall](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/03/code-companion-analyisis2-scaled.jpg?media=1690899544)
Code analysis of designers that were programming for the first time
Next, I organized a paper programming workshop, in which design students had to perform a paper programming exercise for two very limited design briefs. Together with the code analysis; I identified two strategies designers employ when breaking down ideas: pathfinding & trial-and-error.
![Research results of paper programming, hanged on a wall](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/03/code-companion-paper-programming.jpg?media=1690899544)
Besides observations, experiments, and exercises with designers, I also researched the history of programming. Understanding which programming paradigm influenced which language proved to be vital in determining possible solutions and design directions.
![Blueprint in use: A paper drawing of a software program](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/03/code-companion-blueprint.png?media=1690899544)
The Blueprint allows designers to breakdown their ideas into logic
To support the Blueprint and help designers find the right (programming) pattern, I designed the Pattern Dictionary. The dictionary includes common programming patterns and behaviors for Arduino, explains the flow and explains different concepts.
Additionally, a prototyping tool was made that had an array of pre-programmed inputs and outputs designers could use to test their concept. This eliminated learning hardware and electronics from the process, letting them focus on programming concepts.
![Arduino hardware prototyping board, to make programming easier](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/03/code-companion-hardware.jpg?media=1690899544)
In short, the Code Companion is an initial exploration in demystifying how programming works, and helps interaction designers breakdown their ideas into more manageable, programmable parts.
![Picture of the pattern dictionary on an app, with a physical copy in the background](https://usercontent.one/wp/www.robertpaauwe.com/wp-content/uploads/2021/03/code-companion_main.jpg?media=1690899544)
The Code Companion