Effects Off


Choreographies of the Circle & Other Geometries

Joana Chicau, Renick Bell






A black and white photo of an audio-visual live coding performance. A woman and a man stand behind a table covered with a microphone, cables, and two computer screens. A large projection of code covers them and the wall behind them. The woman to the left has light skin, her face is slightly obscured by the pattern the code projection makes on her body. She wears a dark garment with thin straps. She is looking down at something that is not visible on the table. The man stands to the right. He also has light skin, and his features are also obscured by the code projected onto him. He has a short haircut, glasses, and a dark long sleeved top. He appears to be manipulating something on the table as part of the performance.
Círculo e Meio | Circle & Half, an audio-visual live coding performance combining choreographic thinking and algorithmic improvisation. Image credit: Joana Chicau, Renick Bell. Photo credit: Henrique Palazzo.

Choreographies of the Circle & Other Geometries is a research project initiated by Joana Chicau & Renick Bell on socio-technical protocols for collaborative audio-visual live coding and a corresponding peer-to-peer environment programmed in JavaScript.

The project reflects how language boundaries are enacted through the computing environment and within social spheres. It explores how movement, gestures, discourses, and behaviours are choreographed and communicated through the apparatuses at work and how our hybrid digital systems and transdisciplinary research practices co-construct each other. It is informed by on-going research and recollection of musical and choreographic sources and scores that reference principles of non-linear composition, non-hegemonic time and space constructs, techno-feminist understandings.

The Recipe

One of a sequence of transitioning images. Code is overlaid across a series of small thumbnail images consisting of symbols, peoples, architectural facades, birds and statues. To the right of the image there is a page inspector showing console messages in code.
Screenshots from a Círculo e Meio | Circle & Half performance. Image credit: Joana Chicau, Renick Bell.

Algorithms and data infiltrate our every move. The data and the way it is structured, how networks are connected, and their status as public or private create boundaries and hierarchies. We want to develop a critical understanding by making these hidden processes visible and experiential.

In particular within media technologies, we can observe the tactical use and re-purposing of the settings, protocols, and abstract status of notations which determine the concrete conditions and ways in which we inhabit and produce both physical and digital spaces. Under the hypothesis that our interfaces are “scripted” with ideologies, our aim was to engage in critical practices of live notation by understanding the political significance of choreographic references.

Choreographies of the Circle & Other Geometries explores the construction of a modular system that bridges our research, methodologies, and technical apparati. We have been engaging in different formats such as performances, workshops, open-source software, and project documentation as modes of sharing.

We are now in the process of building a library and tools for the modification of real-time web environments involving not only audio and visuals but also content from the web browser (such as search engine results). It is synced in a peer-to-peer manner, meaning that each performer has the ability to modify and execute code on the other performers’ systems and to do so without the use of a central server. And key to this environment is that it allows users to define their own vocabulary in multiple languages, shaping both the technical and conceptual framing of the piece, and in doing so employ esoteric programming. We are sharing an example from the code we have been developing, in other words, a recipe or choreographic script for you to try!


As a starting point, you will need the main elements or meta-ingredients listed below:

  1. stage { specific HTML sections are set as stage by defining, for example: <div class="stage01"> };
  2. props { aka (theatrical) property, it is an object used on stage or screen; for example: text material; image; iframes; sounds... };
  3. choreographic glossary { list of movement functions or actions which use props that are placed in different stages; actions can generate for example: audio and visuals); and be called for example: breathing ( ) };
  4. dancers { dancers are algorithmic characters that compose sequence of movement functions or actions };
  5. performance score { is the sequence by which movement functions or actions are performed by dancers; altogether forming a complex choreographic relational filed };


Here is an example of a more detailed recipe, specifically for creating the choreographic glossary:

  1. // find the file "geometriesStarter.html" in this repo: https://gitlab.com/OtherGeometries/Cookbook/-/tree/main/example-code
  2. // and add a new section for the code:
    <script type="text/javascript"> … </script>
  3. // create the empty vocabulary object:
    let vocabulary = {};
  4. // add the various vocabulary words to the vocabulary;
  5. // first create an object for the word, then add instances for each word to the corresponding object;
    // note that there are instances for DOM (changing the browser window contents) and tone (making sound);
    // each instance should be a function;
    // at the moment, it should have two arguments: one for time and one to consume items from a parameter array;
  6. // we will name this action applied to the text as BREATHING
    let x = document.querySelector("#image");
    vocabulary["breathing"] = {}
    vocabulary["breathing"].DOM =
    ((time,value) => { Tone.Draw.schedule(() => {
    console.log('dancer 101: breathing ()');
    }, time);
  7. // and now let the dance begin! (aka recipe in action)
    let p = new Performance();
    // create the dancers to be used;
    p.dancers.dancer101.rhythm = m.rhythms.rhythm1.slice()
    p.dancers.dancer101.part = new Tone.Part(
    , beatsToEvents(p.dancers.dancer101.rhythm)
    p.dancers.dancer101.part.loop = true;
    p.dancers.dancer101.part.loopEnd = "2m";
    p.dancers.dancer101.part.probability = 1;
    p.dancers.dancer101.changeRhythmAndArgs([0,1,2,3,4,5,6,7], [["0.5"],["0.9"],["0.05"],["1"],["5"]])
  8. // two things necessary to get tone to start;
    // to be done in the web console;
  9. // actually start the dancer

We have created temporary stage or a kitchen stand within which similar recipes can be tried out.

More info on our project can be found at:

Further Readings

  1. An Interface for Realtime Music Using Interpreted Haskell (2011), Renick Bell.
  2. A Webpage in Two Acts (2017), Joana Chicau.
  3. <body> Building: the code performance of Joana Chicau (2019), Daniel Temkin.
  4. Other Geometries (2019), Femke Snelting.
  5. Politics of Musical Interfaces: Ideologies and Digital Disenchantment (2016), Enrique Tomás.
  6. On Choreographic Languages, Kate Sicchio.
  7. Other Geometries Workshop: Collection of References, Joana Chicau & Renick Bell.


What is the context or background that inspired your recipe?

The authors’ background in choreography (Chicau) and music (Bell) has inspired them to dive deeper into systems of notations from the two fields. As a starting point, we collected musical and choreographic scores that reference principles of non-linear composition, non-hegemonic time and space constructs, and techno-feminist understandings.

We then analyzed various viewpoints from the sphere of dance and music and the socio-political meanings that surround such geometries, starting with the notion of the ‘circle’. The inventory being built supplies triggers for questioning the abstractions and their normative power and geometrical definitions, including their powers of transgression, commonality, consciousness, and freedom.

Which community are you offering the recipe to?

The project centrally involves live programming tools, approaches, usages, and we hope to engage the communities that employ them: software development, interface design, algorithmic performances, media art, digital humanities and education.

Along with the development of the performance piece and related tools, we also hope to make the work accessible and to reach out to more general audiences, helping the community to grow. We aim to present the work to different audiences and contexts, from community-driven ones to larger-scale digital-culture-art-tech-sound events.

How does your submission relate to intersectional feminism?

Computer sciences and algorithmic performance can reflect patriarchal hierarchies rooted in Anglo traditions through the role of English as one pillar of the base of programming. In Choreographies of the Circle and Other Geometries, we have a multi-lingual approach and we engage with esoteric languages as a way to challenge established orders and for devising more inclusive modes of participation.

Another tactic built in our project tools is the fact that each performer can deeply influence the behaviour of the other’s performers system in real-time. Opening a new imagining of how current tools and ensembles can attempt to challenge dominant powers inherent in performance formats.

Back To Top