'Cat++' Is a Visual Live-Coding Language Based on Feline Behavior
Nora O' Murchú's new language makes it important to remember: whether real or virtual, cats generally respond to food.
GIFs courtesy of the artist
Irish new media art curator, designer and academic Nora O’ Murchú’s love for cats isn't just about cuddling, interacting with, or even petting them: recently, she decided to develop Cat++ (download the source code via GitHub), a meow-esque visual live coding language based on our favorite domestic animals’ behavior. Created within a residency at Access Space in Sheffield, UK, the Processing-developed Cat++ is a one-of-a-kind “cat simulator” that alternates classic but cute cat interactions with random, uncontrollable, and hysterical moments that are translated through a series of 8-bit-esque animations.
With Cat++, O’ Murchú defines real cat characteristics and behaviors and assigns different dynamic visuals to user input. She also invites users to add cats into the open-source platform and to generate different scenarios as the cats interact with one another. Thus, she merges cat logic with social interaction, algorithms, and creative coding. The results are real-time-generated visuals that highlight something seriously important: whether real or virtual, cats generally respond to food.
To learn more about the code experiment, The Creators Project asked O’ Murchú a few questions via email.
The Creators Project: Hey Nora, what’s up? Can you talk to us about your relationship with cats and why you like them so much ?
Nora O’ Murchú: (ΦωΦ）♡ॢ₍⸍⸌̣ʷ̣̫⸍̣⸌₎ (=ↀωↀ=)✧ (=｀ェ´=) ～((Φ◇Φ)‡ ~(=^‥^)/ ฅ(*ΦωΦ*) ฅ ฅ(⌯͒•ꈊ͒ू •⌯͒) ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ ฅ(⌯͒• ɪ •⌯͒)ฅnya～ﾝ ฅ ̳͒•ˑ̫• ̳͒ฅ 0( =^･_･^)=〇
You recently had a creative residency to develop a project that merged your interest for cats with your coding practice, which is at the same time super interesting and requires explanation. Can you tell us about the genesis of Cat++ and what brought you to such a project?
It was pretty informal: the idea was to bring together various people exploring the relationships between patterns in sound, textile and code, and see what happens. We spent two days having discussions and making projects, and at the end of the residency we had a public event where we did a collaborative performance together.
Regarding the residency, how did your idea came about and what was your workflow while you were there?
At the beginning of the residency, myself and Alex spoke a little about live coding. I was interested in live coding visuals, and Alex showed me a few platforms, including Livecodelab, which I experimented with to try understand how it might feel from a simultaneous perspective of both using and viewing. I hadn’t come to the residency with a definite plan, but after this, I decided to do something visual.
Alex encouraged me to design/code my own programming language, which is not something I had thought of before. So I began to think about what other conceptual models code could be based on, which obviously led me to cats. So I built a little framework: first I planned the overall behavior of the cats, how you would interact with them, and what actions would needed to be supported. I worked on the animations, and Alex helped me with the first iteration of the coding.
Can you give us some details about the code that you created? How was the creative process?
The code was developed in processing, and is supported with 3 libraries including mesh, controlP5, and gifAnimation. The controlP5 library lets you input text, which we modified to support programming of the Processing sketch on the fly. This allows you to draw in the renderer without having to stop and run the sketch—so that you can “live code” visuals. All the animations were made in Photoshop, and the frame rate is controlled using the gifAnimation library. The mesh library is used to control where the cats are rendered on the screen. Conceptually, I wanted to base the logic and interactions in the sketch on how cats behave IRL. I gave the cats a certain amount of autonomy and sometimes you have no control over how they behave. The generally respond to food though.
Altogether Cat++ feels like a cross between live coding and a video game—for me, at least. I’ve released just a basic framework on Github with a few functions to support feeding and petting the cats. There are also random events that happen (for example: mice appear) that have various effects on the cats. In the future, I plan on developing the code further, but I’ve left it online for anyone to use/contribute/edit.
I imagine that a cat behavior-based visual language is more than a recreational creative-coding experimentat. Can you talk about the sociological/philosophical idea behind this project?
There are a lot of reasons for coding your own language. Code can sometimes be a medium for expression that is most suitable for what you want to express conceptually. Like any other tool or medium, it has qualities that, when interacting with it, afford new capabilities that we might not have previously had. It also allows us to develop new uses for code that are more suited to our own concerns or the domains that we are working/living in.
Developing new uses for code as a medium for aesthetic or political expression allows for the dissemination and development of new understandings of the use and influence of code beyond technical domains. We live at a time where participating online means that algorithms track and predict our behaviors and our activities; clicks and likes are converted and stored in databases. This has a lot of implications—social, political, economical—and I'm not sure that we really fully understand as a society the full implications of this.
There are some great artists exploring and engaging with these concerns. For example, Erica Scourti in her work explores personal and collective communication and is continually trying to make sense of visual culture dominated by sharing online. She creates intriguing provocations about the storage of data, automation, algorithms and what they mean for us as we participate in socio-technical infrastructures. Her latest project Dark Archives, which was commissioned by the Het Nieuwe Instituut in Rotterdam speculates on algorithmic automation and the consequence for online memories.
I'm also a huge fan of SFPC, an artist-led school in New York that is exploring artistic interventions with code, design and theory. They place an equal emphasis on research and practice, and offer space for people to learn, and think critically about technology. I think it's one of the most interesting places to look at right now, and I appreciate their leanings toward technology as a means to an end for exploring important issues, rather than then the uncritical demonstration and demoing of tools that we've seen a lot of digital art fall into.
Like many others in the field, these people are moving the discussion about technology into new domains and lowering the barriers both conceptually and technically to create new conversations and perspectives on a world that is ever-increasing digital.
What’s next for you? Any ongoing projects?
I’m working on two curatorial projects, one of which will be released later this year in Ireland. The first is a festival, Cut/Make/Do, that is exploring bottom-up approaches to fashion production and consumption. It will explore alternatives to fashion making including emerging ethical and computational approaches. The second project is an exhibition that examines the attention economy as the global industrialization of perception that informs how we socially interact online while simultaneously sustaining a hierarchical global society. This exhibition is the culmination of two years of research of the consequence of globalization online.
Nora O' Murchú is a designer and curator whose practice examines the networked conditions that make up public social and civic infrastructures. Her work embraces narratives and fictions that result in wearable objects, exhibitions, and interventions. She is currently a lecturer and researcher at the University of Limerick in Ireland, where she is course director for the Digital Media Design program.