Co-created by Zhenzhen Qi & Yang Wang

ThingThingThing Repository on Github


ThingThingThing is a platform, a framework, and community that explores the collaborative and imaginative aspect of computational media.

Under the title of ThingThingThing, we planned a series of workshops, where artists, educators, and technologists join each other to learning fundamentals of new media arts and make unique contributions to the virtual world along the way. Throughout each workshop, the contributors collected 3D Things made in all shapes and forms, program behaviors, and put them into the virtual world. At the end of each workshop, the result is a film that generates its plots in real time, composed by all current and past participants.

As artists who create using programming language, we have been trying to experiment a form of creative activity that could fully utilize the advantage of the new media. How can we all create collaboratively, while equality, and still can keep the balance between the creations? Is it possible for the artwork to take on its agency, and being carried on, not by one individual creator, but by itself and the internet? Can we employ the new technologies we got, to invent a form of collaborative creation, which can benefit both the seasoned participators and the newcomers?

The open-source community inspires ThingThingThing’s technical structure; it opens to contributions around the world. The product is generative, algorithmic, and ever-changing. Algorithmic art is powerful because it allows for a set of predefined rules to generate multiple artwork-events. All of a sudden, adults can also live in a childlike life. The games we play, very much like how an adolescent pierce one’s nose and puts on some tattoo, can be endless in a virtual world. We try on identities in all kinds of shapes and sizes until we get one that feels like a second skin.

It is under this premise that our research project ThingThingThing was conceived. We hope that resting on an open-source based computational art platform, and it can emerge as a new playground, where the new identity encompassing both Self and Other develops naturally under the promise of openness, equality, imagination, and play.

Story Behind

Collaboration is imaginatively cooperative making. A good collaboration model needs to incorporate some systematic level of language that allows for everyone to communicate easily and transparently. At the same time, it should also leave space for each individual to wander in a completely non-objective way, to render a childlike sense of self, to encounter and respond spontaneously, which naturally lead to confusion and even confrontation, in a way that sparks reflection and growth. Could it be possible that there exists a model that offers harmony without sacrifice individual’s honesty and voice?

Five years ago, we started exploring the boundary between art and technology in our creative practices. We became interested in exploring the collaborate narrative aspect of computer coding languages, in a time where general usage of computer algorithms seems to be increasingly alienating, unimaginative, lack of transparency and diversity. What would this model look like, as both a process and a representation?

Starting from last summer, the two of us started talking about how issues such as authorship and democracy could be reflected in a fun, honest, and systematic way. We got interested in creating a new form of collaboration that can fulfill our expectation on a great collaboration and also can fully utilize the advantages of the computational media.

What About TTT?


TTT is highly collaborative. Besides the virtual world itself, which is created by us beforehand, all content is being added by TTT’s contributors. What happens inside the TTT world are completely decided by the behaviors of the THINGs that being added by contributors. One more THING being added will make TTT’s world exponentially more interesting.

Collaboration not only means interactions between THINGs, but also include interactions between the human creators behind the keyboard. In a workshop, conversations naturally happen among participants. Exchange of knowledge is also a big part of a THING’s making process, just as game development, the making of a THING involves knowledges from many different disciplines. To create the THING you want to create, diving into a new field is not only interesting but also necessary.

Space for Creativity

Instead of providing an API, we choose to let participants make their own class and their contributions directly into the project. This opens up unlimited possibilities for TTT’s contributors. They also get to access all of Unity’s features, so your can customize your THING just as how you pictured. To give a few examples:

  • THING A creates a text file on your hard drive whenever the sun is down.(oops)
  • THING B says “Hello” and makes a cute sound whenever other THINGs approaches it.
  • THING C likes to circle around another THING and loves to stick to other THINGS then travels with them.
  • THING D shouts out tomorrow’s weather forecast of your city to other THINGs around it.

Consider the number of THINGs living in the world, we can see a lot of interesting things happen between the THINGS. They have got a lot of stories to tell.

Of course, we carefully review every Pull Request to make sure no destructive behaviors are being added.

Accessible and Educational

The idea of TTT was born in an educational environment. TTT itself is already an interesting project to participate for those who already are technically sufficient. But we also hope TTT can become a great beginning instructment to help people start creating stuff using computer languages.

One great thing about Processing is that it makes drawing by code incredibly simple. It hides all the complicated logics and allows you to draw a simple straight line using just one line of code line(x,y). What is even better is that learning Processing doesn’t stop you from diving deeper and becoming a seasoned coder, it simply smoothes the learning curve and eases the pain of the starting period. Learning from the experience of Processing, we have prepared many ready-to-use functions and properties for the participants to just use them. For instance, you only need one line of code to get your THING to walk, talk or make a sound. For people who do not have the will to learn more about Unity and C#, they can use all the parts we prepared, and it is enough to make something very very interesting. A few hours are enough for one who has zero programming experience to make a simple, unique AI and put it into TTT’s world. We believe it will greatly encourage the beginners and provide them the confidence to further venture into the world of technology and art.

Computational and Unpredictable

Because the final output — call it a film or an animation – is a computer program, therefore all results on screen are actually being generated/computed in real-time. There are no pre-plotted stories. This means everytime you run the program, you will encounter something new, maybe a meeting between two THINGs that has never happened before; maybe a bizarre behavior that you never saw; or even a weird and awesome bug of the program…You can always expect something new and exciting.

All of those make the TTT’s output extremely fun and amusing to just watch.


Even through contributors will likely have different levels of technical sufficiency, one can only influence TTT’s world through his/her THING. A THING can only be different from another, but it cannot overpower another. Commanding other THINGs is not allowed. A THING that doesn’t do anything but standing still is equally interesting, as most of the THINGs will very much likely move around non-stop, to find a quiet one like that, surely is a warm discovery.