More selected projects


TIM (The Interactive Mirror) is a mirror, an object, something that should be inanimate; a mirror certainly does not have agency or does it?

produced by: Chris Courage


The mirror is ever present in our daily lives and the idea behind it as an installation is one of reflection, reflecting on our social distinctions. That is to say: questioning what differentiates and distances ourselves from one another, actor and actant.

This installation is a reinterpretation of the fundamentals expressed in Actor Network Theory as proposed by Bruno Latour in his book ‘Reassembling the social’.

Actor Network Theory examines the social ties of people and objects, forming culture and knowledge. All coming together to create the social. 

Since being introduced to the work of Bruno Latour and Donna Haraway in our research module: I have wanted to work with the theory and this was a great opportunity.

Concept and background research

The concept of the project was based on the idea of reimagining a piece of art, film or book. I chose to reimage a fundamental part of the book “Reassembling The Social” .

What Bruno Latour suggests in the theory of “Actor Networks” is an assemblage of people and things; actors and actants are overlapping entities that have social ties all tangled up like ball of threads. (Latour, 2007)

What Latour was concerned with, was the understanding of how actors and actants, people and technologies, interact with one another: we form networks of relationships all interconnected and interacting with
each other.

What I saw in the mirror was a technology, perhaps even a feral technology. Simply, the mirror is an object that reflects light. However, we use the mirror in many ways: to inspect ourselves, decoration, architecture, science, deception and surveillance. Society has even adopted the term mirror in language with many idioms: “done by mirrors”, “smoke and mirrors”, mostly describing deception.

“Objects are never assembled together to form some other
realm anyhow, and even if it were the case they would be neither
strong nor weak—simply ‘reflecting’ social values or being there as
mere decorum” (Latour 2007)

In the quote above I saw the idea of a mirror as part of an assemblage with society. Not merely to inspect ourselves but perhaps there is a deeper connection of self-reflection and questioning.

The questions that were raised from my research:
-How can I bring agency / a voice to the mirror object?
-Taking the concept of the mirror as the idea for the installation, how could I give this object agency as an interactive installation?

For the visual and interactive experience, I was inspired by Mechanical Mirrors (Daniel Rozin, 2017) ,  an installation series by Daniel Rozin. I was particularly interested in the way the installation isolates the viewer and reduces them to a mechanical silhouette. This idea of the reduction of the human generated the questions that I wanted to explore in my
"TIM" installation.
- What is our relationship and interaction with the mirror?
- What  could interfere with this relationship and disrupt it?

What were you trying to achieve?

The objective of the installation was to interfere with the normal social ties’ society has with objects. The mirror being the object, the idea was to cross the boundaries of the human / object relationship. Generally, mirrors are non-resistant and compliant. However, TIM has an active response to human presence: from a distance TIM encourages interaction but quickly resists closeness when the participant gets nearer.


Computer vision and specifically the OpenCv Haar algorithm was used to look for faces in front of the installation. The idea was to attract viewers to the installation by using an animation that altered depending on faces recognised and proximity to the mirror.

The animation had to blend in with the mirror and not disrupt the reflective aesthetic. I pre-recorded a series of short mimes then used a computer vision technique of background differencing to isolate the actor from the background. This allowed me to create a halftone/dot matrix grid that was based on the brightest pixels from
each frame.


The code was packaged up on to a Raspberry Pi 4 which ran the sketch: The Pi meant that the installation could be neatly mounted with minimal cables and be left running at any given location. There was a PS3eye mounted behind the reflective surface that the sketch used to grab images to run the face tracking algorithm.

The animation was being played on a LCD screen that had been hacked to suit the project . The screen was mounted to a bespoke frame that was hand made to support the weight. The reflective surface on the front was created by modifying a large photo frame and covering the front glass in a silver one way film.

The animations were drawn on the LCD screen with large white circles, because the circles were a bright colour they show through the reflective surface. This gave the illusion that the animation was being drawn on the reflective surface.


Future development

For the future, the installation would need more computing power. The Rpi struggled with running computer vision and naturally some development with experts in the Rpi would help make the installation run smoothly.

A series of these installations in different locations would really bring the concept together. I would like to see the idea commissioned to allow for funding and focus to further improve the technology.

Self evaluation

The installation came together really well, from hacking the screen and fitting it to a frame to hanging it for exhibiting. The most troublesome part was the physical computing. The Rpi is a powerful computer and suited for running independently in an installation like this. I encountered some problems with processing power which affected the reactiveness to people in front of the mirror.

I found the learning process of the Rpi fundamental in the understanding installation design. I invested a lot of time learning how to use the Rpi and how to get the most out of it. Repeatedly, the community of OFX and Rpi users came to the rescue to help debug problems or advise solutions.

The build of this installation was ambitious and at times I questioned if it was possible to achieve the idea. I persevered through the problems and was relieved when it was all built and powered up. I achieved what I had imagined in terms of the build, but the computing power was slowing down the sketch running and made interaction glitchy. After days of problem solving and many iterations of the programming sketch, I was not able to achieve the levels of framerates required to make the sketch run smoothly.

I do not feel that I would have done anything differently, I learnt that understanding the Rpi is a long process that takes dedication to that type of technology. I will keep using them and I feel that in the future I will be able to achieve better results from this personal development.


Dan Buzzo (2021). Porting ‘Sweary Clock’ to raspberryPi with GOLD custom screen frame: openFrameworks superBasics e13 [Film].

Daniel Rozin (2017). Daniel Rozin: Penguins Mirror [online]. Available from: [Accessed 26 April 2021].

Goldsmiths Computing (2020). Image and video [online]. Available from:§ion=6 [Accessed 26 April 2021].
-       Example code wk6 Basic video input

Latour, B. (2007). Reassembling the Social: An Introduction to Actor-Network-Theory. New Ed edition. Oxford: Oxford University Press, USA.

OpenCv (2021). Available from:  openFrameworks [online]. [Accessed 26 April 2021a].
-       Example code: Computer vision, OpenCv example

OpenCv Haar (2021). Available from: openFrameworks [online]. [Accessed 26 April 2021a].
-       Example code: Computer vision, OpenCv Haar finder example