May 2021 On-The-Fly CCU Hackathon

Raphael Sousa Santos
on-the-fly programming
4 min readJun 16, 2021

On the 15th and 16th of May 2021, we had a small hackathon as part of the On-The-Fly project at Creative Coding Utrecht. There were seven people involved: Fabian Van Sluijs, Felipe Ignacio Noriega, Ibo Ibelings, Sietse van der Meer, Timo Hoogland, Vera van de Seyp, and I, Raphael Sousa Santos. Our source material was the preliminary result of an online survey targeted at creative coders, related institutions, and their audience. We had three main goals:

  • To make sense of the response of the survey and see how we could improve it going forward;
  • To experiment with the data in the responses and present it in creative ways;
  • To experiment with this format of hackathon and think about out how to host a larger one in a similar format.

On Saturday morning, we started slowly with a round of introductions and, after an initial bolt of collaboration extracting the survey response into a JSON file, we decided to each take some time to play with the data independently. That went well and we gravitated to what we would be doing for the rest of the day.

Felipe and I collaborated on an API to expose the data and aggregated results more flexibly. Having that in place, we could easily extract responses to specific questions and group them by other criteria. Getting a distribution of creative coding tools used per country, for example, was insightful. Doing that involved splitting and normalizing the responses, which highlighted changes that could be done to the survey to make automated processing easier. With the API available through a web server, the other participants could use it in their projects.

Initial API documentation

The Saturday ended with Timo sharing the output of his sonification of the responses using speech synthesis done with Max. The repeating words and multiple layers of voices at different speeds caused a powerful impression. On Sunday, Timo expanded into the browser using the Web Speech API. That proved to be less flexible than Max, which led to a simpler sonic output. This made the higher representation of certain tools, countries and gender in the survey evidently clear. Timo also included a visualization of the spoken words, which added to the overall message.

Visualization counterpart of the speech-synthesis-based sonification

In parallel, Fabian and Vera had been working on a hand-curated database of creative coders and related institutions. Felipe worked on merging the two sources of information, which led to us having more data to play with on Sunday. Felipe and I had a D3.js learning moment and did our first D3.js visualization using bar charts. The day ended with us two, Vera and Ibo presenting our D3.js-based visualizations. Theirs really illustrated the complexity of the data set while ours gave us bar charts built on top of the API.

Distribution of survey respondents

Timo also had time to explore presenting the survey responses on a website. The survey asked respondents to provide links to their website and to their material online in general. Timo retrieved those and dynamically populated a webpage displaying them in a grid that overwhelmed both us and our browsers.

Displaying websites provided by survey respondents dynamically in a single webpage

In the end, we felt that the format worked. We produced multiple presentations of the data, the 3 D3.js visualizations, the 2 sonifications based on speech synthesis, the webpage, and we have an API in place. More importantly, we have now laid out the next steps towards exposing this data to a wider audience with the goal of growing it into a community knowledge base of creative coding practitioners and resources:

  • Update the survey questions based on our insights going through the responses
  • Improve the survey interface and response storage to capture the data in a more structured format. For example, on questions that allow multiple answers, such as the one asking what tools people are using, we would provide multiple input fields instead of a single text field. This should make it easier to process the responses later
  • Improve the API. The two immediate points to address are to make it more robust and to make it read the data from a production database instead of a JSON file
  • Make the API publicly available
  • Design an accessible UI to navigate and collaboratively update this data so that it remains relevant. This is a larger effort and a project in and of itself.

on-the-fly is a project to promote Live Coding practice, a performative technique focused on writing algorithms in real-time so that the one who writes is part of the algorithm. Live coding is mainly used to produce music or images but it extends beyond that. Our objectives are: supporting knowledge exchange between communities, engaging with critical reflections, promoting free and open-source tools, and approaching live coding to new audiences. The project runs from 10/2020 to 09/2022, is co-founded by the Creative Europe program, and is led by Hangar in collaboration with ZKM | Center for Art and Media Karlsruhe, Ljudmila, and Creative Coding Utrecht.

--

--