Day-0と同様、早めに会場に到着。受付が開くのを待ってまずはSun社員特別招待クーポンでもらえるオリジナルグッズがどこでもらえるのかを聞きに行きました。ブログに情報を載せるためだったのですが、Pressパスでも普通にもらえちゃいました。Sunのロゴ入りペンケースです。
それから基調講演会場へ移動。Dukeのイラスト入りパスネットは入場のときに配っていました。Day-1とDay-2で合わせて1000枚とのことなので、結構な人がもらっていたみたいです。それと「Sun Java Studio Enterprise 8」のCD-ROMも入り口で配布していました。インストールすると、抽選で1名にOpteronマシンが当たるということでしたが、帰って早速ためしてみたところ案の定外れでした。
ちなみに、この日の午後にSun Java Studio Enterprise 8の正式な発表と、同製品およびSun Java Studio Creator」のライセンスを無償で提供することのプレスリリースがありました。
- JGKN100-01 General Session
最初にDan Millerが登壇してJavaOne Tokyoというイベントの概要を紹介しました。印象に残ったのは「このイベントはJavaとJavaコミュニティのものである」という一言。しっかり「Javaコミュニティ」と入れてくれる辺りがうれしいじゃないですか。
次に末次氏からDay-0で人気だったセッションのベスト3が紹介されました。一位から順番に「SOAとは何かを考える」「Enterprise Java Beans 3.0」「Using AJAX with JavaServer Faces」だったそうです。
それから、ビデオスピーチでScott McNealy登場。内容はJavaがどれだけ使われているかといったようなことで、別段目新しいことはなかったと思います。「Network is the Computer」という彼が昔から一貫して主張している言葉が出てきたのですが、今まさにというか、あるいはようやくというか、とにかくその言葉がしっくりくる時代になってきなぁと思いました。
次に登壇したJeff Jacksonは講演の中でいくつかのAction Itemを提示。1つ目は来年のNetBeans Dayに参加すること、2つ目はJavaOne Tokyoを影で支える通訳者の方々に感謝すること、3つ目はjava.comやjcp.org, java.netにアクセスすることです。
この後、講演を一時中断して10周年記念のアニ─バーサリーイベントが行われました。サンフランシスコのときのScott McNealyと同じセリフでアナウンスした末次氏の演出がにくい。サンフランシスコのときと同じく、大きなケーキとDukeleleを持ったDukeの登場です。指笛吹きたかった…。
元の講演に戻ってAlan Brennerの登壇。ここでネットワーク型アプリケーション開発環境「Sun Japan Developer Grid」の発表がありました。セキュアに管理されたサーバをネットワークで接続し、その上で開発環境を提供するというプロジェクトだそうです。常にセキュアで最新の開発環境を利用できるだけでなく、開発の段階でオンラインのリソースを利用できるというメリットがあるとのことで、個人的には結構面白いと思うのですが、あまり他のメディアでは取り上げられてはいないみたいですね。それからここではRichoのプリンタやBlu-Rayのデモがありました。
DoCoMo の夏野氏は、JavaとDoCoMoの歩んできた歴史を紹介し、すでにケータイにとってJavaはゲームやエンタティメントのためだけでない、必須のテクノロジであることを強調しました。そして今後の展望として*(スター)プロジェクトの紹介。*プロジェクトではSunとのパートナーシップの強化、エコシステムの重視、高品質のプラットフォームの実現などを目指していくとのことです。個人的にはi-modeへJavaを導入した際の話を聞きたかったのですが、まあそれは本質とは関係ないですからね^^;
最後にJoshua BlockとNeal GafterのGoogleコンビが登場。何を話すのかと思ったら、突然スクリーンに錯視の絵(Java Puzzlersの本に載っているもの)を表示させて解説を始めました。そしてプログラムのコードもそれら絵と同じように、目では正しく動くように見えても実際にはそうでないことがある、と続けました。それからGoogle内でもJavaがよく使われているという話をしました。よく使われる言語はC++, Python, Javaで、検索の主要なコードはC++で書かれており(これは立ち上げ当時Javaではまだ十分なパフォーマンスが確保できなかったからと説明されていました)、Javaはミドルアプリケーションで使用されているらしいです。
この日、ピアソン・エデュケーションのブースで Java Puzzlers本の翻訳版が50冊限定で販売されるという話だったので、基調講演終了後に早速買いに行きました。パビリオンは11時から空いていたのですが、見ている前で凄い勢いで売れていきます。後から聞いた話によると、50冊はすぐに売り切れてしまったので急遽Day-2分の50冊を追加で取り寄せたのですが、それも夕方までには売れてしまったそうです。ではDay-2はどうしたかというと、倉庫で発売待ちになっている分を出していいか交渉しているとのことでしたが、結局どうなったんでしょう^^;
- JTSJ104-04 Desktop Java Technology in Project Mustang and Beyond
Mustangに追加されるデスクトップ関連の新機能の紹介でした。最初に、現在はコミュニティベースの開発が進められているということで、javadesktop.orgやSwingLabプロジェクト、プロジェクトPerbodyなどに関する簡単な紹介がありました。
Mustangで導入される新機能については、すでにサンフランシスコの頃に公開されていた情報がほとんどです。
まず基本となるAWT関連の機能として、モーダルダイアログの改善(入力のブロックしないようにする、常に上に表示するなど)やJavaHelpシステムの改良などが行われます。また、システムトレイが使用できるようになる件ですが、WindowsとGNOMEはサポートされますがKDEはMustangではサポートされないそうです(Dolphinでは…要望があれば、と言っていました)。トレイアイコンではツールチップやポップアップの表示、イベント処理などができます。その他大きな点としてはスプラッシュスクリーンが大幅に拡張されたことで、イメージやアニメーションを表示できるようになりました。そしてプログラム起動時にコンソールオプションで任意の画像を表示させられるようになります。
Java2D関連では、Single Thread Renderingを採用することでOpenGLなどのパフォーマンスが向上します。また、サブピクセルテキストのサポートによってLCDモニタでのテキストの表示が滑らかになります。その他、Linuxでのフルスクリーンのサポートや新しいImage APIのプラグインの追加などが行われます。
国際化関連では、Plggable Localeのサポートやリソースバンドルの拡張、Unicodeの正規化のサポートなどが行われます。また和暦をサポートしたja_JP_JPというロケールが追加され、それに伴って和暦カレンダーが追加されます。
JFC/Swing については、ルックアンドフィールの拡張、SwingWokerの追加、レイアウトマネージャの拡張、ドラッグアンドドロップ機能の拡張、完全なダブルバッファリングのサポート、JTableのソートやフィルタ機能の改善、タブコンポーネントの拡張などが挙げられました。ルックアンドフィールについては Windows VistaやGTKのサポート、タブコンポーネントではタブにテキスト以外のコンポーネントを配置できるようになるなどが、特に取り上げられました。
- JTSJ112-05 aptとアノテーションプログラミング
立ち見だったので結構しんどかったです。会場は展示会場の隣の特設スペースだったのですが、ここで行われたセッションはみんな同じように立ち見状態だったみたいですね。
内容はAnnotation Processorを自作する方法の解説で、具体的なソースコードとあわせて紹介されました。アノテ─ションの読み取りはaptで行い、処理内容は AnnotationProcessorに記述、そしてAnnotationProcessorを使用するにはFactoryクラスが必要ということです。使用するのはtools.jarに含まれるcom.sun.mirror APIです。
サンプルコードが多かったこともあって時間が全く足りなかったのですが、この内容ならハンズオンなどでやってもらった方がいいなぁと感じました。
- Night for Java Technology
このJavaOne Tokyoで個人的に最も楽しみにしていたのがNight for Java Technologyです。過去にハードロックカフェ、豪華客船、料理の鉄人と続いてきたこのNight for Java Technologyのテーマですが、今回はK-1グランプリをもじったJ-1 グランプリでした。
会場に入ると、そこにはなんと本物のリングが。そこにリングアナの格好で司会が登場し、井上誠午 vs 百武直宏のエキシビジョンマッチが開始されます。最初は真似事かと思ったのですが、本気で殴りあってますよ。3分間の1ラウンドマッチだったのですが、凄い迫力でした。ちゃんとリングガールもいました。さくらばさんのレポートによれば、リングドクターもいたそうです。
エキシビジョンが終了したら、いよいよ本番のJavaアプリのデモンストレーションです。5組10人が1対1の対戦形式でプレゼンを行っていきます。
第一試合:"Dukeの友達"西島栄太郎 vs "ケータイアプリ職人"福野泰介。西島さんはサンフランシスコでもデモが行われた携帯電話上で動作するLG3D。福野さんは携帯電話用フルブラウザのjigブラウザ2。西島さんの勝利。
第二試合:"Mr. Yasunaka"安中伸彦 vs "Real Social Hacker"久保祐也。安中さんはSwing GUIのテストを自動化するツールSwingUnit。久保さんは自動でアンケートの作成から集計までを行ってくれるShared Questionnaire System。SQSの方は紙ベースのマークシート式アンケートを作成し、それをスキャナで読み込ませて集計するというデモを見せてくれました。勝者は安中さん。個人的にはSQSの方が好きだったのですが、SwingUnitの方が必要としている人が多い方というのが理由でしょう。私もどちらが欲しいかと言えばSwingUnitです。
第三試合:山浦俊司 vs "天王山西本"西本圭佑。山浦さんはマウスやタブレットの動作で画面を操作するVisualClip for Java。画像や動画の切り取りなどもできて結構実用的だとおもいました。対する西本さんはLG3D用のプレゼンテーションソフト作成ツールIbrik Presentaiton Toolkit。西本さんはプレゼンもこのIbrilを使って作成したプレゼンソフトで行われました。勝者は西本さん。
第四試合:"タイガー、タイガー、Javaはタイガー!な3DJ"福田善文 vs "アントニオ・カメンディス"佐藤類。福田さんはLG3D上のターンテーブルアプリケーションdeepsonar iridic。ターンテーブルを操作するような感覚でCDを演奏することができます。対する佐藤さんはロボットによる対戦プレイができる3Dアクション MMORPGのC21 Dramatic Online Robo Action。この方実は私の先輩でJTC2004出場時に強制連行で舞台に立された記憶があるのですが(^^;)、まあそれはともかくJavaでこのクオリティはさすがです。勝者はターンテーブルを2つ並べてフィーバーした福田さん。
第五試合:"ダイナマイト☆ デューク"井上詠治 vs "戦慄の夏休み工作請負人"草薙昭彦。井上さんはぬいぐるみのDukeとLG3D上のDukeをシンクロさせるLgDuke。対する草薙さんは、 Duke4体を並べて射的を行うDuke Lottery - powered by RTSJ。これは4体のDukeが回転する的をボウガンで射るというものなのですが、今年リリースされたばかりのRTSJの参照実装である Mckianacを使って同期を取っていて、成功すれば的に命中した結果が"J","A","V","A"に揃うようになっているんです。早速RTSJを使ってくるところがにくいですね。しかも、練習では一回も成功しなかったそうなのですが、本番では見事に命中!劇的な演出(?)で草薙さんの勝利。
私はサンフランシスコのJavaOneには参加したことがないのですが、日本のNight for Java Technologyというのは本場とは違った独特の盛り上がりを持っているみたいですね。ぜひ今後も続けていって欲しいと思います。気になった点といえば、丸山先生からの講評にもあったのですが、LG3Dの比率が高すぎるかなということです。見た目的にも派手でデモもやり易いのでこういう場には向いているし、それだけLG3Dが盛り上がっている証拠でもあるのですが…。個人的には周辺のハード(というか製作物)を使ったDuke Lotteryみたいなのが好きです。でもまあ、最終的に見てる側としては楽しめればOKですね:-)