Thursday, January 25, 2007

sketching with processing

Today I am presenting the programming language processing.

Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.

"One wants, of course, to try out all the new media, not only because they allow for new possibilities within an art form, but also because they allow the traditional boundaries among those art forms to be blurred." Jacques Ellul, Remarks on Technology and Art

Technology is mostly used to help to fulfill well defined tasks and
ideas. However, artist often analyze and disrupt this pure utilitarian
approach to technology. Technology itself becomes the focus of
investigation, it becomes a material just like wood.
One of those technologies is software and its practice is coding.
It is not a new practice for artist to work with code. Until recently
though highly specialized knowledge was required to be able to
navigate and express one's ideas in the world of code. Coding
environments/ softwares were just too difficult to quickly learn and
use. That is one of the reason why artists and engineers started to
collaborated.

All that starts to change now.
As many artist and designers as never before are interested in coding
their own software. New software environments allow for an easy entry
in to the world of coding, entire conferences are revolving around
this subject and in communities people share their creations.

Most of us heard or used software like Flash or Director before. These
are easy to use environments to create interactive content but
problematic because of its slow performance and bulky relationship
between the artistic intent and the act of coding. Not to forget that
both are commercial products.
Java and C++ have a better performance but are difficult to learn.

Processing joins the simple handling of Flash and Director with the
clear coding structure and better performance of Java and C++.
Processing is written in Java and is very close to Java's syntax/
language. This makes it easier to switch to Java later on.

Processing can be downloaded here: http://processing.org/download
This open source projects is developed by Ben Fry and Casey Reas at
the MIT in Boston and at the Interactive Design Institute Ivrea in
Italy.


I want to talk a bit about the process of coding and the process of
developing works with code.

To work with code means to work modular. While developing ideas and
while realizing complete works one makes sketches. They help to
quickly visualize ideas and understand complex problems. Sketches are
a playground for the mind.

Successful sketches usually become modules, which are small coding
units. Due to its structure modules can be connected with other
modules through well defined interfaces (connecting variables). Once a
module is written by you or anyone else, it can be used again and
again without needing to actually know its internal structure. (You
plug in your question and out pops the answer)

The composition of many modules creates the final program.

To code means to formalize ones thoughts. A Software can not be
written with the flexible logic of everyday thinking but needs to
uphold to the rules and grammar of the coding environment. (Similar to
the differences in human language.)
In Processing, as in most other coding environments, each step in a
sequence of actions needs to be defined through instructions. A simple
analogy is the recipe for baking a cake. Recipes clearly describe the
ingredients and also list the steps needed to make a good cake in a
fixed order.


If ... Then ... Else -> If the cake turns brown Then the cake is ready
Else wait five minutes.

Repeat Until ... -> Repeat adding flower Until right amount is reached.
Go From ... To ... -> sequence of repetitions

Following are simple examples and artist's works.

http://processing.org/learning/examples/functions.html
(discs)
http://processing.org/learning/examples/distance2d.html
(field of squares)
http://processing.org/learning/examples/continuouslines.html
(line drawing)
http://processing.org/learning/examples/pixelarray.html
(color change)
http://processing.org/learning/examples/limb.html
(two lines connected like limbs)
http://processing.org/learning/examples/collision.html
(pong)

structures
http://processing.org/exhibition/works/001/index_link.html
exploration into building representations for structures and
relationships inside large sets of information.

http://processing.org/exhibition/works/redux/index.html
This explores the idea of distilling a whole film down to one single image.

reactive
http://processing.org/exhibition/works/inequality/index_link.html
In 2001 US CEOs were paid 411 times more than the average worker...

http://portfolio.barbariangroup.com/nextfest/index.html
45 feet of grass swaying in a virtual breeze. Visitors to the
installation can make the grass sway just by walking in front of it.
Additionally, visitors can input text from either of the two kiosks
positioned in front of the screen.

physical
http://www.random-international.com/pixelroller-overview/
"PixelRoller is a paint roller that paints pixels, designed as a rapid
response printing tool specifically to print digital information such
as imagery or text onto a great range of surfaces. The content is
applied in continuous strokes by the user. PixelRoller can be seen as
a handheld "printer", based around the ergonomics of a paint roller,
that lets you create the images by your own hand."

http://jklabs.net/projects/visualscratch/forwards.html
visualizing turntable scratching

http://www.k2.t.u-tokyo.ac.jp/members/alvaro/Khronos/test/test.html
a video time-warping machine with a tangible deformable screen

Wednesday, January 3, 2007

WELCOME

Welcome to the class blog. You will be posting replies and responses to the material we discuss in class here.