「MeeGo Seminar Spring 2010」を聴いた
モバイル向けLinuxとして、Intelの「Moblin」とNokiaの「Maemo」というビッグネームが合流した「MeeGo」があります。ちなみに、Linux Collaboration SummitでGoogleの人が、AndroidとMeeGoは食い合わないと発言したそうです。
そのMeeGoのセミナーイベント「MeeGo Seminar Spring 2010」が、日本のLinux Foundationにより開催されました。300人以上の人が参加して、けっこう注目されているようでした。ただ、スピーカーの方が壇上から質問したかぎりでは、MeegoやMoblinの開発経験者は多くなさそうでした。まずは第1回ということで、セッションの内容も比較的一般的な紹介が中心だったように思います。
以下、メモ。
「MeeGoは完全にオープンソース」
Linux Foundationの福安徳晃さんが、開会の挨拶をしました。企画したときはまだ「Moblinセミナー」だったとのこと。当初100人程度予定が、300人以上のキャパの会場にふくらんで、期待を感じたそうです。ただし、まだどんな物かまでは知られていなくて、それをまず知るために来てくれた人が多いのではないか、と語りました。
続いてMeeGoの紹介。マルチプラットフォーム&マルチデバイスに対応していて、なにより「Linuxのディストリビューションそのもの」。特に、「完全にオープンソースなLinuxのディストリビューション」だと強調し、開発したものをアップストリームのコミュニティに還元していることを特色としました。このあたり、対Androidを意識しているのでしょうか。
技術的には、PowerTopやFastBootなど、Linuxが抱えている(モバイル関連の)課題を解決する取り組みであることを紹介しました。
「MeeGoは“Wonderful”と“Freedom”を両立する」
基調講演の1番手は、スピーチ巧者で定評のあるLinux FoundationのJim Zemlinさんが登壇。オープンソースのビジネスメリットを中心に、MeeGoがコンピューティングの転換点だと語りました。
まず「今日は重大な発表があります…私の娘の2歳の誕生日です」と観客の笑いをさそったあと、10年前にIBMが10億ドルをLinuxに投資することを決定したインパクトを紹介。スーパーボウルのTVコマーシャルをまじえ、この10年間でLinuxが著しく成長したことを説明しながら、Meegoを「第二の“IBM mement”」になぞらえました。
続いて、お得意の、Linuxにまつわるさまざまな数字を紹介するトークのあと、モバイルが同じような転換期に来ていると語りました。
そこでLinuxやMeeGoを使う理由を説きました。まずはコスト。現在では製品開発のコストが高くなっている一方で、携帯などのように製品の陳腐化が早く利益を得る時間が短くなっています。そこでLinuxのような共有型の開発が有効である、という理由です。
2番目の理由は、「パーソナルコンピューティング」の形が変わっていること。PCのみならず、スマートフォン、ネットブック、ブラウザ、e-Book、フォトフレーム、TV、車、飛行機など、パーソナルコンピューティングのプラットフォームが幅広くなり、「インターネットがキラーアプリケーション」という状態になっています。ちなみに、Zemlinさんはこれらの共通点はLinuxだとも語りました。
パーソナルコンピューティングが変わっている中で、アプリやコンテンツのベンダーがMicrosoft・Adobe・Apple・Googleに金を払う構造ができています。それに対し、ロイヤリティーを払う必要がなく独自のサービスやアプリケーションストアを作れるオープンなプラットフォームがMeeGoだと語りました。
3番目の理由がサービスへの移行と、今はやりの「FREE」。モバイルキャリアの資金でFree Laptopまで登場している中、モノよりサービスで利益を出すことが重要になっています。また、エンタープライズでもハードやソフトを持たないクラウドサービスが登場しています。そして、「LinuxがなければGoogle、Amazon、Facebookは今日のようになっていたか? .NETを使っていたら?」と、Linuxの重要性を主張しました。
これらの重要性について、Zemlinさんが必要なことと語るのが「Upstreamのプロジェクトで協力すること」「オープンソースの法的な保護」「fit&finish」3つ目について、Zemlinさんは、Steve JobsがiPadを紹介するビデオからリミックス的に「Magical」「Wonderful」を繰り返してみせ、続いてRichard Stallmanのビデオから同様に「Freedom」を繰り返してみせて笑いをとったあと、「両者は正反対だが、どちらも重要なこと。いままではどちらかをとる“OR”だったが、これからは両立させる“AND”が必要。そしてこれこそがMeeGoが目指すもの」だと語りました。
そのうえで、MeeGoの現状を紹介。さまざまな業種の企業が参加していて、情報を完全に公開している、リリース間隔は6か月に1度とシンプル、ということが説明されました。そして、ほかのモバイルや組み込みLinuxとの違いとして、技術的な要求、FLOSS、カスタムブランド、マルチアーキテクチャ、参加が容易で参入障壁が低い、同じソフトをアーキテクチャをまたがって使うための強力なプラットフォーム、フリーの構築ツールなどの特徴を説明しました。
最後に、MeeGoはLinuxにとってブレークスルーであると語り、「Join us」の言葉で締めくくりました。
「スマートフォンのアプリケーションプラットフォームはまだ成長の余地がある」
基調講演の2番目は、組み込みOSベンダーWind RiverのDamian Arttさんが登壇、スマートフォンの次の進化について語りました。
スマートフォンが、市場、性能、低価格化で格段の成長を続けていることをデータをもとに紹介。「36か月間に倍になる」「5年ですべての携帯がスマートフォンになる」「PCの台数より多くなる」「インドは携帯の純増としてホット」という意見などを引いて説明しました。
こうしたスマートフォン市場は、AppleのiPhoneが牽引していますし、Androidも成長率では目覚しいものがあります。そこになぜまた新しいスマートフォンOSかという点について、Arttさんは、AppStoreのエコシステムの重要性を取り上げ、「MeeGoこそがこの課題にこたえられる」と利点を語りました。
そのうえで、Wind Riverのソリューションを紹介。最後に「スマートフォンのエコノミーができてきている」と語って締めくくりました。
「NovellはIntel CPUのネットブックにMeeGoを提供」
基調講演の3番手は、NovellのGuy Lunardiさんが登場し、ネットブックのMeeGoとNovellについて語りました。
MeeGoにはいろいろなフォームファクターがあり、Novellが多くにコミットしていることを説明。そのうえで、Intelとのパートナーシップによるネットブックに焦点を当てていると語りました。背景として、ワールドワイドでは、ネットブックの1/3はWindows以外を搭載しており、Mac OS XやVDIなども注目されていて、ユーザーはWindows以外を求めていること紹介。そして、ネットブッックのMeeGoはエキサイティングと語りました。
話の主題は「SUSE MeeGo」。Linux Foundationの仕様に完全準拠し、15秒以内で起動。いわく、「すぐ電源を入れてFacebookを使いたい」という要求に応える仕様だとか。そのほか、同期サービスやAdobe Reader、JavaVMなどを紹介しました。
Qtの技術概要を紹介
個別セッションは、ノキアの鈴木佑さんから。Qtに惚れ込んでTrolltechに入社し、買収にともなって現在Nokia社員だそうです。
まず、Qtの基本を解説。発音は「キュート」。C++のクラスライブラリで、UIのみならず、ネットワーク、DB、マルチメディアなど800以上のクラス数からなるそうです。X11、Windows、Mac OS、Embedded Linux、Windows CE、Symbianなどで動いているクラスプラットフォームで、オープンソースのためコミュニティでQNXやVxWorksにも移植されているそうです。
また、開発ツールとして、MeeGoでも採用されている統合開発環境Qt Creatorや、ビルドツール、UIデザインツール、ドキュメントビューア、国際化ツールなどが用意されているそうです。
ライセンスはオープンソースで、GPL・LGPL・商用ライセンスの3つから選べる。Qt Servicesとして、サポート、トレーニング、コンサルティングなども提供されているとのこと。使用事例としては、KDE SCのほか、Linux版SkypeやGoogle Earthなど、世界で5,000社以上が採用しているとのことでした。
そのうえでQtの機能を紹介しました。Qtはモジュールに分かれていて、必要なモジュールだけ使って開発できるよいうになっています。QtCoreは非GUIの基本機能で、文字・文字列やファイル、コンテナ(リストやハッシュマップなど)、マルチスレッドなどを扱うモジュールです。QtGUIはGUIライブラリで、色、フォント、描画、GUIイベントなどを扱います。
基本的なウィジェットのQWidget(ラベル、チェックボックス、グルーブプボックスなど)、リストや表で表示するモデルビュー、ウィジェットをプラットフォームやウィンドウサイズを考慮して自動的に並べるレイアウトマネージャ、プラットフォームごとに自動で見た目を作るスタイル(C++によるプラグイン、またはCSS風のスクリプトによる調整)なども紹介されました。
GUI以外では、ネットワークを扱うQtNetwork、データベースアクセスを扱うQtSql、ブラウザエンジンのQtWebKit、マルチメディアを扱うPhonon(各プラットフォームでネイティブのバックエンドを使用)、といったさまざまなモジュールが紹介されました。
そして、開発環境を紹介しました。Qt SDKはWindows・Linux・Mac用が用意。SDKはQtライブラリとIDEのQt Creatorの組み合わせとのことです。Qt Creater自身もQtで作られたクラスプラットフォームのアプリで、Qt開発に最適化されたエディタ、UIデザイナ、ドキュメントビューアを統合し、ネットブックでもさくさく動く軽快な動作が特徴とのことでした。
そのうえでQt Creatorをデモしました。まずプロジェクト作成し、とりあえずビルドすると空のウィンドウのみのアプリができます。そして、テキストラベルで「Hello World」を表示したり、フォントを変更したり、いろいろなウイジェットを置いてみtari,WebKitのウィジェットを追加したりといった例を見せました。
最後に、「Qtは非常に簡単にアプリケーションを作るためのフレームワーク」であるという言葉とともに、キャッチフレーズ「Code less. Create more.」を紹介。ドキュメントや書籍、最近スタートしたブログ「Qt Labs Japan」を紹介して締めくくりました。
自社ライブラリと開発ツールを生かして3D UIを実現
エイチアイの鈴木啓高さんが、自社の得意とするリッチユーザインターフェースをMeeGo上に移植した体験を語りました。携帯向け3D UIエンジン「MASCOT CAPSULE」が広く使われていて、マチキャラやバイオハザード4、みんなのゴルフなどに採用されているそうです。
対象は、Intelから提供されたMID端末。「要はx86とLinuxなので、苦労するわけがない」とジャブをかましつつ、苦労した点を語りました。
Intelと話をした時点ではまだMoblinだったそうですが、話が進むうちにMeeGoになっちゃった、ClutterじゃなくてQtになっちゃったということがあります。ただ、ClutterやQtの経験もそれほど蓄積されていなかったので、とりあえず素のX11(Xlib)上で自社開発のUIフレームワークを使って開発れたそうです。
もうひとつ問題だったのは3Dのハードウェア。OpenGL ESが提供されているということで、使えるかと思ったら、調べてみたら動かない。いろいろやってみて、結局OpenGLなら動いたのでそちらで開発したとのことでした。「よくある話」と話しながら、そのあたりがいちばん時間がかかったようです。
開発環境の特徴は、プログラマーの環境のほかに、デザイナーさんの環境も用意していること。最近のGUIオリエンテッドなリッチUIの世界では、デザイナさんが絵や動きを作り込む要素が大きいということです。これまでの開発フローではデザインが決まってからプログラム実装というウォーターフォールっぽい工程になりますが、使って動かしてみないとわからないので、デザイナーさんの環境も用意することで、デザインとプログラム実装をトライ&エラーで繰り返せるようになったそうです。
その工程をデモ。市販の3D制作ツールで作って素材を書き出して、オーサリングツールで読み込み、ドラッグ&ドロップでレイアウトしてイベントに対応したアクションを作ってみせました。イベント自体はプログラマーの作業になるそうです。また、Photoshopでレイヤー分けしたデザインを、レイヤーごとにパーツとする様子も見せました。
この環境を使って、2009年12月に開始した作業が、年末年始、年度末、携帯新機種などのかたわら完成。OpenGL対応の部分が解決したら、1~2か月の作業だったそうです。また、ダメ出しにもさほど問題なく作りなおしができたそうです。
会場では、ありものの3Dをとりあえず乗せてみた、格闘ゲーム風のカンフーのデモや、3D+タッチインターフェイスを使ったランチャーのデモなどを見せました。
最後に、「UIからUXへの変化」としてデバイスがユーザーに働きかける「アクティブUI」を論じ、センサー利用やパーソナライズされたUI、ベイジアンネットワークで状況と操作をつなげる研究などを紹介しました。
「Atomに最適化した環境を提供する」
最後にインテルの池井満さんが登壇し、インテルがMeeGoに取り組む理由を解説しました。
まず語ったのが「Software Continuum」(連続性、ソフトを使い続けること)。かつてPCはIA+Windowsのエコシステムとなっていたものが、90年代のはじめから、WebやJava、Flashなどで変化しはじめました。そのような状況な中で、IntelはMeeGoによって1つのOSで複数のデバイスに対応し、Atom用ソフトウエアの連続性を担保すると説明しました。
そして、改めてMeeGoを紹介。QtをMeeGoに対応させる、MeeGo UIフレームワークというレイヤーが加わっているものの、内部構成はほぼMoblinと同じ。ベースは「まったく普通のLinuxで、そのうえにミドルウェアと、携帯向けとネットブック向けのUXが乗っている。Qtがベースですが、ClutterのAPIも残っているそうです。
特徴としては、用途別のUX、ネットワーク接続を管理するconnman、テレフォニーフレームワークofono、PIMやクラウドの同期、統合SNS、アプリ開発環境、電源管理、高速起動、マルチメディアサポート、マルチ言語,ジャスチャtolマルチタッチのフレームワーク、センサーフレームワークなどが語られました。
また、Intelではハードやソフトだけではなく、Intel AppUp CenterとIntel Atom Developer Programを通じてサービスも提供するという話でした。AppUp Centerはアプリを売る店で、現状はβ。アメリカとヨーロッパで始まりましたが、法律上の問題で日本では買えないそうです。「ネットブックの使用方法や環境に最適化されたアプリケーションはない」ことからいまはネットブックのみですが、ネットブック以外のデバイスメーカーとも話し合ってやっていきたいという話でした。
最後に4~5月にMeeGo 1.1がリリースされ、以後6か月間隔で新しいバージョンがリリースされると紹介して締めくくりました。
コメント
コメントの投稿
トラックバック
https://emasaka.blog.fc2.com/tb.php/742-2beb64f9