Category Archives: Artworks

A futuristic art installation set in a dimly lit room with blue stage lighting. At the centre is are two large, glossy black, inflatable dinghies enclosed within a metal cage structure made of blue, red, and glowing yellow curved pipes. On either side of the structure, digital screens display the word "HATE" in bold black capital letters alongside dynamic sentiment tracking metrics.

The Hate Circuit

I was contacted by my friend Annabel McCourt a while ago and asked to work with her on another installation. I’ve known Annabel for many years, going back to when she was my boss at Hull Time Based Arts!

We met up to discuss Annabel’s idea and I was immediately taken with her concept for the installation:

  • Two 15 foot inflatable dinghies, suspended from a frame in the centre of the gallery space
  • Connected to computer that is polling social media for posts about immigration
  • If the posts are positive, the dinghy inflates; if they are negative the dinghy deflates!

A simple, yet effective concept that should help raise awareness around the public’s sentiment to this important issue. Annabel asked me if I could create the software and hardware setup necessary to realise this concept. Of course, I said yes!

Read more: The Hate Circuit

Initial design decisions

The need to have software that polled social media and interacted with hardware to inflate / deflate the dinghies made the Raspberry Pi computer an ideal device for this project. The Raspberry Pi has full support for the Python language, and the vast number of pre-existing libraries available for Python made this my go-to language for the programming. The Raspberry Pi also has a great array of hats and add-ons available for it, which mean interfacing with physical hardware is fairly straight forward, too.

Software design

My first thought was to the software element of the piece; in essence fairly straight forward, but as always, the devil is in the details!

  1. We would poll Facebook for posts related to our area of interest
  2. Those posts would be cleaned to remove links, emojis etc.
  3. The cleaned posts would then be fed into a sentiment analysis tool
  4. The sentiments from each post would be averaged and return to the main program
  5. The average sentiment would determine the following:
    • The graphic displayed on the attached monitors
    • The running score
    • The state of the air pump connected to the dinghies

Hardware

The hardware interface between the Raspberry Pi and the sculpture would be required to switch the air pumps on and off, to allow for inflation and deflation of the dinghies. To do this I needed a Raspberry Pi add-on board that provided relays capable of switching 240 volt AC current.

I selected the Waveshare RPi Relay Board (B) as it could handle the load I required and it came with 8 separate relays; more than enough for what we had planned!

For the pumps, it was key that they could also monitor the air pressure inside the dinghy and switch themselves off when it reached the threshold set – we really didn’t want exploding boats in the installation! The company who manufactured and supplied the dinghies provided us with two NP06S Intelligent Air Pumps that allowed me to set upper and lower cut off limits.

As the set up was to be installed in a public gallery space, and managed by the team of gallery invigilators, I also wanted to encase the whole set up in a locked server cabinet with a push button added to the outside that, when held, would safely shut the Raspberry Pi down.

Creating the algorithm

The first thing I had to decide on was which Python libraries I would use and how I would connect to Facebook to retrieve the dataset. This stage took a lot of exploration; ultimately, I settled on the following:

  • SocialAPIs Facebook Search Posts – This API allowed me to fairly easily connect to Facebook and search for public posts; limiting by a location ID, date range and search term
  • TextBlob – This is a simple Python text processing library that provides sentiment analysis
  • Unidecode – This Python library allows you to convert unicode data to ASCII
  • Pygame Zero – This Python library provides a simplified wrapper for the full Pygame library. I would use this to create the graphical display elements of the installation.

You can view the completed code for the installation in the GitHub repo. It has gone through a number of iterations and will most likely continue to develop as the installation is taken to other galleries and locations.

Hardware setup

You can see some pictures of the completed hardware set up below. It is installed in a ten inch wide server cabinet, with the Raspberry Pi and Waveshare relay board mounted onto din rails in the front of the cabinet. All cable management is set up so that it can be installed in the gallery without needing to go into the server cabinet, keeping people well away from the relays that are carrying 240 volts!

Installation in the gallery

Installing everything in the gallery came with a few challenges. We worked through them over a couple of afternoons until Annabel and I were happy with how the installation looked and worked in the space. The shear scale of the frame and the dinghies combined makes this a really striking installation. The lighting in the space really finished it off perfectly!

Launch and next steps

Perhaps the best part of the whole process was being in the gallery for the first weekend of the installation’s launch. Getting to speak with so many people about it and to hearing the thoughts and discussions it prompted was testament to how powerful Annabel’s concept was and how important a subject this was to engage people with.

Annabel and I have already been talking about how we can adjust the installation and introduce more ways to enable people interact with the artwork.

Watch this space for updates!