Transcript
Page 1: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

「Processing:メディアアートのためのプログラミング」

Casey Reas + Ben Fry

Processing は一言で言うなら、メディアアートのコミュニティのために作られた

「プログラミング言語と環境」と説明することができます。メディアアートとい

う文脈の中で、コンピュータのプログラミングの基礎を教え、また“ソフトウェア・スケッチブック”を生み出すために創られました。学生、アーティスト、デザイナー、研究者、建築家たちが、学習やプロトタイプ、そして様々な実制作のた

めに使用することができます。

こ の エ ッ セ ー で は 、 開 発 の 下 敷 き と な っ て い る ア イ デ ア と 、

http://processing.org で公開されているソフトウェアとの関係、またソフトウェ

ア・リテラシーの考えや、世界の教育機関で進められている Processing を使った

カリキュラム、さらにオンライン・コミュニティとの関係について説明していき

ます。

Processing…(プロセッシング)スーパーやガソリンスタンドで ATM へデビットカードを通した時や、デジタルカ

メラで写真を撮った後など、1日の中で何度もこのことに気づかされます。「情

報を処理する機械は、情報を1つの場所から他の場所へと送り出す 21 世紀のデ

ジタル・ハートビートのようだ」と。ソフトウェアとは、「大気と私たちの惑星

の表面を移動するこのビットの流れをコントロールするメディアだ」と私たちは

捉えています。そしてソフトウェアが文化にもたらす影響力をきちんと理解でき

れば、ソフトウェアというものを現代社会に貢献できる基盤として考えることが

できるのです。

私たち Processing 開発者がこのソフトウェア言語と環境についてここで述べるこ

とで、より具体的にソフトウェアとビジュアルアートの関係性にスポットをあて

ることができるのではと期待しています。まずはソフトウェアの簡単な説明から

始めてみます。

Processing はソフトウェアとしてのコンセプトを「造形」、「モーション」、そ

して「インタラクション」の原理に関連づけ、プログラミング言語や開発環境、

Page 2: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

教育的方法論がすべて統一されているシステムへと一体化させることに成功しま

した。

「Processing 言語」はテキスト形式のプログラミング言語です。特にイメージの

生成や修飾をするためにデザインされています。これらのプログラムは、最小限

のテキストエディターと、隣りあう「再生」「停止」「開く」「保存」、プログ

ラムを*エキスポートするためのボタンによって書かれています。下記は2本の

線をスクリーンに描くプログラミングの一例です。

size(200, 200);

line(40, 180, 200, 70);

line(0, 60, 200, 160);

上の数値は座標を特定しています。コードの最初の1行は、横 200 ピクセル、縦

200 ピクセルのウィンドウを作ることを、2行目と3行目はウィンドウ内の特定

した場所に線を描くことを命令しています。さらに少々複雑なプログラムの構造

を作り、コンピュータの外部の情報に動きと反応を与えることができるのです。

下記のプログラムの例では同じような2本の線を描いていますが、コンピュータ

のマウスによってコントロールすることができるものです。

Page 3: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

void setup() {

size(200, 200);

}

void draw () {

background(204);

line(40, 180, 200, mouseY);

line(0, mouseY, 200, 160);

}

このように初心者でも数分の説明の後、独自のプログラムを書くことが可能です。

そしてさらに精通したユーザーは、新しいことに挑戦する準備ができたら、ます

ます複雑な機能のライブラリを使うことができます。ベクター・ラスター・ドロ

ーイング、イメージ・プロセッシング、カラーモデリング、イベント、ネットワ

ーク・コミュニケーション、オブジェクト指向言語のような、たくさんのコンピ

ュータグラフィックスとインタラクションのテクニックの広がりが、Processing

のコミュニティの中で生み出されています。また簡単にサウンドを作り、様々な

フォーマットのデータを送受信でき、他の 2D や 3D のファイルフォーマットをエ

Page 4: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

キスポートするように拡張することも可能になっています。

我々は元々、自身の研究とアートプロジェクトのためのよりよいツールを開発し

ようとこの Processing を手掛けました。また同時に、デザインやアートスクール

においてソフトウェアとインタラクションのコンセプトを教えるための環境にも

なり得ると思っていました。我々に共通する個人的な経験が、このプロジェクト

のゴールを明確にできたと感じています。我々は同じようにコンピュータを子供

の頃から使用し、学部でビジュアルデザインを学び学位を取得しました。またい

ずれも専門的にソフトウェア開発に携わった経験を持っています。(Fry は

Netscape で、Reas は Microsoft、New York Times、J.P. Morgan でインターフ

ェースデザインのコンサルタントとして従事)。しかし最も重要なことは、共に

MIT メディアラボで前田ジョン教授のもとで研究したことです。その中で、この

プロジェクトのコンセプトを思いつきました。彼の Aesthetics and

Computation group(ACG)の文化と、「Design by Numbers」プロジェクトの

経験は、Processing に絶大な影響を与えています。この共有する経歴は、我々の

デザインやメディアアート、そしてテクノロジーに対する基本的な姿勢となって

いるのです。注*エキスポート:特定のアプリケーションソフトのデータを、他のアプリケーションソフトでも

取り扱えるような形式に変換してファイルなどに出力すること。

ソフトウェア

「ソフトウェア」というメディアへの我々の信念が、Processing の概念的な基盤

を一体化させました。ソフトウェアと環境のデザイン決定要素として、これらの

信念があるのです。

ソフトウェアはユニークなクオリティを持ったユニークなメディアである。

コンセプトや感情はあるメディアでは表現できないが、他のメディアでは表現で

きるかもしれない。ソフトウェアは独自のテクノロジーと方法を必要とし、映画

や、写真、絵画のようなすでにあるメディアとの関係で評価されるべきではない。

-我々はそう考えています。歴史的にみてみると、油絵、カメラ、映画のような

Page 5: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

技術は、アーティスティックな訓練と方法で変化することがわかります。一方、

我々は新しいテクノロジーを「アートを改善するものである」とは主張せずに、

異なる形のコミュニケーションと表現を可能にするものだと考えています。ソフ

トウェアは芸術的なメディアの中でもユニークで、ダイナミックな形を作り出し

たり、ジェスチャーの処理や、動きの生成をしたり、自然のシステムのシミュレ

ートや、音やイメージ、さらにはテキストのような様々なメディアを統合するこ

とができるものです。

各々のプログラミング言語は、異なる素材である。

あらゆるメディアがそうであるように、異なる素材には、それにふさわしい異な

る役割があります。椅子をデザインする時、デザイナーは、鉄を使うか木を使う

か、もしくは他の素材を使うのかを決断しますね。この選択は、デザイナーの個

人的なアイデアとセンス、そして椅子が使われるという文脈に基づいているわけ

です。このシナリオを、ソフトウェアを書くことに置き換えて考えることができ

るのではないでしょうか。

アブストラクトなアニメーションの作家でプログラマーの Larry Cuba は、自身の

体験を次のように述べています。「私のそれぞれのフィルムは、異なるプログラ

ミング言語を使って、異なるシステムで書かれている。プログラミング言語は、

アイデアを表現する力を与えるが、一方で表現が制限されるアイデアもある。」

(Cuba p. 111)

ソフトウェアのゴールに応じて、たくさんの使用可能な言語の中から優れた言語

を適切に使用することができます。Processing はプログラミング言語に共通する

シンタックス(構文)を使用することにより、簡単に、他の様々なプログラミン

グ言語で得られる知識を広げさせてくれます。

スケッチはアイデアを作り上げるために重要である。

アイデアのスケッチは、最終的なメディアと同じようなメディアで行われるべき

です。つまり、電子的な素材を使う場合、電子的なメディアを使ってスケッチを

する必要があると思います。例えば画家は、最終的な作品に取りかかる前に、精

巧なドローイングとスケッチを構成します。建築家は伝統的に、空間における作

Page 6: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

品の形態を理解するため、はじめに厚紙や木材で作業をしますね。音楽家は複雑

な曲を作曲する前にピアノで作業をする。この方法論はあらゆる芸術において普

遍のものと言えるでしょう。一つ一つのプログラミング言語がそれぞれ特徴ある

素材であるように、他の言語よりもスケッチすることに特化した言語が存在する、

それが Processing です。ソフトウェアに取り組むアーティストは、最終的なコー

ドを実行する前に、アイデアを一貫して作業できる環境を持つべきなのではない

でしょうか。Processing は、短期間で様々なアイデアを簡単に探求し洗練するこ

とができる、“ソフトウェア・スケッチブック”として機能するために作られています。

プログラミングはエンジニアのためのものではない。

多くの人々は、プログラミングは数学や技術的な専門分野が得意な人のためのも

のだと考えています。プログラミングがこのような状況に留まっている一つの理

由は、たいてい似たような考えの人々がプログラミング言語を作ることにあるの

ではないかと思います。しかし、アーティストやデザイナーのように視覚的で空

間的な意識を持った人々によって、異なる種類のコンピュータ言語を作ることも

実はできるのです。Processing のようなオルタナティブな言語は、異なる考え方

をする人々のためにプログラミングの空間を広げてくれるでしょう。初期のオル

タナティブな言語は、1960 年代後半に Seymour Papert によって、子供のため

の言語概念としてデザインされた LOGOでした(Papert note)。LOGOを通じて、

子供たちはロボットの亀や、スクリーン上のイメージなど、様々なメディアをプ

ログラムすることができました。より新しいところでは、1980 年代に Miller

Puckette によって開発された、Max プログラミング環境があります。Max はテキ

ストの行ではなく、プログラムをフローチャートのようにボックスと線をつなぎ

合わせる、流れとロジックを表現するユニークなプログラムでした。そして音と

映像を創るベースとして多くのアーティストからの絶大な支持を得ています。グ

ラフィカルユーザーインターフェース(GUI)がコンピュータを使うことを一般的に

したように、オルタナティブなコンピュータプログラミング環境により、新しい

世代のアーティストやデザイナーが、直接ソフトウェアに取り組むことができる

ようになっていくでしょう。我々は Processing が、より多くのアーティストやデ

ザイナーがソフトウェアにアプローチすることの手助けとなり、メディアアート

Page 7: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

のために作られた他のプログラミング環境への興味を刺激してくれることを願っ

ています。

リテラシー(識字能力)。

Processing は現在のプログラミング文化からの急激な出発を提示しているわけで

はありません。プログラミングには興味はあるが、コンピュータサイエンス学科

で行われているプログラミングの類いに恐れをなしたり、興味を抱けなかった

人々がアクセスできるように再調整されています。コンピュータは、高速計算処

理をするツールとしての起源を持ちますが、徐々に表現のためのメディアとして

進化しています。Processing は、このような観点からコンピュータを捉えている

のです。

 1974年初頭、Ted Nelson は「Computer Lib / Dream Machine」において、

マイクロコンピュータの時代について著わしました。「コンピュータについて知

れば知るほど、想像力は専門性の合間を流れ、するりと結合し合い、それによっ

て何ができるのかという状態がはっきりする」(Nelson p. 306) 彼はこの著書で、

メディアツールとしてのコンピュータの潜在的な未来と、ハイパー・テキスト(イ

ンターネットの基礎を定義したリンクされたテキスト)やハイパーグラム(インタ

ラクティブドローイング)の明確なアウトラインを述べています。1970 年半ば、

XEROX PARC におけるその他の開発が、今日のパーソナルコンピュータのプロト

タイプを導き出しました。Dynabook ビジョンはハードウェアをも取り込みまし

た。例えば、子供たちが物語や絵を描くためのプログラムや、音楽家が曲を書く

ことができるプログラムがプログラミング言語によって書かれたわけです。この

観点においては、コンピューターユーザーとプログラマーの間には明白な違いは

ありませんでした。

 このような楽観的な著作から 30 年が経ち、我々は別の世界を目の当たりにす

ることになります。パーソナルコンピュータとインターネットの誕生と共に、技

術や文化の革命が起こった。しかしながら人々は、自らのツールを作ることはせ

ずに、専門的なプログラマーによって作られたソフトウェアツールを過剰なほど

に使っているわけです。この状況は明確に前田ジョンの著書「Creative Code」に

よって説明されています。「コンピュータでツールを使うには、ポイントとクリ

Page 8: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

ックさえできればよい。ツールを創るためには、コンピュータ言語の不可解な芸

術を理解しなければならない」 この状況において問題なのは、ソフトウェアツー

ルによって課せられた制約です。簡単に使えるようにした結果、コンピュータの

潜在力を覆い隠してしまった。コンピュータを最大限に芸術的な素材として探求

するためには、“不可解な芸術やコンピュータ言語”を広く理解できるような原理にする必要があると思います。

 Processing はビジュアルアートやデザインの分野で、人々が自分自身のツール

を創る方法を学ぶことを可能にし、また真の意味で表現者たちに有益となるよう

懸命に努めています。そしてそれこそがソフトウェアのリテラシーになり得るの

だと考えています。Xerox PARC と Apple の先駆者Alan Kay は、ソフトウェアに

おけるリテラシーについてこのように説明しています。

「メディアを“読む”という能力は、他の人によって創られた素材やツールへアクセスすることを意味する。メディアを”書く”という能力は、他の人へ素材やツールを作り出すことを意味する。リテラシーを持つために、これらの2つを兼ね備

えていなければならない。印刷文字により創られる世界は、明解で説得力のある

レトリックである。コンピュータで書くことにより生成するツールとは、シミュ

レートし決定するプロセスのことをいう(Kay p. 191)」

 このようなシミュレートし決定するプロセスを作り出すには、今日存在してい

るプログラミング言語や、将来的に発明される人工的な言語を学習する必要があ

ります。

 3年間、開発を続けている言語、Processing は、ほとんどの人工的な言語の基

礎を教えることや、さらにビジュアルアートに有効なこれらの言語の要素に焦点

をあてています。Processing は瞬時に視覚的な結果が得られるため、初心者には

最高の環境なのです。その複雑さは調整でき、またオンライン・コミュニティの

サポートがあり、そこでは変数、コントロールストラクチャ、ファンクション、

ピクセルオリエンテーション、手続き型やオブジェクト指向理論、シグナルプロ

セッシング、2D/3D グラフィックス、ベクターとラスターグラフィックス、トラ

ンスフォーメーションなどを含めた広範囲にわたる基礎を教えています。

Processing は適度なスキルを持った人々に、簡潔なプログラミングの構造や、分

かりやすいシンタックス、明確な例や、追加できるライブラリーを通じて、さら

にリテラシーをつけることを手助けすることが可能です。

Page 9: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

オープン

Linux のような率先した開発を通じて、*オープンソースのソフトウェアの動きが

我々の文化や経済に大きなインパクトを与えてきました。その一方で、メディア

アートにおけるソフトウェアを取りまく文化にはごくわずかな影響しかもたらさ

れていません。小規模なプロジェクトもぱらぱらとありますが、Adobe や

Macromedia のような会社がソフトウェアのプロダクションを制覇しているため、

アートの領域で使われるソフトウェアツールの未来をコントロールしてしまって

いる。そしてグループとして、アーティストやデザイナーたちには、独立したソ

フトウェア事業をサポートするための技術的なスキルが乏しいという状況があり

ます。

Processing はオープンソース・ソフトウェアの精神をアートの分野にあてはめる

ことを目指してきました。我々は商業的なソフトウェアに代わるものを提供し、

我々個人が主導権を保持することへの興味を刺激するために、アート・コミュニ

ティーのメンバーの意識とスキルを向上させたいと思っています。我々のゴール

は、Processing を簡単に拡張し適応できるようにし、できるだけ多くの人々が使

用できるようにすることにあります。

 Processing はおそらくオープンソース・ソフトウェアとのつながりがなければ

存在することができなかったでしょう。テキストエディターのような重要な要素

においてはすでにあるオープンソースプロジェクトを参考に使い、また構文解析

プログラムのおかげで大勢のプログラマー・チームも必要とせずに、プロジェク

トを比較的短い時間で開発することができました。個人は自由にオープンソー

ス・プロジェクトに参加でき、ソフトウェアは予算なしで進化していく。このよ

うな要素は、ソフトウェアをコストを抑えて流通させ、高価で商業的なソフトウ

ェアを手にすることができなかった人々にも提供することを可能にしました。

Processing のソースコードを公開し、人々はそこから構造を学ぶことができ、ま

たそれを自分自身のコードに反映させることで学習することができるのです。

 我々は参加者に Processing で書いた彼ら自身のプログラムを公開することを勧

めています。Web を急速に広めることを促したウェブブラウザーの”View source(ソースを表示)”機能と同じように、コミュニティのメンバーは他の人々のProcessing コードにアクセスしてお互いに学習することができ、結果的にコミュ

Page 10: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

ニティのスキルが全体的に向上していくことになります。

Processing のオンライン・コミュニティ上の「Example (例)」では、ライブビデ

オ映像の物体をカメラトラッキングするソフトウェアを書く方法も含まれるため、

人々は、マウスやキーボードによるものではなく、ソフトウェアに直接的な身体

によるインタラクションを生み出すことができます。Robert Hodgin によって書

かれたオリジナルコードは十分に機能しましたが、フレーム内の明るい物体しか

トラッキングできないという制限がありました。

さらに経験のあるプログラマー、Karsten Schmidt (a.k.a. Toxi)は、Robert がウ

ェブにポストしたコードをベースとして使って、同時に複数の色の物体をトラッ

クできるより普遍的なコードを書き上げました。この改善されたコードをインフ

ラ・ストラクチャーとして使い、UCLA の大学院生の Laura Hernandez Andrade

は、人々が身につけている色についての感情的なテキストを、投影した映像に重

Page 11: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

ね合わせるインタラクティブインスタレーション「Talking Colors」を作ることが

できました。

このようにコードを共有し改善することで、人々は学習することや、複雑なプロ

ジェクトを支援なしで作ることが可能になっています。注*オープンソース:ソフトフェアの設計図にあたるソースコードを、インターネットなどを通じ

て無償で公開し、誰でもそのソフトフェアの改良や再配布が行えるようにすること。

教育

前述したように、Processing はソフトウェアのコンセプトをメディアアートの文

脈で紹介することを可能にし、同時にメディアアートのコンセプトを技術畑の

人々へと広めました。Processing はこの先の彼らの将来的な学習のための基礎と

なるでしょう。Processing を通じて学習していく中で、ウェブオーサリングやネ

Page 12: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

ットワーク、コミュニケーション、マイクロコントローラ、コンピュータグラフ

ィックスなどへの異なる文脈に適した他のプログラミング言語を学ぶことができ

るようになったわけです。

 教育機関では、コンピュータサイエンス(その他多くの類似コース)のための多

くのカリキュラムが設けられていますが、逆に、コンピュータの核心的なコンセ

プトによってメディアアートの知識を向上させようとするクラスは少ないのが現

状です。前田ジョン によって始められたクラスをモデルとして使い、Processing

を使ったハイブリッドな様々なコースがいま世界の教育機関の中に創られていま

す。Processing は1日から数週間という短いワークショップに適していることが

これまでの経験から分かっています。環境が最小限であるため、学生はほんの数

分の説明の後、プログラミングを始めることができるわけです。また、

Processing のシンタックスは、他の一般的な言語と同じように既に多くの人々に

知られているため、経験のある学生は即座に複雑なシンタックスを書き始めるこ

とができます。

 2003 年の夏、ソウルの Hong-ik 大学での 1 週間のワークショップは、デザイ

ンとコンピュータサイエンスを専攻した混合した学生たちで行われ、お互いのグ

ループは統合を目指し作業を行いました。視覚的に洗練された作品がつくり出さ

れる一方で、技術的に優れたものも生まれました。それらのすべてが同じ基準で

評価されていきました。Lee Soo-jeong という学生は、プログラミングの経験が

全くなく、素材が難しいと感じながらも基本的な原理を学習し、それを彼女の考

えに適応させました。

Page 13: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

講評会の時、彼女の力強い視覚的なスキルは、技術的なバックグラウンドを持っ

た他の学生への模範となったのです。Kim Tai-kyung というコンピュータサイエ

ンス専攻の学生は、瞬時に Processing ソフトウェアの使い方を理解しましたが、

他の学生の視覚的な表現に感化され、彼の美的感覚が向上しました。

Page 14: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

動的なタイポグラフィによる彼の作品は、技術的なスキルと彼の中に新しく現れ

たデザイン感覚を統合させた良い例と言えるでしょう。

 Processing はいま、期間の長い学部での初級クラスや、専門的な大学院レベル

のコースを教えるために使われています。アメリカ合衆国だけでも、小さなアー

トスクールや、私立大学、国公立の大学で使われています。例えば UCLA では、

学部2年生のデジタルメディアの基礎クラスを教えるために、そして大学院生に

は専門的なプラットフォームとして紹介されています。学部のインタラクティビ

ティを学ぶクラスでは、学生はインタラクションに関するトピックを読み、ディ

スカッションをし、Processing 言語を使ってたくさんのインタラクティブシステ

ムの例を作っています。毎週、キネティック・アートやビデオゲームのファンタ

ジーの役割というような新しいトピックが紹介され、学生たちは新しいプログラ

ミングのスキルを学び、トピックに準じた作品例を生み出しています。彼らのプ

ロジェクトの1つに、Sherry Turkle の “Video Games and Computer HoldingPower(力を備えたビデオゲームとコンピュータ)”を読み、逃亡や移動に対する

Page 15: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

個人的な欲望を探求するゲームもしくはイベントを書くという課題がありました。

そこで学生の一人である Leon Hong は、プレーヤーが水の上を浮遊して離れた島

へと動くエレガントなフライング・シミュレーションを創りました。

Muskan Srivastava は、10秒でテーブルの上の全部のデザートを食べつくすこと

を目標にしたイーティングゲームを創作。

Page 16: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

このことからも、基礎的なプログラミングのテクニックを教えることは、同時に

新しいメディアの初歩的な理念を紹介し、学生は直接的に自らの考えを探求し、

インタラクティビティとデジタルメディアについての深い理解力と洞察力を発展

させることができることが分かりました。

 UCLA での大学院レベルの Interactive Environments クラスでは、Processing

がコンピュータビジョンの実験のためのプラットフォームとして使われました。

既に存在するサンプルコードを使い、各学生は、ビデオカメラからの映像を通じ

て身体をインプットとするソフトウェアを1週間で開発していくのです。そこで

Zai Chang は参加者の身体が密集して連続した色のついた粒子として投影される、

White Noise という挑発的なインスタレーションを開発しました。各々の人の影

が異なる色で映し出され、重なり合うと粒子は交換し合う。つまり、物体は入れ

替わり、個々の物体が他へと伝播するわけです。

カメラから情報を読み込むことは Processing 環境では極端に単純な行為ですが、

似たようなプロジェクトへと導くために以前なら数週間のプログラミング指導を

必要としたようなクラスでも、瞬間的で直接的な探求心を育成させることができ

たようです。

ネットワーク

Processing は、ウェブベースのコミュニティの効力を利用して、プロジェクトを

Page 17: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

予期せぬ方法で成長させることに成功しています。何千もの学生、教育者、そし

て専門家たちが5つの大陸を越えてこのソフトウェアを扱うことに関わっている

のです。プロジェクトのウェブサイトはコミュニケーションの拠点としての役目

を果たしていますが、その貢献者たちは全世界の離れた町の住人です。掲示板の

ような典型的なウェブアプリケーションが、機能、バグ、そして関連するイベン

トについてのディスカッションを常に主催しています。

 Processing プログラムは Web に簡単にエキスポートでき、ネットワーク化し

たコラボレーションや、個人が作品を共有することが可能です。多くの才能のあ

る専門家や学生たちは迅速に学習し、発表して他の人を奮起させています。

Jared Tarbell の Complexification.net や Robert Hodgin の Flight404.comのよ

うなウェブサイトは、Processing によって創られた形や動き、インタラクション

への探求を表現しています。

Tarbell は Henon Phase(エノン写像)ダイアグラムのようなアルゴリズムからイメ

ージを創り、基板のような都会的なパターンを連想させる独自のアルゴリズムを

発明しました。

Page 18: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

彼は、自身のウェブからコードを共有させることについて、「コードを公開する

ことはプログラマーとコミュニティのお互いにとって有益な習慣である。これら

のアルゴリズムを改良し拡張していってほしい」(Tarbell)と書いています。

Hodgin はソフトウェアメディアを探求するために Processing を使う独学のプロ

グラマーです。Flash 環境よりもさらに自然の形や動きをシミュレートする分野へ

より深く踏み込むことを可能にし、自分の創ったソフトウェアをインターネット

へアップロードしています。アクセス数が非常に多い彼のウェブサイトは、テキ

ストやイメージ、ムービーのドキュメンテーションだけではなく、動くソフトウ

ェアを見せることでこれらの探索をまとめています。

Page 19: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

Jared や Robert によって開発されたウェブサイトは、若いアーティストやデザイ

ナー、その他の興味ある人々にとって人気の目標となっているようです。このよ

うなマナーのもとで、彼らは作品を発表し、コミュニティの中で評価を高めてい

きました。

 Processing を使って多くのクラスで教育が行われ、ウェブ上にはその完全なカ

リキュラムが掲載されています。そこでは学生自身が課題とソースコードを紹介。

ウェブにアクセスする多くの人がそこからさらに学べるようになっています。例

えば、ニューヨーク大学 の Daniel Shiffman のクラスのウェブでは、オンライ

ン・チュートリアル(指南書)と学生作品へのリンクが作られています。

Procedural Painting コースのチュートリアルは、動くソフトウェアの例とテキス

トを複合した形で、モジュラープログラミングや、イメージ・プロセッシング、

3D グラフィックスなどの分野をカバーしています。学生はクラスのために創られ

たソフトウェアとソースコードを載せたウェブページを維持し、このようなペー

ジは教員が学生の成果を簡単に閲覧する方法を提供でき、さらにクラスの他のメ

ンバーがアクセスできるようになっています。

 Processing のウェブサイトは、人々がプロジェクトをディスカッションし、ア

ドバイスを共有することができる場所であるとも言えます。このウェブサイトの

オンライン掲示板である Discourse(談話)セクションでは、2000 人以上のメンバ

Page 20: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

ーが小集団を作りお互いの作品にコメントし合い、技術的な質問に対して助け合

っています。例えば最近では、バネをシミュレートするコードを書くことに焦点

をあてた問題が取り上げられました。2、3 日のやり取りの間、オイラーのバネの

実装とルンゲ・クッタ法に関する詳細なディスカッションが展開されました。こ

れは難解な話し合いのようですが、ある異なる 2 つの方法から 1 つを選ぶという

ことがプロジェクトをうまく動かすのか、もしくは失敗に終わらせるのかを導き

かねないわけです。このような多くのスレッドが、詳細な分野に興味がある学生

たちのための簡潔なインターネット・リソースとなるのです。

 現在、インターネットのリファレンスは、中国語(繁体、簡体)、韓国語、日本

語、インドネシア語、フランス語、スペイン語、イタリア語、トルコ語に翻訳さ

れ、2005 年の夏までにさらに他の言語の翻訳が完了する予定です。また、他国

でコミュニティを育成するために、日本語、韓国語、ヘブライ語のアフィリエイ

トサイトが紹介されています。このような活動は、英語圏以外の多くの人々に

Processing ネットワークを広げることを実現させるでしょう。

結論

 Processing のプログラミングへのアプローチは、既存のメソッドと融合されて

います。中核となる言語や追加されるライブラリは、C 言語と同一の要素を持っ

た Java を使用。この遺産により、30 年以上の歴史をもつ洗練されたプログラミ

ング言語を使うことができ、既にソフトウェアを書くことに親しんでいる多くの

人々へ Processing を理解されやすいものとしました。

 Processing は、あくまでもメディアアートとの関係性の中で捉えることに重き

を置きながら意識的に開発されてきた点で、特異な存在であると言えます。ドロ

ーイングやアニメーション、そして環境に反応するソフトウェアを簡単に書くこ

とができ、また簡単に拡張でき、さらにオーディオやビデオ、電子工学などのメ

ディアへ統合することができる。修正されたバージョンの Processing がコミュニ

ティのメンバーによって開発途中にあり、携帯電話でプログラムを走らせること

を可能にし、マイクロコントローラをプログラムすることもできます。

 このソフトウェアを使う人々や学校のネットワークは広がり続け、中核となる

洗練されたソフトウェアのリリースは発展過程にあります。最初のアイデアから

3年が経ち、その間に、プレゼンテーション、ワークショップ、クラス、ディス

Page 21: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

カッションが有機的に世界中で展開されてきました。我々はソフトウェアを改善

し、その成長を促進し続けていくつもりです。そしていつの日か、不透明なプロ

グラミングの慣習が、さらにダイナミックなメディアのための基礎としてその潜

在性を明らかにすることを希望しています。

Casey Reas:University of California Los Angeles, Design ¦ Media Arts

[email protected]

Ben Fry:Broad Institute

[email protected]" [email protected]

このエッセイの英文は http://…………..に掲載されていますので、そちらをご参照ください。

参考文献

Nelson, Theodore. “Computer Lib / Dream Machines.” The New Media Reader,edited by Noah Wardrip-Fruin and Nick Montfort. MIT Press, 2003

Cuba, Larry. “Calculated Movements.” Published in Prix Ars ElectronicaEdition ’87: Meisterwerke der Computerkunst. H.S. Sauer. 1987Kay, Alan. “User Interface: A Personal View.” The Art of Human-ComputerInterface Design, edited by Brenda Laurel. Addison-Wesley, 1989

Maeda, John. Creative Code. Thames & Hudson, 2004

Tarbell, Jared. Complexification.net. 2004

http://www.complexification.net/medium.html

"http://processing.org/"http://processing.org

"http://acg.media.mit.edu/"http://acg.media.mit.edu

"http://classes.dma.ucla.edu/Fall04/28

"http://classes.dma.ucla.edu/Fall04/28

"http://www.complexification.net/

Page 22: 「Processing:メディアアートのためのプログラミン …€ŒProcessing:メディアアートのためのプログラミング」 Casey Reas + Ben Fry Processingは一言で言うなら、メディアアートのコミュニティのために作られた

"http://www.complexification.net/

"http://classes.dma.ucla.edu/Fall04/28"

"http://www.flight404.com/version7/

"http://www.flight404.com/version7/

"http://classes.dma.ucla.edu/Fall04/28"

http://stage.itp.tsoa.nyu.edu/̃dts204/ppaint/


Recommended