More selected projects

Flagging Communication

Having spent 24 years in the Royal Navy, and working with communication and information systems, I have created abstractions of the International Maritime Signal Flags.  The flags spell out a significant word but with some interesting interference occurring within the message!

produced by: Chris Newth


The animated flags, produced from code using Open Frameworks and C++, remind us of the importance and origins of communications at sea and the frustrations and challenges of signal outages and interference. To me, the flags are not just functional they are beautiful in the way they flap in the wind and the colours they include. The movement of the flags are represented by different effects / abstractions, all created from code. The fact that the flags, are in themselves, a form of code provides an interesting connection. 

Concept and background research

The concept of creating abstractions of maritime signal flags, where each flag represents (or encodes) a letter of the alphabet, is a fusion of my maritime background and my involvement with coding and information systems.  The patterns and colours of these flags have a sense of beauty that I wanted to capture and play with.  I chose significant 6 letters and researched the flags associated with those letters, then looked at ways that a flapping flag could be represented / abstracted.  I also created a source of interference, to remind us that messages can be lost, misinterpreted or tampered with, acknowledging this in the title, ‘Flagging Communication’, which purposely has a double meaning. Throughout the project I looked out for flags as I travelled around the UK (home) and New Zealand (holiday) and watched how they moved, using this as inspiration for the effects I produced through code.  Like real flags, my flags move with a degree of controlled / constrained randomness. 


I used Openframeworks (C++) to write the code and used ofxPiMapper as a projection mapping tool, projecting my scenes onto a stack of (white) cardboard cubes. The first projector was poor quality and caused the animations to lag / stutter, so I changed projectors and mounted the new projector on a tripod to make it more stable.  I ran the software from a 2.5GHz MacBook Pro, with 0.5TB SSD and 8GB of RAM. There was a problem with a loose power socket / cable of the new projector, so I gaffer taped the cable to the legs of the tripod to take the weight off the cable.  I presented and filmed the installation in a darkened room, chosen because it had blinds and was spacious. The video was edited using DaVinci Resolve.

Future development

I like the way Flag ‘Oscar’ has a 3D effect, created by using one source for the vertical surfaces of the cubes and another source (in harmony) for the horizontal surfaces.  I also did this with Flag ‘Gulf’ but feel this needs a bit more attention to make it as aesthetically pleasing as Flag ‘Oscar’. Also, the yellow and blue colours of flag ‘Gulf’ would perhaps benefit from being more saturated.  I’d like to experiment with mounting the cubes in different arrangements and maybe up a pole (like a flag pole). 

Self evaluation

I am pleased with the final result, which received very positive feedback and comments when I presented it to college staff, visitors and students at East Kent College.  If I did the project again, I’d look at ways of making the flags more abstract and less constrained/controlled in the way they move.  I used perlin noise and the random function, but some flags would perhaps benefit from more variation and organic randomness. I feel I planned and managed the project well, fitting it in around a 3 week holiday to New Zealand over the Xmas break.  My laptop and my code is well travelled! I think some of my code could be more modular and that my functions could have been more portable / efficient in terms of using and passing arguments. 


For 'Flag India' I adapted code from the ‘Magnetic Grid’ code, a Week 4 Activity in IS71014B: Workshops in Creative Coding (2018-19). 
For the top part of 'Flag Gulf', I adapted code from the ‘Breathing Rectangle’ code, a Week 8 Activity in IS71014B: Workshops in Creative Coding (2018-19).