Week 11: An Online Public Space for Social Drawing

Visit Social Drawing Sol LeWitt @ http://tinyurl.com/socialdrawing

My understanding of socially engaged art evolves every week through our assigned readings and class discussions. Since my ideas from last week speak to explorations of the collaborative process, this passage from Shannon Jackson's Social Works: Performing Art, Supporting Publics, resonated strongly:

"Whereas for many the word 'social' signifies an interest in explicit forms of political change, for other contemporary artists it refers more autonomously to the aesthetic exploration of time, collectivity, and embodiment as medium and materials....While some social art practice seeks to innovate around the concept of collaboration, others seeks to ironize it. While some social practices seeks to forge social bonds, many others define their artistic radicality by the degree to which they disrupt the social."

Our assignment this week was to create a public space on the internet. I prototyped one of my ideas from last week: a shared canvas for collaborative drawing. I set my goal create a public online page to which multiple people might connect and draw together from randomly generated prompts. To focus the activity, I adapted the prompts from Sol LeWitt's Wall Drawing Instructions.

I heard somewhere on the ITP floor that this might be possible with a communication protocol called web sockets. I found Dan Shiffman's tutorials on the topic, which to my surprise culminated in creating a sketch with a shared drawing canvas--perfect. However, setting up a shared space to for multiple users connect requires programming a server, and the tutorials' example just covered local node server setup and a P5 sketch that only ran on my computer in multiple browser windows. Though it just worked on my machine, I learned about the underlying principles, and it was a great way to start.  

But how to implement this for multiple users on different machines, possibly in different rooms or countries? Fortunately, I had the great luck of stumbling across an article by Sinan Ascioglu called, "Creating collaborative sketches with web sockets on OpenProcessing.org," I couldn't believe it! According to Ascioglu, another P5.js web editor, OpenProcessing, was the answer:

"When creating web sockets manually, the hardest part is to create a socket server that listens to any clients connecting and decide what to do with those messages. This requires relatively heavy terminal action to install a node server on your computer and write the code that defines the actions of the server. The good news is: OpenProcessing covers you on this part! Every sketch has a socket server set up already, which echoes (broadcasts) every message to all the other users who are viewing the same sketch at the same time."

Ascioglu's article linked to a couple of example sketches (here and here), which provided useful starting points. For my version called, Social Drawing Sol LeWitt, I added a button to generate and broadcast randomized drawing instructions onto all connected screens, as well as one to clear the current drawings for all users. The sketch probably works best for folks sharing a room (physical or chat) or a telephone call; at present, there is no indication that collaborators have "joined" the page. A color picker or eraser might be nice, too. (Thanks to ITP Resident, Aarón Montoya-Moraga, for his help in programming a more elegant display for the drawing instructions!)

OpenProcessing, based on the open source programming language, Processing, is free to use and all sketches are automatically public unless you upgrade your account to a premium membership. Is my sketch actually a public space, though? According to Shiffman, OpenProcessing was created to easily share sketches made in the desktop app, Processing, and all OpenProcessing sketches are immediately published with a Creative Commons license. In the spirit of the greater Processing community, OpenProcessing is yet another wonderful place to learn and share from one another. Because of the welcoming context of the Processing community in which this site originated, it feels like a public park, but in reality it might be closer to privately-owned public space. There are Terms of Service to which I must abide, and if I don't then "...Sinan Ascioglu has the right (though not the obligation) to, in Sinan Ascioglu’s sole discretion (i) refuse or remove any content that, in Sinan Ascioglu’s reasonable opinion, is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in Sinan Ascioglu’s sole discretion." In addition, "Sinan Ascioglu may terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately." So yes, I would argue that my sketch is a public space but on a private site maintained by Ascioglu. 

IMG_7799 copy.JPG

Update! Perhaps drawing prompts are overrated; my classmates seemed to enjoy themselves just fine despite the posted the instructions. :)

Related Work
Sol LeWitt Wall Drawing #118 at Dia Art
Sol LeWitt: A Wall Drawing Retrospective at MASS MoCA
A plethora of social, shared drawing spaces online, including Aggie.ioAnonDraw, FlockDraw, copainter, drawsome, and Pixelart to name a few
Google's AI Experiment: Quick Draw (try it!)*
Reddit's 2017 April Fools' Day Experiment (timelapse)*
Surrealists’ Exquisite Corpse (and it’s drawing variation, Picture Consequences)*
Oblique Strategies*
*thanks to my fellow peers for these tips!

Readings
Creating collaborative sketches with web sockets on OpenProcessing.org by Sinan Ascioglu
Web Sockets and P5.js Tutorial by Dan Shiffman

"Design, Activism, and Social Change Workshop" by Gulizar Cepoglu
Preface to A People’s Art History of the United States by Nicolas Lampert
Social Works: Performing Art, Supporting Publics by Shannon Jackson (Chapter 1)