| 
計画したレベルにまでプログラムを仕上げられたものもあれば,そこまでに至らず,時間切れで次善のレベルのものを作り上げた段階で終わりになったものもある。 計画したレベルに達したものの中にも,まさに計画通りの仕上がりのものもあれば,それを遥かに超えるレベルにまで達したものもある。
目立つのは,4人以上の共同開発であるプロジェクト2つが,ともに計画したレベルに対して次善のレベルにとどまったことである。一人一人の力がどうであるか以前に,多人数でのプロジェクト推進をうまく図っていくノウハウが不足していたというのがその原因といっていい。このあたりは,大学での通常の教育では十分に訓練が受けられるものではないだけに,開発者グループにはいい経験になったのではないだろうか。PMの尻のたたき方も不足していたこともある。それを補って余るほど,プロジェクト管理組織が尻をたたいてくれたのではあるが,なお遠慮してしまう面があったのかもしれない。
これに対して,開発者が一人である場合には,PMからの連絡もプロジェクト管理組織からの連絡も直接に本人いくし,その本人が全責任を負っているので,話はなんとかなる。もちろん,サボり気味,遅れ気味の開発者もいたが,最後の最後はなんとか踏ん張って形を作ることができた。
こうしてみると,未踏ユースでは,3人程度のグループが開発者の上限だと思っておくのがいいようにも思える。最も,昨年の荒川君のように,自らも大きなプログラムを作りながらも,グループを引っ張っていける人もいる。してみると,スーパークリエータに加えて,スーパープレーイングディレクターという称号もあるといいのかな,と思っているところである。
今年度の10個のプロジェクトについて,計画した目標を達成できたか,その達成に至る経過の中で 開発者がその腕前を遺憾なく発揮できたか,あるいは,多いにその腕前を上げたか,製作した作品を第3者にも理解できる形で説明し提供できたか,加えて,開発者の熱き思いがどれほどまわりに伝わったか,という観点から評価して,個々の開発者を評価した結果はつぎのようになった。
スーパークリエータ:山本 大祐さん,川口耕介さん,岩井貴史さん
準スーパークリエータ:前川峻志さん
この評価を下した理由も含めて,それぞれのプロジェクトを,そのプロジェクト番号順に見ていくと,つぎのようになる。
プロジェクト1 統合開発環境「ActiveBasic」の開発及びサポート
開発者の山本さんにとって,ActiveBasicは,手塩にかけて慈しみ育んできたシステムであり,未踏ユースに採択されようがされまいが,不断に改良し改版して育て続けるものである。したがって,未踏ユースへの応募のときに書いたことは,採択された時にはもうかなり出来上がっていて,その先に作業が進んでいた,という形の進行であった。
山本さんは,プログラミングシンポジウムでもActiveBasicを発表した。このシンポジウムは,発表25分,質疑応答20分の合計45分が単位である。たっぷりと質問攻めにあう。発表の中身は,今回開発した一つの柱である64ビットCPUのオブジェクトコード生成に関してあった。ところが議論になってわかったのは,コンパイラに諸技法について,すべて独学,しかも,典型的教科書にすら目を通していないという。それでいて,32ビットCPUに対して2倍の速度が出せるだけのコンパイラ(コード生成)を書いている。
今年4年で大学を卒業するのだが,就職するのではなく,自らActiveBasicを育てながら,それを種にして起業する予定という。すでに得ているユーザからも,ぜひActiveBasicを育て続けてほしいという声が届いているのも起業する決意をして大きな要因だという。
ここまで徹底できれば,スーパークリエータといっていい。ぜひ,その力を開花させて,今度は本ちゃんに挑戦してほしいものである。ただ,いかに本を読むのが嫌いだからといって,いつまでも独力だけではいずれ限界がくる。意識して本を読み,理論を学ぶ時間の余裕をもってほしいと,PMとしては願っている。
プロジェクト2 スレッド冬眠技術を利用したイベント駆動によらないワークフローエンジンの開発
平常の業務をもっているので,もちろん,本格的にプロジェクトを開始したのは採択後である。そうはいえ,十分に練った案をもって開始するとたちまちのうちに,次から次へとプロジェクトを展開していった。このプロジェクトを思い立ったのは,業務の中でこなさなければならない多くの「ワークフロー」管理をサボりたい,という実務的な理由からであったが,それを関数プログラミングなどで現れてくる「継続(continuation)」の概念と結びつけて,自動化する方式を組み立てることにしたところが大いなる着想である。もちろん,この「継続」の機能に基づいてプログラム・データをserializeするという仕組みをJavaで実現する話をすでに知っていたからこそのプロジェクトではあった。
「継続」に基づくserializeのエンジンを作り,それを他のプログラムから使いやすくするためのインタフェースを用意する。それらを生かしてワークフロー処理に現れうる典型的な入出力(メールのやり取りなど)を抽象化して概念と,その概念を特殊化してメールなどに当てはめるためのライブラリを整える。その上で具体的ワークフロー処理を書くためのインタフェースを用意し,その上に実例としてのアプリケーションを書いて,実務に適用する,という一連の作業をすませてしまった。
まさに,スーパークリエータである。
同時に開発者の川口さんは,周りのより若い人たちに大きなインパクトも与えた。“ワークフローを管理するのは「身を粉に」すれば特別な道具なんてなくてもできる。でも,身を粉にして働く,というのは,情報処理のプロとしては,情報科学を学んだ者としては,「罪悪」なんです!”という哲学にすっかり引き込まれたのであった。
プロジェクト3 指紋を鍵とするファイル暗号化システムの開発
所属する研究室で開発された光学原理に基づく暗号化方式を,身近なファイルの暗号化に適用した実用システムを作ろうというのが出発点である。それを実現するのに,ファイル自身は共通鍵暗号によって暗号化・復号化を行うことにして,その共通鍵を光学原理に基づいて暗号化する。その鍵に指紋を用いる,という方式と提案して実現した。光学原理に基づいて暗号化するともとの情報の数倍以上にサイズが大きくなる欠点をうまくカバーしたものである。
プロジェクト開始の時点から,ポイントが指紋の入力時の変形をうまく修復する機能にあること,処理の高速化を図って実用的に我慢できる時間内に符号化・復号化できるようにすることにあることを見抜いての作業が進んだ。プロジェクト管理組織からの忠告も素直に取り込んで作業を淡々と進め,処理時間の問題もうまく解決して実用的なシステムを作り上げた。その腕前は買うが,指紋読み取り装置が特定のものである,光学原理に基づいて暗号化は特許も絡むものである,といった事情から公開できないのははなはだ残念である。
その淡々と事を進める能力は高く買いたい。ただ,スーパークリエータとするには,熱きものがいま一つ感じられなかった。あまりにスマートすぎるというべきであろうか。ソフトウェアのクリエータというより研究成果の応用例作りという感じにとどまったのが残念である。いずれの日にか,隠しもったソフトウェアクリエータの腕前を前面に押し出した活躍をしてくれることに期待したい。
プロジェクト4 ユーザ参加型のパッケージ管理・斡旋システム
なんとか枠を作ることができた。しかしながら,はじめから危惧されたように,9人もの開発者がうまく共同して円滑に開発が進んだとはとてもいえない。計画としては,早めにシステムを作り上げて,多くの利用者に使ってもらい,それによってシステムの中にコンテンツ(個人評や勝手解説など)がたまることを狙っていたのであるが,使ってもらうプロセスに入ることができなかった。
また,基本の枠を作るところでも,光る“個”が見えるところまでには至らなかったのは残念である。期限を切ったプロジェクトを複数人で進めていく難しさを体験したのを糧にして,各自が大きく羽ばたいてくれる事を期待したい。
プロジェクト5 書体の動きで感情表現を行う「千篇書道」の開発
美術大学に通う人の感性をもって,入力した文字列を,時間経過に沿って千変万化させたどうなるか,どんな感情表現ができるのか。そうした疑問に答えるために,実際に時間変化を様々に制御することのできるテストベッドを作り上げた。非常に興味深い実験ができるものであるし,これを基に様々にアプリケーションが作れそうである。
ただ,スーパークリエータと呼ぶには,まだ一歩不足する。準スーパークリエータの称号を与えて,いっそうの精進を期待したい。
プロジェクト6 アラビヤ語形態素解析エンジンの開発と,学習者向け辞書システムへの応用
引けるようになるまで5年はかかるといわれるアラビア語辞書を,字形の判読さえできるようになれば,引けるようにするシステムがあればどんなにいいか,という思いをそのままシステムとして組み上げた。システムを紹介するのに「形態素」解析と銘打っているが,日本語の場合とは違い,辞書にその単語があるかないかにすべて頼らなくても,形態素変形の規則(開発者は,パターンと呼んでいる)に着目して,あり得る“原型”の単語を大幅に絞り込めることに着目して作り上げたシステムである。
世の中にあるどんなアラビア語辞書よりも高速に,しかも,裏に用意した辞書に登録してある単語数がまだまだ限られたものであるにも関わらず,より多くの語に対して正しく辞書が引けるという,すばらしい結果をもたらした。
今回のプロジェクトにおいて,ソフトウェアシステムとしての設計・開発を担当し,全体の進行を主導したのは,岩井貴史さんである。岩井さんは,パターンマッチをするのにJavaのライブラリを使っていたがどうしても速度が出ずに悩んでいたところ,前出の川口さんに「そんな難しいパターンマッチングが必要なわけでないんだから自分で書き下したら」と示唆されてやってみたら50倍高速になったという。必ずしもCS専門学科で学んでいるわけではないのに,その吸収力,プログラミング力には抜群のものがある。スーパークリエータの称号にふさわしい。
プロジェクト7 遠隔講義受講者のためのアクティブな講義映像生成システムの開発
実時間で行う遠隔講義の映像配信用にカメラを自動操作で教員や板書にフォーカスを当てた形で対象を追尾するシステムを構築した経験をもつ開発者の田代さんが,固定カメラで映像をとっておいて,画像処理で同様な効果を出してはどうか,と思いついて提案したシステムである。ついでに,実時間配送にこだわらず,生映像を蓄積しておいて,それをクライアントからの要求に応じて配送することにし,フォーカスの自動追尾はクライアント側にそのソフトウェアをいて実現することが可能になるから,学習者はいつでも,どこでも,ネットワークに接続されたPCさえあれば,あたかも遠隔操作で先生自身に,あるいは先生の書いている文字に,随時にフォーカスを当てることが可能になる。
このために必要になるソフトウェア一式のプロトタイプを作り上げた。なかなかの力作ではあるが,実際に使うには,さらにネットワーク配信をうまく動かすための工夫など一段の洗練が必要である。
プロジェクト8 人の集まりを支援するツールQWikS(クウィックス)
思うとおりにはことが進まなかったが,それでも使い物になるレベルには仕上がった。当初の計画では,合コンのたぐいの時間調整を考えて,ぜひとも近隣の会合場所候補のデータベースを併設したい,ということであったが果たせなかった。また,アンケートをとる仕組み,Wikiを使った情報交換など,それぞれを単独のソフトウェアで実現し,それらは相互の連絡をメールで行わせるといった,「粗結合」システムとして開発する予定であったが,結局は,Rubyを用いた「密結合」ソフトウェアとなってしまった事など,計画通りには進まなかった。
このシステムはサーバの上において公開して外部の人にも自由に使ってもらえるようにしていくとの事である。やり残した機能も追加して,多くの人に
QWikS を使ってもらうように努力されたい。
プロジェクト9 音楽を視覚的に認識する方法 及び ウダーの習得を支援するソフトウェアの開発
意外と面白い作品にまとまった。開発者は,ウダーそのものの普及に興味があるので,ついついそのハードウェア作成に時間を割いてしまうこともあって,提案時点での計画からかなりの遅れでソフトウェア開発が進んだ。幸いにも,最終段階では間に合った。
最後の難関は報告書作成であったが,これもなんとか収まった。ウダーだけに着目すれば,スーパークリエータともいえそうだが,ソフトウェアについては残念ながらそうは呼べるレベルにはなかった。力はあるとPMは信じているが,うまくハードウェア作りとソフトウェア作りとを織りなして効果を上げていくことを期待したい。
プロジェクト10 統合開発環境Eclipseのスクリプト言語用ライブラリの開発
開発者の自らOnionと呼ぶプログラミング言語・プログラミング環境を開発し維持している,なかなかの力の持ち主である。応募したシステムは,使い込んでいるEclipse上での作業をさらに便利にするために,Eclipse上でスクリプトを書いて走らせることができるようにするものであり,そのスクリプトを書くのにもEclipse自身を使うことができるようにする,というものである。実は恥ずかしながら,かくいうPM自身,開発者の水島さんから何度も話を聞き,説明を読んでいるのだが,がそう理解できたのはずっと後になってのことであった。プロジェクト自体が,相当に特殊化された話であることに遠因があるのは間違いないが,もう少し,説明をうまく行う努力を重ねて欲しい。
できあがったものはきちんとしているが,全体に今一歩幅広くものごとを見られるようになるともっている素質が大きく開花するに違いない。今後に期待したい。
(注)開発者個々に対するコメントについては各々のプロジェクトの「開発成果評価書」を参照ください。筧PM傘下のプロジェクト一覧は
こちら
からジャンプできます。(IPA未踏事務局より)
|