Project Top-notch Twitch

Twitch is a series of minimal, one button games using Processing.js. Twitch is a work of Casey Reas, a software artist who “writes software to explore conditional systems of art.” Twitch is also a part of Chrome Experiments project that leverages the Google Chrome browser functions.

Why we should preserve Twitch? The significance of Twitch is multifold, and I hope, by the time you finish reading this post, your face twitches in a pleasant surprise of how much this minimalistic game entails.

Twitch & Ally of Visionaries

Twitch is enabled by the ally of visionaries. The following three are one such examples, showcasing how a digital artwork comes to be.

1. Casey Reas, the creator of Twitch. Trained at the Massachusetts Institute of Technology in Media Arts and Sciences, Reas utilizes the generative software to produce dynamic graphics. Reas published Twitch in 2009 as a demonstration of most elementally Processing.js features such as drawing a circle and allowing users’ interaction by a click of the mouse. Reas’s other state-of-the-art exhibitions and commission work take place internationally, and some prominent installations include the one at the Victoria and Albert Museum in London UK. Most of Reas’s works, however, are stored in either print or otherwise static formats. Venturing to find the apt preservative methodsof Reas’s work in its native digital media is doubtless of interest to his fellow contemporary artists and the cultural institutions alike. Starting with the preservation of Twitch can be a feasible step towards prospective and larger preservative project of digital artworks.

image of casey-reas
Casey Reas. Image Credit:

2. Ben Fry, the co-creator of Processing. Processing.js, what enables Twitch, is a JavaScript port of a programming language called Processing. Aside from how Processing.js works for now, let me explain the historical significance of documenting the development of Processing. Processing was conceived by Ben Fry and aforementioned Casey Reas in 2001 while they were both graduate students at the MIT Media Lab. The idea behind the invention was to promote software literacy within the field of visual art and visual literacy among the field of technology. Processing is open source, and its continuous growth has been supported by the community participation and collaboration. Processing is inspired by the early programming language such as BASIC, a language recognized as a reminiscence of the time when the user-friendly computer encouraged programming (unlike our contemporary complex and easily doomed-to-be gibberish programming languages). The syntax of Processing has been adapted widely such as seen in an elementary yet powerful DIY wiring kit Arduino and in the Khan Academy’s free online computer science tutorials.

image of ben fry
Ben Fry. Image Credit:

3. Muriel Cooper, the founder of Visual Language Workshop. The Visual Language Workshop of the MIT is a precedent name of what’s later became known as MIT Media Lab. Processing gives credits to many of its foundational ideas to the Workshop. Cooper founded the Visual Language Workshop in 1973 and directed it until her death in 1994.

In addition to her work as a graphic designer–which revolutionary rebranded the MIT press–the Visual Language Workshop produced gifted software designers including information architect Lisa Strausfeld and the former president of the Rhode Island School of Design, John Maeda (who taught Ben Fry and Casey Reas). Cooper herself can be regarded as a pioneer of graphic designer and educator who envisioned “the content, quality and technology of communication [to] inform each other in education, professional and research programs” as she notes in her 1980 letter. Preservation of Twitch can serve as a tip of the iceberg to document the history of digital technology and art in the last two decades.

Muriel Cooper. Image Credit:

Twitch & Evolution of Programming Languages

Now let me shift to how Processing.js has come to enable a game such as Twitch. Proceccing.js is written in JavaScript. When executed, Processing.js uses HTML5’s <canvas> element and convers Processing code (which is written in Java) to JavaScript. Why this is important?

1. From Java to JavaScript. As Processing.js takes care of the conversion, the long time users of Processing and the audience of Processing-based visual arts do not need to worry about the Java-related glitches. Java, indeed, was once a ruling language of the web during the mid-1990s. Java’s compatibilities and loading time, however, soon cast the shadow on its popularity and now only few web developers deploy Java-based applications by choice. Processing.js, therefore, is here to rescue. It allows the great numbers of Processing users to retain their method of production by simply including a “processing-1.0.0.min.js” script file in addition to the .pde file just as they used to with the Processing IDE. Twitch seen in this light, therefore, is an epitome of the strove-to-be-seamless transformation of digital environments, embracing and adapting the change.

Image Credit:

2. The Age of Web Browser. Moreover, Twitch can demonstrate the contemporary norm of generating the files on the client side, a common practice to facilitate dynamic interactions by utilizing the browser functions. For example, HTML5’s <canvas> element—what Javascript.js uses to create graphics—is supported by five major browsers such as Chrome 4.0, Internet Explorer 9.0, FireFox 2.0, Safari 3.1, and Opera 9.0. Twitch, as a result, can address the interesting question concerning the preservation and the browser’s version history. Starting with a preservation of Twitch, the project can further address the evolution of browsers, the shift from being heavily text-based to multimodal graphic and audio rendering.

Timeline of Web Browsers. Image Credit:

3 Replies to “Project Top-notch Twitch”

  1. So it seems like there are a lot of layers to your project: there’s Twitch, which is the ‘final’ product, that runs on Processing.js, which is run through a browser. So it seems like in order to preserve Twitch, you would also need to include some preserved form of Processing.js and/or the browsers. Or perhaps the documentation of the version of Processing.js and the kind of browser used would be enough to preserve Twitch? Also, you said that Processing.js is open source and is changing, so I wonder how this will affect the capabilities of running Twitch.

  2. I enjoyed reading your description of the history behind twitch and the role it plays as part of an intellectual lineage of artistic work in computer programing. From there, it seems like the design history of the work is likely the part that is most significant. That is, it feels like this story is very related to the story the Bogost and Montfort work to tell in racing the beam. This prompts what I think is likely to be a challenging aspect of the work to grapple with. Where exactly do you bound the games? Do you need their development over time? What of the underlying libraries are required to properly document and contextualize the work?

    You nicely layout the confluence of different stories that fit together around twitch. With that said, I would have liked to hear a bit more about reactions to it, or words from the creator to help underscore what aspects of it matter the most. Similarly, it would be good to know a bit more about what kinds of stakeholders now and in the future are going to be interested in this and what aspects you think will be most interesting to them. I think that would help you make the calls you are going to need to make when you articulate your preservation intent statement.

Leave a Reply

Your email address will not be published. Required fields are marked *