this blog is the platform for publishing the research conducted by the students of the "Prehystories of New Media" class at The School of the Art Institute of Chicago (SAIC), Fall 2008, instructor: Nina Wenhart

tagging

for tagging, please only use your name and the title of your paper only, so that we'll get an index. make sure that you end your tag with a comma.

here is an example:
Nina Wenhart: Prehystories of New Media,
thanks!

students' blogs

readers

Tuesday, November 4, 2008

Miguel Lopez-Lago: Systems; Meta-systems + New Media - An Ontological Overview of Code-based Art

0.0 Introduction

For decades, digital art production systems have existed at the intersection of
traditional, physical art production paradigms and established computer-programming
paradigms. However, more and more artists are finding it necessary to create new
systems to explore and express their ideas. The impetus of my investigation of such
systems was a philosophical curiosity concerning the implications of the systematization
of art. This essay represents the sum of my investigations thus far. The following
paragraphs will dissect ontologically the ways in which artists engage with computer
systems to create new media. I will argue that a new media work is the result not of an
artist, engineer or a combination thereof, but of product-oriented systems designers and
environment-oriented meta-systems designers. This paper will cover the following topics:
The nature and complimentarity of systems and meta-systems in the context of new
media; Prominent and emerging, art production meta-systems; Computer
languages/systems that challenge the perceived division between code and the arts, as
well as the function and purpose of the language systems native to the machines that
increasingly control our world.


1.0 Systems + Meta-systems

In order to understand the role that systems play in new media it is necessary to
understand the nature and function of systems. The definition of a system will naturally
vary depending on the context in which it is used, and as such, a few definitions will be
considered at this point. According to systems theorist Kent Palmer, “[a] system is a
gestalt composed of anything that relates a figure to a background in a ‘systematic way’
i.e. a way that is based on rules and the properties of the things that can be within the
system including exceptions.”[1] The Oxford English Dictionary defines a system as “an
assemblage of things connected, associated, or interdependent so as to form a complex
unity; a whole composed of parts in orderly arrangement according to some scheme or
plan.” Merriam-Webster offers, “a regularly interacting or interdependent group of items
forming a unified whole.”

To help digest these definitions, take for example the English language as a system.
The foundation of this system is the alphabet; climbing up the ontological ladder one
would then find words, followed by the rule system to construct them, followed by
sentences then by grammar, exceptions and so on. Going by Palmer’s definition, the
English language then consists of several distinct, interrelated systems; the word system
relates figures (letters) against a background (words) according to rules dictating
vowel/consonant placement, meaning, etc. Similarly, words are placed against sentences,
which are given meaning by grammar. Each subsystem contains connected, regularly
interacting entities, fulfilling the various definitions. The overarching language system
thus becomes a meta-system, governing all of the systems—and all possible products
thereof—within it; programming languages share this scheme.

In his paper, Meta-Systems Engineering, Palmer discusses the design of systems
and meta-systems, stating, “Systems engineering is concerned with the unified product
that is to be built. Meta-systems theory is concerned with the environment that this
product will go into and its side-effects in that environment.”[2] Though the language
palmer uses might be more appropriate to a commercial production model, the basic
premise can be extended to new media (if new media is defined by the principles of
modularity, automation, variability, etc. as outlined by Lev Manovich in his book, The
Language of New Media, then new media is by definition systematic [3]).

Dictionary.com defines a product as, “a thing produced by labor; a person or thing
produced by or resulting from a process, as a natural, social, or historical one; result.” In
new media, this product is not necessarily built. A new media system may be designed to
produce a particular experience for the viewer/user, or to involve him/her in an intended
(or unintended) interaction, or even simply to cause him/her to reflect on the limitations
of the system being used. These are all potential products of a new media system.
Ultimately, new media artists/works are constrained by the various meta-systems
they employ—programming languages, operating systems, physical limitations of the
hardware used, and so on—and while the design of a new media work is immediately
responsible for its various products, the design of its governing system is, in the end,
what determines the ecological scope of the work. Consider jodi’s website
for example. This system is designed to subvert the expectations of the meta-system used to create it (HTML). It is navigated in a web browser running on an operating system, the virtual environments in which the site is experienced. Thus the ecology of the site—or how the site as an entity interacts with its environment, including other entities within it [4](other websites, documents, applications, etc.)—is, in the end, governed by the design of these environments. These environments are a presupposition in jodi’s work. Thus, in creating , I would argue Joan Heemskerk and Dirk Paesmans act as product-oriented system designers. Conversely, the creators of an application such as _knowscape—a 3D multi-user experimental web browser, in which sites like can be viewed—I would consider to be environment-oriented meta-systems designers. As Palmer explains in Meta-Systems Engineering, systems engineering is the natural compliment to meta-systems engineering [5]; just as jodi’s websites presuppose a viable web browser, so too does _ knowscape presuppose existing websites. Yet unlike systems design, which has long ago gained some currency among artists and critics/theorists, meta-systems design has been—until recently—largely taken for granted.


2.0 Art Production Meta-systems

Over the last decade or two, a number of programming languages have been
designed to equip digital artists with the necessary means to develop their own systems of
expression. Where as digital artists would previously either require the assistance of an
engineer or be forced to become one in order to realize his/her vision, one can now do so
with relative ease (provided a few months time and an internet connection). This section
will cover a few of the many widely use software and hardware meta-systems that have
greatly expanded the possibilities of art production, namely: text based design
programming languages such as Actionscript, Processing and sister languages; and
graphical programming languages such as Pure Data (Pd) and Max/MSP/Jitter.

Actionscript is the scripting language native to Adobe’s design platform
Flash©®™. Flash’s graphical toolset is the same as most every other commercial design
product; virtual tools replace the functionality of the traditional, physical art production
toolset—pencils, paint, erasers and so on. Actionscript extends this toolset by allowing
the designer to incorporate object-oriented programming structures and the ability to
interface with various external sources such as the internet, serial devices, sensors, etc.
As with all programming languages, the development environment in which one creates
systems invariably shapes the systems produced. The Flash/Actionscript development
environment adopts the metaphor of the stage from its predecessor Director, and is laid
out more or less like a typical drawing/animation program, presenting scripting as merely
an ancillary functionality. Thus the resulting Flash applications often share a similar
aesthetic.

The Processing environment on the other hand makes the code the primary focus,
perhaps making it slightly less approachable for the layperson. Just as Flash’s toolset
largely accounts for the widely recognizable aesthetic of the programs made within it,
Processing’s notable omission of the standard design toolset is largely responsible for its
programs’ general aesthetic. When designing Processing, Casey Reas and Ben Fry opted
for a stripped-down environment, plainly influenced by John Maeda’s simplistic
approach as seen in the language Design by Numbers. While pencils, paintbrushes and
erasers can be made within processing, they are not assumed. Systems designed with
Processing ultimately exist as Java applets called ‘sketches,’ and thus are shaped by the
constraints inherent to java applets. These ‘sketches’ are ecologically similar to Flash
applications—both exist in a box shaped ‘window’ on a screen and can be made
interactive, run online from a browser and access and activate external devices. Yet the
systems made with the respective programs often look and feel quite different.

Another type of language that has expanded the possibilities of digital art
production is the graphical or visual programming language. These languages allow
programmers to utilize many of the same programming structures, such as loops,
conditional statements, mathematical expressions etc., as text-based systems, but in a way
that many visually oriented designers find more intuitive. In programs like
Max/MSP/Jitter and Pd, the system designer arranges test boxes and icons, called objects,
in different configurations. Depending on the objects used and the way in which they’re
connected, different ranges of potential products can be produced. These programs and
ones like them are typically used for developing systems for sound synthesis and
processing, perhaps because the configuration of the visual elements resembles closely
the configuration of their physical equivalents. However, these programs have
increasingly been used for interactive installations, and real-time video processing.
Because the development environment for Max/MSP/Jitter and Pd is visually based, the
visual design of the code itself often becomes a part of the system, which begins to cross
the divide between code and artistic output.


3.0 Esoteric languages + Systems

Programming languages, both higher-level languages like the ones previously
discussed and lower-level languages such as those use to create them, serve as an
intermediary between a relatively human-like language and machine commands. Perhaps
with the exception of the kinds of systems discussed in the following paragraphs, they are
designed to write algorithms that will execute as efficiently and effectively as possible.
There is a community of programmers, however, that refuses to adhere to this paradigm;
these are the authors of what are colloquially known as esoteric programming languages.
Esoteric programming languages challenge the expectations and assumptions of what a
programming language should be, and typically sacrifice efficiency and ease of use in
doing so. While there are hundreds of these kinds of languages, I will only discuss a few
languages relevant to this essay.

Perhaps the most immediately relevant esoteric programming language to the
subject of code-art is David Morgan-Mar’s Piet. Piet is a general-purpose, image based
programming language, which was designed with the intention of having Piet programs
resemble works of modern art [6]. The Piet interpreter (the system responsible for
executing the code) begins at the top left of the program and cycles through an image file,
performing different commands based on the transitions between 20 distinct colors.[7]
















Composition with Red, Yellow and Blue Piet Mondrian (left), Piet Program which prints “piet”, Thomas Schoch (right)

Perhaps the sonic equivalent to the Piet, is Fugue developed by Nikita
Ayzikovsky. Where as the Piet compiler cycles through an image, the Fugue compiler
generates code from a midi file. In the case of Fugue, it is the harmonic relationship
between notes that determines the command to be carried out, thus challenging both the
function of musical composition and code [8].

























“hello world”

Nikita Ayzikovsky

In most cases—with the exception of languages such as Brainfuck or Piet, which
have gained some notoriety—because the meta-system is so semantically obtuse, few
systems are ever produced with these esoteric languages. Nevertheless, the way in which
these languages subvert the expectations of their governing systems, shifting focus from
output to input, represents a radical paradigm shift in both computer code and art.

All of the systems discussed thus far all require a viable operating system to run.
It is the meta-system which ultimately constrains all of the afore-mentioned
systems/products, and is perhaps the system most taken for granted. These kinds of
systems have remained relatively untouched by the artists, partly because of the immense
intellectual overhead required to develop them, and perhaps partly because the existing
systems are designed the way they are with good reason. David Morgan-Mar, however, is
not satisfied. His experimental operating system, Petrovich, is a complete computer
operating system and program development environment named after Ivan Petrovich
Pavlov, who first demonstrated conditional responses to stimuli in dogs [9]. Its design
principles are (as listed in his website):

* Provide an operating system and computer language that can learn and improve
its performance in a natural manner.
* Adapt to user feedback in an intelligent manner.

Mar’s basic idea was to teach the machine through a system of reward and punishment.
The basic commands of the system are:

* do something
Causes Petrovich to do something.
* do something with
Causes Petrovich to do something using the named file.
* reward
Rewards Petrovich.
* punish
Punishes Petrovich.


While this step in meta-systems design is perhaps the thorniest, I believe it is also
among the most crucial. If it is the task of the new media artist to critically engage in and
design new media systems with an ecological scope, then he/she must engage in these
practices.


4.0 Conclusion

If the system is to be the medium which provides new media art a platform of art
critical examination—as art historian Francis Halsall argues in his essay, Systems of Art
[10]—new media artists must extend the scope of their work to include the various metasystems
which shape their work. As I have outlined in the previous paragraphs, this
process must involve either multiple parties fulfilling the various roles in both productoriented
system design and in environment-oriented meta-system design, or a single
system designer building from the ground up—as David Morgan-Mar has—if new media
artists are to utilize the full pallet of their medium.



1. Palmer, Kent D. "Meta-systems engineering." Kent d. Palmer. 23 Apr. 2000.
.
2. Palmer, Kent D. "Meta-systems engineering." Kent d. Palmer. 23 Apr. 2000.
.
3. Lev Manovich, The Language of New Media (Cambridge, MA: MIT Press, 2001)
4. ecology. Dictionary.com. Dictionary.com Unabridged (v 1.1). Random House, Inc.
http://dictionary.reference.com/browse/ecology (accessed: December 15, 2008).
5. Palmer, Kent D. "Meta-systems engineering." Kent d. Palmer. 23 Apr. 2000.
.
6. Mar, David M. "DM's Esoteric Programming Languages - Piet." DM's Home Page.
July 2008. 15 Dec. 2008 .
7. Mar, David M. "DM's Esoteric Programming Languages - Piet." DM's Home Page.
July 2008. 15 Dec. 2008 .
8. "Fugue - EsoLang." EsoLang. June 2006. 15 Dec. 2008
.
9. Mar, David M. "DM's Esoteric Programming Languages - Petrovich." DM's
HomePage. July 2008. 15 Dec. 2008
.
10. Halsall, Francis. "Systems Aesthetics and the System as Medium." Systems Art ::
Main Page. 2007. 15 Dec. 2008 .


No comments: