Qtブログ(日本語)

MeeGo Conference San Francisco 2011

作成者: 鈴木 佑|May 31, 2011 5:39:39 AM

2011年5月23日から3日間、MeeGo Conference San Francisco 2011 が開催されました。昨年アイルランドのダブリンで開催された MeeGo Conference 2010 に引き続き、第2回目の MeeGo Conference になります。

会場の様子

今回の MeeGo Conference はサンフランシスコのホテル Hyatt Regency で行われました。セッション用に6つの会場が用意され、各社によるブースの展示もありました。

「Hacker Lounge」と名付けられたスペースでは多くのハッカー達がビールを飲みながらプログラミングをしたり、ゲームをしたりという光景が夜な夜な見られました。

ウォームアップ

今回の MeeGo Conference の直前には ウォームアップイベント も行われ、Qt や MeeGo、Intel AppUp Center などについてのセッションが開かれました。

基調講演

今回の MeeGo Conference は Linux Foundation の Jim Zemlin 氏による 基調講演 で幕を開けました。Linux のここ20年間の歩みや、エンタープライズに続きモバイル分野でも大きく飛躍している現在の状況、マーケットの変化に伴うエコシステムの重要性などの話を MeeGo の視点からされていました。

基調講演の中では、日産自動車株式会社のチーフサービスアーキテクトおよびプログラム・ダイレクター、野辺継男氏が登壇されました。

野辺氏からは、数年前に携帯電話で起こったような変革が自動車業界でも起こっており、プロプラエタリからオープンソースソフトウエアへの移行は必須である。社内でオープンソースを使用することに対しては安全基準などの面から多くの反発もあったが、そのアナログなマインドセットを変えていくことが必要である。全てを自分たちでやらなければならないプロプラエタリな環境から、オープンソースの既にある多くの資産を活用することを選択することで、製品出荷の短期間化が実現でき、これが一番重要である。オープンソースの一般的なプラットフォームを使用することで、その分の負担を減らし、ユーザーエクスペリエンスやユニークな機能などの差別化の部分に注力できる。数あるオープンなプラットフォームの中でも MeeGo を選択したのは、特に互換性の問題で、コンプライアンスプログラムにより前方互換、後方互換を長期間に渡って保つことができると考えた。また、MeeGo に対してはそれを期待している、というお話がありました。今はまだオープンソースを活用した車を市場に出荷するための準備をしている段階で、時期についてはまだ秘密とのことでした。

この他にも、様々なゲストの方が登壇され、様々な視点からの MeeGo についての話がありました。詳細は 基調講演の動画 が公開されているので、そちらをご覧ください。

テクニカルセッション

1日目の午後から、3日目にかけてと 様々なセッション がありました。すべてのセッションは録画され、資料と共に後日公開される予定です。
ここでは特に面白かったセッションをいくつか紹介したいと思います。

MeeGo Tablet UX on Wayland

Intel のエンジニアによる MeeGo Tablet UX を Wayland 上で動かすことに関するセッションがありました。Wayland は X11 の代わりとなる、軽量で高速なグラフィックスシステムのアーキテクチャで、サーバーとクライアントでのプロトコルを定義しています。現在はサンプル実装となっていますが、MeeGo 1.3 では Tablet UX を Wayland 上で動くようにしたいとのことでした。MeeGo での Wayland の情報は http://wiki.meego.com/Wayland_in_MeeGo にまとめられています。インストールの方法や、イメージの作成方法など様々な情報がありますので、是非試してフィードバックを送ったり開発に参加してみてください。

PERFORMANCE TIPS AND TRICKS FOR QT/QML APPLICATIONS

Qt Quick アプリケーションを開発する際の Tips を紹介するセッションでした。Qt Quick の概要の説明から始まり、以下の7つの Tips が紹介されました。

  1. (ファイルの)分割とそのルール
  2. ロードとアンロード
  3. 非同期のスレッドの利用
  4. 画像の最適化
  5. 文字列処理
  6. 状態遷移、アニメーション
  7. ベストプラクティスに学ぼう

Qt Quick アプリケーションを書く際に非常に重要なポイントが綺麗にまとめられていたので要チェックです。

Dance Dance MeeGo Revolution: Pushing QML to the MAX!

ICS のエンジニアかつゲーマーである Tej Shah 氏による Dance Dance Revolution を QML で作成し、MeeGo で動かしてみました!というセッションでした。
C++ のコードは一切書かないという制限を課し、様々な問題を解決しながら実際に遊べるレベルのものを作成するまでの詳細な話をとても楽しく紹介されていました。セッションの最後にはステージで実際にゲームをするというパフォーマンスも行われ、そのあまりのすごさに会場は大盛り上がでした。このソースコードは後日 gitorious 上に公開されるとのことで、さらに素晴らしいものにするために、是非協力してくださいとのことでした。

Qt 5 関連セッション

テクニカルセッションの中では Qt 5 に関するセッションがいくつかありました。

Qt Open Governance Progress

"オープンガバナンス" というキーワードのもとに Qt 5 の開発体制はよりオープンに変わります。このセッションではこのオープン化の現在のステータスや今後の予定についての発表が Thiago Macieira からありました。6月18日から18日にかけてドイツのベルリンで Qt Contributors Summit という Qt 5 の会議が行われますが、それに向けて準備を着々と進めているということでした。

Qt 5: Architecture and plans

Lars Knoll が Qt 5 の構想についてお話ししました。「Qt 5 に関する構想」、「Qt 5 に関する回答」の内容を元に、Qt 5 で実現したいこと、実現する上で避けたいこと、大きく変わるところ、あまり変わらないところなどの、より具体的な話がありました。Qt 5 では多くの UI は Qt Quick を使用して書くことになり、JavaScript で様々なコードを書くことになります。Qt Quick が動作する裏側では、今までリサーチプロジェクトとして進めてきた「QML SceneGraph」や「Lighthouse」といったプロジェクトを使用した、描画のアーキテクチャの再構築や、「JavaScript エンジンを V8 に変更する」ことでの高速化が行われます。
Qt 5 の開発については既に メーリングリスト などで活発に議論が進んでいますので、興味がある方、開発に参加をしたい方は是非参加してください。

BoF: Planning for Qt 5

Qt 5 に関する BoF (議論の)セッションがありました。現在の Qt の開発チームだけではなく、様々な会社やコミュニティの方が参加して、これから Qt 5 をどうして行くのかについての熱い議論が交わされました。中でも盛り上がったのは MeeGo 1.3 では Tablet UX を Wayland で動かすという目標に関連して、MeeGo 1.3 で Qt 5 を前倒しで使えないか、Qt 5 自体が無理でも QML SceneGraph を Qt 4 に移植して、それを使えないかという議題でした。また、それを実現する際にバイナリの互換性やレガシーとなる機能(X11)をどのようにするのが良いのかなどについて、かなり具体的な議論がなされました。

Qt-Lighthouse - Wayland and Qt-Compositor. A gentle introduction

X11 に代わり、将来の MeeGo の描画アーキテクチャとなる Wayland と、その上で動作する Qt についての話でした。Wayland のサーバー側の機能として Compositor という各ウィンドウのイメージを最終的なディスプレイに描画するイメージに合成する機能がありますが、この機能を Qt を使用して作成するの仕組みである「Qt-Compositor」の紹介と、Wayland のクライアント側の機能に対応する仕組みとして Qt の Lighthouse というウィンドウシステムの抽象化レイヤの導入についての紹介でした。このセッションでは、プレゼンテーション自体が、Wayland 上の QML SceneGraph を用いた Qt Quick 2.0 で作成されており、さらに Compositor としての機能も持つという非常に先進的なものでした。

Qt Quick 2.0

Qt 5 の目玉の1つ、Qt Quick 2.0 のセッションが行われました。バックエンドで OpenGL を使用し、その上で QML SceneGraph によって QML を高速に、低負荷で動かせるようにし、さらに美しく、滑らかな UI を作成できるようになります。Qt Quick 2.0 では GLSL を QML の一部として書くことが可能になり、様々なエフェクトが実現可能になります。また、描画のスレッドを分けることにより、vsync に対応したゲームのようなより精密な描画が可能になります。このあたりをまとめた(英語の)記事が近日中に「Qt Blog」に投稿される予定ですので、そちらも楽しみにしていてください。

パーティー

2日目の夜には Exploratorium を貸し切り、パーティーが行われました。MeeGo という名前のカクテルが振る舞われ、生演奏の音楽を聞きながらの素敵なパーティーでした。

おわりに

MeeGo プロジェクトが始まってから1年以上が経過し、いくつかの MeeGo ベースの製品が市場に出回り始めています。今回のカンファレンスで、さらにいくつかの製品の発表などが期待されていましたが、残念ながらありませんでした。しかし、1年後の MeeGo 1.4 に向け、Wayland への対応および Qt 5 の開発という1つの大きな目標が明確になり、そのための発表や建設的な議論が多くのセッションで行われ、MeeGo がより素晴らしいプラットフォームになっていくという明るい未来が見えたのも確かです。

今回 MeeGo Conference に参加して、日本においてもビジネスとコミュニティ活動の両面から MeeGo および Qt をさらに盛り上げるためにこれからも頑張っていこうと思いました。願わくばこの記事を読んでいただいた方の中から、MeeGo プロジェクトに参加する方や会社が増え、次回の MeeGo Conference で発表される方々がたくさん出てくれればと思います。