Joana Chicau brings classical ballet training to a new form of live web performance, one that builds on her dancing both theoretically and sometimes by incorporating actual dancing into her performances. She began studying dance at 5 years old and became interested in web design in college, at Faculdade de Belas Artes da Universidade do Porto. Soon after, she experimented with bringing the two practices together.

When I started my masters [at Piet Zwart Institute in Rotterdam] my aim was to intersect my two interests. A logical way to start for me was by analyzing its underlying languages: scores and scripts; and create hybrid notation systems. The performative aspect came naturally when I started making live demos to share the process. It also became everytime more important the presence of the body and the ability to improvise. Aymeric Mansoux was my tutor at the time and when he saw my experiments he connected me to Alex McLean [interviewed here], Kate Sichio...and since then a whole new live coding world opened up to me.

For those unfamiliar with livecoding, it is the practice of writing code in front of an audience which generates visuals or audio or both. Most performers use a platform tailored for it, such as Tidal. This is often a DSL or a set of libraries for an existing language that provides resources to generate sounds or build complex images; a fairly lengthy list is here. Others eschew these tools to write in languages not ordinary associated with livecoding. But Chicau goes in a different direction, taking existing web pages -- one whose content relates to her ideas -- as her raw material. She re-works this live, editing the html and JavaScript directly using Firefox or Chrome's development tools. This allows her interventions in the code to be visible, as is the norm in livecoding. She pastes JavaScript she's pre-written, as well as improvising in the code of the page itself, with spontaneous alterations.

Stills from Tango for Too/Two at V2, Rotterdam

The live codeness of the performance depends on the time I have to perform: the more time the more I write functions in the moment; otherwise I edit and change different parameters in a pre-written code.

I usually have a general sequence of steps I follow which I have prepared in advance according to the dramaturgy of the piece. In Tango For Us Too/Two I built three different sections: The first part of the piece introduces tango as an improvisation based choreography with a set of code which defines random movement on the X and Y axes. The second part focuses on the dialogical nature of tango using Google Translate with fragments of texts from interviews with tango dancers and practitioners. The second part invites us to a pas-de-deux performed by the interface and JavaScript functions that randomize the sequences of phrases triggering a series of translations. In the last moment, another Tango duet between the human and the <bod/ies> of code is presented.

As she hints above, the Tango performance leads up to the moment that she leaves her computer and actually dances in front of the projection, the final duet between her and the page. The photos above show moments from this progression of the Tango. Some of the source code is on her github.

A search for "center of balance," saved and manipulated by the artist in a live performance, part of Círculo e Meio

In Círculo e Meio (Circle and Half), Chicau extends her live performance into a collaboration with sound artist Renick Bell, who livecodes in Haskell, using the library Conductive. Like in her Tango work, Chicau begins with found web content: among them the Google search results for "center of balance." Circles dominate the performance, referring to the prominence of circles in dance and music. A favorite touchpoint for Chicau is Eshkol-Wachman Movement Notation (EWMN), a mapping system of the potential motion of limbs, using the the surface of a sphere as its system of reference. EWMN is used not only by dancers, but for physical therapy and even to track animal movement. The circle is also the drum circle, and the oldest known arrangement of dancers: a circle or the semi-circle (the half-circle of the title). Chicau and Bell say they "used the circle as a base choreographic concept for how we perceive relationships between users, software agents, the computing environment, and society at large."

EWMN gives Chicau a vocabulary of movement based on the circle that can be used for live performance. As she describes:

Within EWMN the human body is regarded as a system of straight rods (limbs) connected to one another by joints. From a movement of a single limb to the joint which is connected, the system grows in complexity when connecting the movements of different parts of the body with the whole movement in space (system of spatial reference). EWMN is a framework that allows movement to be generated and processed by means of possible states or “transitions”, providing reference points rather than documenting static positions of movement.

This research into "the choreographic machine," some of which can be read here, views the complexity and unpredictability of movement in terms of second-order cybernetics, building on Von Foerster's investigation of EWMN as a cybernetic process. More can be read about this connection in documents like Symmetry and Notation by John G. Harries, referenced by Chicau.

The circle is also an unusual organizational device on a web page, which, like nearly all technology now, favors the flat (modernist) rectangle and grid. Chicau breaks this linear / orthogonal structure by injecting randomness, circles and circular organizational structures. A list of JavaScript errors grows as she works -- these are expected and ignored, a side-effect of stripping down pages that are reliant on many sub-systems. They are a reminder that, even with the complexity of the modern web ecosystem, much web content relies on the generosity of browsers toward noncompliant content, necessary for this kind of spontaneous performance, which, in this surfing just above a collapse of errors, is reminiscent of glitch practice.

The collaboration between Chicau and Bell is not only built on the two reacting to each other's work in an intuitive way, but also formalized through messages sent back and forth using OSC (Open Sound Control), a message format designed for music collaboration. Bell can initiate messages to Chicau, who likewise can send messages back, triggering events in the others' code. Their messages reiterate the work's themes, with names including getMovement(), setChoreography(), emphasizing repetition and reversability.

/ - - - - - - - - shared vocabulary:

vocabulary = {
"welcome": welcome,
"remove": remove,
"private_circle": private_circle,
"public_sphere": public_sphere,
"spheres": spheres,
"breathe_out": breathe_out,
"edge_limits": edge_limits,
"whole": whole,
"vicious_circle": vicious_circle,
"interrupt": interrupt,
"permeable_language": permeable_language,
"gesto_ciclico": gesto_ciclico,
"another_vicious_circle": another_vicious_circle,
"interrupt_another_vicious_circle": interrupt_another_vicious_circle,
"offstage": offstage

To Bell, messages from Chicau may affect the arrangement of voices or the rhythm, while messages from Bell to Chicau may skew the content of the page, launch windows, or change the overlaying of elements. A full description of the performance can be read here. In future versions, they propose expanding this system to allow more performers to work in concert through this system.

Above are snapshots of Chicau and Bell's screens during their collaboration

Chicau explores the theoretical side of her practice in her research project Choreographing Design|Designing Choreographies. There, she describes her approach to interweaving web-design vocabularies with performance and choreographic practices, which draws from esolang practice:

a series of<choreo-graphic-codes>, hybrid vocabularies merging computer scripts and choreographic scores, which produce new meanings, scenarios and imaginaries around the act of coding. The<choreo-graphic-codes>follow the concept of esoteric programming languages ... My engagement with esoteric programming was an attempt to overcome the abstractness of algorithmic code, and simultaneously a way to develop my own design language, which in turn derived from choreographic concepts.

The rest of this ongoing project can be read here