Adobe MAX Japan 2009 - Day2

Adobe MAX Japan 2009 2日目のレポートです。
(Day1のレポートはこちら

基調講演

2日目の基調講演は、"DESIGN, DEVELOPMENT, DEPLOYMENT"をテーマに話が進んだ。と言っても、CS4の製品の一部新機能を紹介する内容。
まず、Flash。XFLというXMLファイルフォーマットをサポートするようになった。これによって、PsとかAiから書き出したファイルをそのまま読み込めるようになる。モーションパスをいじれるようになったり、IKをサポートしたり、モーションプリセットの保存が可能になったり、AIRとして書き出せるようになったり、というところは目新しい話は一切無し。
Photoshopの話も内容に応じて拡大縮小が出来るようになったり、3Dのサポートが強化されたり、というところで特筆すべきことはない。
次はAlchemyの話。C/C++からAS3が書き出せるようになった、と説明していた。自分はC/C++からswfを作れるようになったと思っていたのだが、ちょっと勘違いしてたようだ。ということは、C/C++ユーザにとって使いやすくなっただけで、パフォーマンス周りはAS3で書いたときと同じということか。残念。
BOLTという名で情報が公開されていたColdFusionのIDEEclipseベース)が公開されたという話。ColdFusionはよく知らなかったので、良く聞いてなかった。
また、Flex関係の話ですごいと思ったのが、VisualStudioのプラグインが作られたらしい!FlexプロジェクトをVSで作業できるということなのだ!Eclipseプラグインとしていろいろ追加していくと何が何だか分からなくなってきているので、他の用意もしてくれることはうれしい。
DreamweaverjQueryと連携ができるようになり、アコーディオンエフェクトやカレンダーを実装する流れを見せてもらった。カスタマイズするときにjavascriptをfreezeしてCSSを修正するところは良くできている。
Flashコンテンツの検索機能への対応、というのは去年から出来ていたのだが、仕組みを知らなかった。swfファイルの中から文字列を抜き出せる仕組みで、当たり前だが埋め込まれている文字列しか処理できない。
Flash Media Server 3.5の話。ダイナミックに帯域幅に合わせてビットレートを変えることが出来る仕組みが実装されているようです。「Flash HD Gallery」というサイトではすでに使用されているようで、ロード開始直後は低めのビットレートにしてあるので、読み出しやすく、バッファが十分たまってきたらビットレートを上げていく、ということでユーザ体験をよりよいモノにしているようです。

失敗事例に学ぶFlexプロジェクトの第一歩

今日のランチセッションはNECシステムテクノロジーの方の講演で、FlexによるRIA構築のプロジェクトをいくつかこなしてきた中で失敗したことなどを赤裸々に話す、というもの。全てが実体験に基づいているモノで大変為になりました。失敗とは、「高コスト(赤字)」「遅延」「品質問題」が発生しているモノで、つまりQCDを満たせていないものを言う、という定義からきっちりと話は始まりました。
例えば、次のような問題が発生したようです。「Flex…何でも出来るという思い込み」→「相次ぐ仕様変更」→「期間延長」。これは画面仕様が未確定なプロジェクトにありがちなパターン。
他にも「FlexBuilderを使えば何となくできてしまう」→「トラブルの原因を追及できない場合がある」。これは初心者にありがちなパターン。
また、上記の二つの合わせ技で遅延が発生する、というパターンもある。と、ざっと3つのパターンを示した上で、個別事例の解析と説明に入りました。
で、紹介された全てのケースで、Flexコンサルタントを導入しているのが、やはり大手ならではの解決策。そこで費用はかかるが、着実に効率よく学習していくことで次からの問題を減らそうと努力しているのがすごい。こういうコンサルタントとかって中小企業では出来なくて、ますます泥沼化していくことが多いと思うのです。
結局、経験を積み、当初から問題を把握できるようにし、プロファイラなど各種ツールを一通り使いこなせるようにしておく、ということが重要であるとの結論。

映像とプログラミング

中村勇吾氏の講演。忙しいらしく会場に着いてから駐車場の車内で、WORDを開き、話す内容をざっとまとめてきただけ、ということだったのだが、講演慣れしているのか、プレゼンツール(過去の作品ファイル)はしっかりしてあり、滞りなく一通り実行できたりして、さすがだと思った。

「映像アニメーションにはない別の「アニマ」はないか?」というテーマで過去の仕事を区切って話が進んだ。
駆動エンジン別では、アルゴリズム、DBベース、人力ベースの3つを紹介。3つ目の「人力」とは例として、FINGERTRACKS, FONTPARKなどを挙げていた分野なのだが、「インターフェイス内でフォーマット化された人力であり、「完全に自由」では面白くない」という言葉が重要だと思った。
続いて文体的な話。物語を放棄し、様相・トーンだけを発する構成物をつくりたい。環境的・音楽的なアニメーションをつくりたい、と言っていた。その流れでカテゴリ別に次々と作品を見せてもらった。ざっとまとめておくと、時計(ex.INDUSTIROUS CLOCK, CAMCAMTIME, 伝える伝わる)、グラフィックデザインの拡張(UNIQLO TEASER, KASHIWASATO, DROP CLOCK, CRASH Beta, etc)、フィルター(UNIQLO MIRROR)、環境上で物語る(EVERYTHINGS IN IT'S RIGHT PLACE)となる。
面白かったのは佐藤可士和のサイト。これはウェブサイトとかいらないのでは?、ということから発想は進み、佐藤可士和のプレゼン用ツールとして作った、ということなのだ。確かにそう考えるととても良くできている。しかも過去の作品へアクセスできるわけだし、素晴らしい。
最後のEVERYTHING IN IT'S RIGHT PLACEでは物理演算シミュレーションの逆をやっていた。逆というのは、逆の法則を実装して、最後に気持ちよく、一見奇跡的に見える感じでBOXが収まるように見えるものだ。すごかった。
元ネタはこちらの映像("tyre accident")らしいのだが、この映像はまさに奇跡!

濃密であっという間に時間が過ぎたセッションでした。

イデアの実装:コントロールと最適化

ROXIKの城戸さんの講演。最適化の話はメモリが潤沢にあるPCならではの解決策で、すげー力業だと、元コンシューマゲームプログラマの自分は驚く限りでした。
その他のカメラ(という概念)を実装する話は、若干説明不足というか、あぁいう強引な解説でいいのかな、という印象。専門用語は正しく理解できるように説明して欲しい。つまり、きちんと「相対位置」という概念を説明すべきだったと思うのです。

ActionScript 3.0におけるパフォーマンス向上のヒント

野中文雄氏の講演。パフォーマンス改善と言うことではAS3的には基本的な内容。それをこういうセミナーでやるのはどういう感じなんだろうか?と思って参加したわけだが、あまり得るものがなかったので、個人的には見なくても良かった、とちょっと後悔している。
最初の話は「型指定すべし」と言う話。で、Objectでは型指定できないので、処理速度的にはカスタムクラスの方が有利、ということなのだが、要は使いどころを間違えなければいいのでは?と思った。場合によってはコンストラクタでのオーバーヘッドのほうが大きくなることもあるような気がするし。
閏年計算を例に挙げて、if-elseの順番を考えるべし」というのは分かってるつもりだったのだが、最近書いていたコードで閏年計算が遅い方の計算とされていたので、ついカッとなって、その場で修正してしまった。今では反省している。閏年計算のifの順番で処理速度改善とか、全体からしたら一体どの程度の処理速度改善だよ!と。
次の「再生ヘッドを止める」というのはちょっと詳細を聞き逃してしまったのだが、「1フレームしかないモノでもstopすべきか?」。あとで検証しておこう。
また、my_array[0]=100; my_array[1000]=100; というような間があいた配列は遅い、と言う話。これは、内容を詰めれば早くなるのだろうか?これもあとで要調査だ。
Mathライブラリに関する最適化は箇条書きにしておく。

  • Math.pos(n,2) より n*n
  • Math.abs(n) より (n>0)?-n:n
  • Math.floor() より int(), AS3なら同じ結果が返ってくる

残った時間でCS4に関する話をされた。これはロビーにあったCS4の体験PCを触っていたときに自分も気づいたのだが、CS4からヘルプがオンラインになった。野中さんもこの講演で説明していて正式にそうなったのだと理解できたのだが、コメントを書けたりするのはノウハウが共有できて良い一方、オフラインで見られないのか。これは問題にならないのだろうか。ちょっと心配。
(追記:2009-02-17)
このセッションの資料が整理されてアップされているのでリンクを張っておきます。

AIRFeliCaによる新しいサービスアプリケーション開発

最後はFeliCaに関するセッションを選んだ。
FeliCaSDKは既に公開されているのだが、なんとこの夏にAIR/Flash用のライブラリが公開される予定らしい。サーバとなるexeを動かす必要はあるのだが、それと連携するswcを公開し、個人でも買えるような形で販売するらしい。なかなか面白そうな試みだ。また、FeliCa Liteというシール上のチップも販売するので、アイディアがあれば何かしら実現出来るようになる。いわゆるRFタグとして使えるようになる、ということだと思う。
で、FeliCaをかざすことで何が出来るのか?ということから話は始まった。具体的には、webサイト誘導、アプリメーラ起動、データ通信などが出来る。
これはSonyの人も言っていたのだが、一番の問題となるのは「FeliCaとは“かざすとお金を取られるモノ”という認識がある」ということ。良くも悪くもおさいふケータイの功罪だ。これは自分で何かを作るときにも問題になるかもしれないので気にしておこう。
FLO:Qの人たちによるサンプルなども見せてもらった。
アイディアの実現化のためのヒントが詰まっており、満足できるセッションでした。

@ロビー

Adobe MAXではセッション以外にもロビーにいろいろな会社やグループがブースを出しており、そこでちょっと寄って聞いた話を以下にメモしておきます。

@ロビー:Adobeの人(そこら辺に立っていた人)

XFLについて情報無いのか?と質問したのだが、詳しい人はいなかったのでよく分からなかった。ただ、その方による精一杯の回答をもらったので、メモしておく。

  • セキュリティ上問題がなければファイルフォーマットはオープンにする方向性なので、おそらく公開されるだろう。
  • ただ、今回のCS4には間に合わなかった、ということらしい。

@ロビー:ColdFusion UserGroup

ColdFusionそのものがどういう知らなかったので、時間もあったし聞いてみた。

  • ColdFusionとは、アプリケーションサーバ
  • 現在はJavaベースになっているので高速
  • 初心者はタグで記述でき、細かいところはJavaで記述できる
  • PHPなどより学習期間が短くて済む、らしい。

ということで、ちょっと興味を持った

@ロビー:モリサワ

フォントのライセンスについてちょっと気になっていたことがあったので、聞いてみました。

  • 使用しているモノについては、そのまま使用しておいて問題ない。
  • フォントセットを埋め込むのはNG
    • 新聞社とかは自前で持っていたりするので、そういうラインセスがクリアになっているところから、フォント埋め込みのサービスを始めていくと思う。
    • サーバ側にフォントを置いといて、アウトラインを取得するのは、サーバライセンスでOK。

頑張れ!フォントメーカー!

スペシャルイベント:EDGE Now! Of the Year

今日も夕食ビュッフェを食べたあと、最後のスペシャルイベントとなるEDGE Now! Of the Yearを見てたのだが、これが内輪のためのイベントでとても見ていられない雰囲気だったので途中で返った。

お土産

最後の最後に抽選エリアというものが用意されている。最高でMacBook Airが当たるのだ!受けたセッションの数などでマイレージがたまる仕組みになっていて、そのポイントで4回のチャンスをゲットしてたので、やってみたら、FlashPhotoshopのロゴを配した人形をもらえた。それぞれ、"Flash Builder-Chimp", "Photoshop Cave-Painter"と名付けられている。また、アンケートを書いてもらえる景品もMAXの人形"MAX the Explorer"だった。

おおむね値段相応のイベントで、悪くない感じでした。来年も仕事の都合があえば参加しようと思います。