Chronophonics is an online installation created by Alec Resende, Avneesh Sarwate, and myself. Inspired by online art experiences like Reddit's r/place, we created a series of networked musical interfaces where you can make edits to the music and submit those changes to the shared history of the interface. Each interface allows you to traverse the history of the canvas and see other people’s changes. Animations running in the background of each canvas are reactive to the music being created, and change along with the music as you traverse the history of a canvas.
The amount of change you can contribute to a musical canvas is limited to a certain number of actions, with a countdown timer limiting how often you can contribute. In addition, the interface will sometimes block you from performing certain actions – think of this as a virtual conductor guiding performers to play a score. By scrolling through the history you see the arcs of the conductor’s influence.
I developed the backend of the project, using a combination of Google Firebase tools, web sockets, and MongoDB. A Firestore instance stores interface configurations, allowing us to change the installation experience on the fly. Firebase authentication helps manage user sessions to ensure the interface is locked after submitting, even through refreshing the page and new browser windows. Web sockets are used to transmit state between users operating on the same interface. MongoDB is used to persist a log of interfaces changes over time to preserve the history of the installation for viewing.