参加メンバーで恒例のoFサイン
2012年2月20日から2月27日にかけて、デトロイトにおいてopenFrameworksの開発者会議が開催された。筆者もこの会議に参加し、openFrameworksの今後の展望を知ることができた。コアなoF開発者達の技術や開発に対する姿勢にとても刺激を受けた一週間だった。また、会期中には「ペチャクチャ」形式によるプレゼンテーションや、地元のユーザを対象にしたワークショップが開催されるなど、盛り沢山の内容であった。ここにレポートとして報告したい。
Article by Atsushi Tadokoro
http://yoppa.org/
※openFrameworksについて
このレポートはopenFrameworksとは何かということを漠然とは理解している方に向けて書いている。もし、まだopenFrameworksとは何かということについてなじみの無い方は、以下のリンクの資料を参考にして欲しい。
- ・openFrameworksの紹介 – about (openFramewroks.jp)
- ・openFrameworksから拡がるメディアアートの世界 (gihyo.jp)
- ・openFrameworks (Wikipedia)
会議の概要
今回のopenFrameworksの開発会議は、フォード財団からのサポートを受けた関係もあり、デトロイトで開催することとなった。開発会議のメイン会場となったのはデトロイト市のダウンタウンのすぐそばにあるomniCorp Detroitというスペースだ。二階建ての建物全体が巨大なハッカースペースのようになっていて、普段から様々なイベントやワークショップが盛んに行われているようだ。会場にはArduinoや様々なデバイス、Maker botの3Dプリンターや各種工作機械、さらには謎のジャンク機材などがところ狭しと積み上げられ、いかにもハッカー達の巣窟といったムードであった。
オフィシャルな開発者達による会合が催されるのは、今回で二回目で、初回は昨年ピッツバーグのカーネギーメロン大学にあるSTUDIO for Creative Inquiryで行なわれた(昨年の会議の様子)。ここでの成果がopenFrameworks v007として結実した。今回もこうして開発者達が一同に会して集中して開発することで、openFrameworksを一気に拡充・進化させようというねらいだ。
会議には、Zach Lieberman、Theo Watson、Arturo Castroの主要メンバーを始め、全体のアドバイザー的存在であるGolan Levin、さらにはPatricio Gonzalez Vivo、Dan Wilcox、Keith Pasko、Kyle McDonald、Jason Van Cleave、Roy Macdonald、Christoph Buchner、Damian Stewart、James George、Jeff Crouse、Todd Vanderlinといった開発メンバー達が集結した。ニューヨーク、ボストン、ピッツバーグ、デトロイト、サンフランシスコ、といったアメリカ国内からはもちろん、スペイン、オーストリア、アルゼンチン、チリ、ニュージーランド、東京と、まさに世界各地を網羅するものであった。

omniCorp Detroitの様子、PCの脇にはMakerBot

オシレータやオシロスコープ? そこら中に謎のデバイスが山積

作業スペースは広い(そして寒い…)

開発作業に没頭するメンバー達

夜中になっても開発は続く、Mac率高し

スペースにはキッチンも併設されていて、ギーク達がクッキング

寝ている時間と食事以外のほとんどの時間はノートブックが膝の上に…

お互いのコードを批評しながら開発していく

さらにコーディング…
会議の目標
今回の会議の目標は、大きく分けて二つある。
チュートリアル、サンプル、ドキュメントの拡充
一つは、チュートリアル、サンプル、ドキュメントの拡充である。openFrameworksの関連資料はオフィシャルサイトであるopenFrameworks.ccにまとめてあるものの、例えばProcessingなどの類似するプロジェクトと比較すると、あまり親切とはいい難い。そこで、今回は、チュートリアル、サンプル、ドキュメントを集中的に作成していこうというのが会の主眼の一つとなった。開発者それぞれの得意分野ごとに、様々なジャンルのプログラムサンプルを大量に作成し、さらには、初心者から上級者までをカバーするチュートリアルとドキュメントの執筆が集中的に行われた。新規ユーザーがopenFrameworksのような開発環境に触れる場合、いかにサンプルプログラムやドキュメント類が充実しているかということがとても大事だ。今回の成果は今後のopenFrameworksの普及や発展にとって、とても有意義なものであった。
Kyle McDonaldによって、数々の素晴しいサンプルプログラムのスクリーンショットがFlickerのアルバムにまとめられている。openFrameworks v.0071で可能となる様々な表現や機能を感じることできるだろう。
・openFrameworks 0071 examples – a set on Flickr
今回の会議内で開発されたサンプルはバージョン0071に付属する予定だが、現在も開発者用のGitリポジトリで入手可能である。興味のある方は、下記のリポジトリをcloneして試してみて欲しい。
・openFrameworks Git (develop tree)

points as textures
Shaderによるポイント状のテクスチャの描画

math/noiseField2dExample
Perlin noiseによって生成される平面パターン

noise 1d example
ofSignedNoise()関数でロボットの関節をアニメーション

normals example
3次元メッシュの法線ベクトルを算出

instagramlike filters example
カメラ映像をInstagram風に加工
openFrameworks開発ロードマップ
もう一つの会議の大きな目的は、openFrameworksの今後の開発ロードマップの話し合いだ。openFrameworksはそもそもオリジナルな実体があるわけではなく、OpenGLを始めとした様々なライブラリー群をつなぎ合わせる「糊」のようなものである。さらに様々な技術がアドオンという方法で貪欲に吸収され続けている。こうした現状を踏まえて、今後openFrameworksのコアはどのような方向へ進化していくのかについて活発な議論が展開された。様々なトピックスが話しあわれたが、次期バージョンであるver.0071に向けての大きなトピックスとしてはプロジェクト・ジェネレーターの導入とGUIの進化が挙げられる。
プロジェクト・ジェネレーター
次期バージョンに向けて進められている開発の中で最も劇的な変化をもたらすものが、このプロジェクト・ジェネレーターだろう。
これまでopenFrameworksでは、新規にプロジェクトを作成する際には、所定のフォルダーに空のテンプレートプロジェクトをフォルダーごとコピーしてカスタマイズするという、少し面倒な作業が必要だった。最初にopenFrameworksに触れるユーザーがまず戸惑うのはこの新規プロジェクトの作成手順だったのではないだろうか。
プロジェクト・ジェネレータは、このプロジェクトフォルダを自動生成するアプリケーションで、これを使用することでワンクリックで簡単に新規プロジェクトが生成可能となった。さらに、作成したプロジェクトからopenFrameworksのコアライブラリー群へのパスの設定は相対パスとして動的に生成されるため、これまでのようにapps以下の任意のフォルダの下でなくても、自由な場所でプロジェクトを生成できるようになり、プロジェクトの管理がぐっと簡単になった。使用するアドオンもチェックボックスから選択するだけで簡単に追加可能となり、XCodeなどのIDEに不慣れなユーザーでもすぐに自身のプロジェクトを生成可能となり、初心者にとってoF導入はずっとわかり易いものになっただろう。

GUI
現在、GUI機能を付加するアドオンは、ofxControlpanel、ofxSimpleGuiToo、ofxUI、ofxGui、ofxTweakbarなど数多く存在している。多様性という意味では良いことではあるが、それぞれのプロジェクトの互換性はなく操作の一貫性もないので、全体としてばらばらな印象は否めない感があった。コア開発チームでは、現在ofxGuiをよりシンプルで協力なアドオンになるよう様々な改良を加えていて、このofxGUIがオフィシャルなGUIとしていずれはofGuiという位置付けでコアライブラリに吸収されていく予定だ。

addons/guiExample
ofxGuiのデモ
イベント/ワークショップ
デトロイトでの滞在中には、開発作業と並行して、いくつかのイベントが開催された。
ペチャクチャナイト
2月26日の夕方からは、デトロイトの現代美術館Museum of Contemporary Art Detroitにおいて、地元のアーティスト達や、現在デトロイトに滞在中のoF初期メンバーの一人Evan Rothのプレゼンと共に、Zach LierbermanによるopenFrameworksの概要のプレゼンと、それを受けてGolan Levin、James George、Damian Stewart、Patricio Gonzalez Vivo、Kyle McDonald、Jeff Crouseらによる、1枚20秒だけ表示されるスライド20枚による「ペチャクチャ」形式でのプレゼンテーションが行われた。プロジェクトの内容は多岐にわたり、openFrameworksの可能性を大いに感じさせるものであった。

Zach Lierberman

Evan Roth

James George

Damian Stewart

Patricio Gonzalez Vivo

Kyle McDonald

Jeff Crouse

Evan Roth
ワークショップ
翌日27日には、地元の教会の地下にある地域コミュニティーによって運営されるMakerスペースMt Elliott Makerspaceを会場に、Discotech(Discovering Technology) + openFrameworksと題されたワークショップが開催された。
参加者は、openFrameworksには初めて触れるものの、ある程度プログラムの経験はあるというレベル。まず初めにZach LiebermanによるopenFrameworksの概要とその理念についてざっと説明をした後、パーソンズ大学でも教鞭をとるJeff CrouseによるopenFrameworksの初心者向けのワークショップが行われた。開発メンバーでもあるJeff Crouseによるワークショップは、初心者にもイメージしやすいよう比喩や具体的なサンプルを織り交ぜながら構成されたとてもわかり易いもので、筆者にとってもとても参考になるものであった。
後半は再度Zach Liebermanにバトンタッチし、OpenCVやFaceTrackerなどより高度な技術を用いた様々なサンプルを紹介しながら、openFramworksの拡がりを感じさせるワークショップが行われた。FaceTrackerを用いたサンプルはここでも好評で、魅力的なプログラムは場所や文化を越えるパワーがあると実感させられた。
最後は開発メンバー総出演で参加者の質問に答えたり、各々がデモを個別に披露したりといった交流の場となった。全体として非常に濃密でありながら楽しいワークショップであった。

Zach LierbermanによるoF概要の解説

oFの目標とは?

Jeff CrouseによるoFイントロダクション

参加者は開発者達に質問しながら実際に試していく

女性の参加者も

最新のサンプルをデモ

解説はとてもわかりやすい

ワークショップ風景

ワークショップ風景

Todd VanderlinによるiPhoneでのofxOpenCVのデモ

ofxFaceTracerのデモ

Arturo Castroさんいい笑顔

参加者もとても楽しそう

FaceTrackerで遊んでみる

それぞれのテーブルで開発者達との交流が
まとめ
今回の会議に参加して感じたのは、openFrameworksの開発者達のエネルギーとスピード感だ。まず全員で開発方針を徹底的に議論し、そこで各分野のエキスパート達が様々な知識を提供し合う。そこで決定した方針は、随時掲示板やチャットなどで確認しながら、個別に集中してコーディングが進められていく。それぞれが、プロフェッショナルとして互いに尊重している様子が感じられ、成功するオープンソースプロジェクトはこうした開発者間でモチベーションを高める空気がとても大事なものなのだと気づかされた。
こうしたコミュニティーのムードはZach Liebermanの人柄によるところも大きいように思う。Zachだけでなく開発メンバーは、皆揃ってとても気さくで親切な方ばかりであった。
導入の部分で、世界各国から開発者が揃ったと書いたのだが、日本を含めアジア地域からの参加は、実は筆者以外はいなかった。日本の開発者で腕に自信のある方は、ぜひ次回の会議に積極的に参加して欲しいと思う。実際に会って、しばらくの間文字通り寝食を共にすることで得られるものは決して少なくないだろう。
個人的には、プログラムのコアな開発にはほとんど貢献できなかったこともあり、期間中は個人プロジェクトとして、openFrameworksのWebサイトの日本語化を集中して行っていた。現在も、openFrameworks.jpで随時翻訳しながら公開している。
翻訳を手伝ってくださる方がいたら、是非連絡を頂きたい。( tadokoro [at] gmail.com )

プロフィール
田所 淳 (@tadokoro)TADOKORO, Atsushi
http://yoppa.org/
1972年千葉県生まれ。NTT InterCommunication Centerでの技術スタッフ、Webプロダクションなどを経て、現在はフリーランス。Webサイト制作から、openFrameworksを使用したアプリケーション開発など、インタラクションをテーマにデザイン・プログラミングを行なう。また並行して、コンピュータを使用したアルゴリズミックな作曲や、即興演奏を行なっている。2002年から多摩美術大学情報デザイン学科非常勤講師、2011年から東京藝術大学芸術情報センター非常勤講師。著書に『Beyond Interaction -メディアアートのためのopenFrameworksプログラミング入門』田所 淳、比嘉 了、久保田 晃弘(共著)、ビー・エヌ・エヌ新社、2010年。