2013年02月26日

Firefox OS離陸滑走路へ進入開始

昨日(02/25)、Firefox OSのビッグニュースが配信されているようだ。ググっていたら、下のようなニュースが流れているのを見つけた。



MWC2013(Mobile World Congress 2013)開幕前日の02/24(現地時間)に、Mozillaがプレスイベントを開催してこのニュースを発表したらしい。

KDDIのサイトにも下のプレスニュースが掲載されているのを見つけた。

 「Firefox OS」搭載端末の導入に向けた取り組みについて
 〜HTML5時代到来に向け、両社のノウハウを生かす協力関係を構築〜


昨日PandaBoard購入の記事を書いている最中に上のニュースを知ったんだけど、前記事の内容を優先したかったので、このニュースに対する感想を改めて書きたい。私がPandaBoardを入手したその日にこういうビッグニュースが配信されたことに、何か運命的なものを感じている。

また、この記事を書きながら改めてFirefox OSについてググっていたら、下のような速報ニュースも見つけた。

 (速報)ソニー、Firefox OS開発の初期参入に名乗り ―2014年に発売
 Sony jumps on the Mozilla bandwagon, will launch Firefox OS device in 2014

下の方のリンクがこのニュースのソースのようだ。

これで日本国内でもFirefox OS搭載スマホが発売されることが確定的になったが、問題は実際の製品がいつ頃登場するかだ。これについては複雑な気持ちを持っていて、早く登場して欲しいのと遅れて欲しいのが半々だったりする。私はこれから研究活動を始めるので、あまりに早くFirefox OS搭載スマホが発売されてしまうと、その動きに追随していくのか大変だからだ。まぁ、製品が発売されたら、それを買って追いかけていくしかないとすでに覚悟を決めているが・・・。

国内の大手携帯キャリアーのもう一方の雄であるNTTドコモは、Tizenを搭載したスマホの開発を検討しているらしい。下のニュースにそのことが書かれている。

 ドコモ加藤社長、Tizen搭載スマホを「検討しているのは事実」

私が予想していたとおり、Androidに対抗するモバイルOSの動きがここにきって一気に活発になっている。ここまで活発な動きが出ているのは、携帯端末メーカーやキャリアー企業がAndroidとGoogleに対する相当大きな不満や不安感を持っているからじゃないかという気がする。Androidを覆う暗雲が益々大きくかつ厚くなっており、その未来図が観え難くなっていることと関係しているのかもしれない。現在はまだ企業の動きだけが活発な状況だが、私と同じように、一般のユーザーやプログラマの中にもFirefox OSやTizenに大きな期待を抱いている人が相当数いるはずだ。今後この動きはさらに大きなうねりになっていくだろう。

ちなみに、前記事で紹介したPandaBoard ESにはTizenも移植されているらしい。つまり、このボード一枚でAndroid、Firefox OS、Tizenの3種類のOSを動かすことができる。どうしてもこれを入手したかったのは、この理由もあったからだ。

2013/02/25は記憶に残る日になりそうだ。この日を境に、モバイルOSは二大強国時代から戦国時代に突入したと言って良いだろう。Androidのときは乗り遅れてしまってすごく後悔したので、今回はこの動きに絶対に乗り遅れないようにしたい。
posted by とみやん at 08:23| Comment(0) | TrackBack(0) | モバイルOS研究 > Firefox OS

2012年12月11日

Firefox OS, MeeGo, Qtの研究を始める

前記事に、Androidと決別して対応勢力のモバイルOSの研究活動を始めると書いたが、さっそく以下の3つの記事カテゴリを追加した。

 モバイルOS研究−Firefox OS
 モバイルOS研究−MeeGo
 OSS研究−Qt

新しいカテゴリについて少し説明を書いておこう。

最初にMeeGoについてだが、このモバイルOSはあまり世間一般には知られていないかもしれない。IntelとNokiaが組んで、それぞれが主導していたMoblinとMaemoを統合したモバイルOSを開発することを目指したのがMeeGoだ。CPUメーカーのトップ企業であるIntelと携帯電話メーカーのメジャー企業であるNokiaが、Androidに対応するモバイルOSを作っていくという動きに、一時はかなり注目を浴びていた。2010年5月に正式版のMeeGo 1.0がリリースされ、2011年5月に最新版の1.2がリリースされている。IVI(In-Vehicle Infotainment:車載情報)システムの標準化を推進するGENIVI Allianceが策定した仕様に準拠するOSとして認定され、GENIVIがその次期リファレンスリリースのソフトウェア基盤としてMeeGoを正式に選択・採用すると発表したときは、一際MeeGoに注目が集まった。しかし、2011年2月にNokiaはSymbian OSとMeeGoを捨ててWindows Phoneベースのスマートフォン開発に集中する方針を発表し、Intelも2011年9月に開発プロジェクトから撤退することを表明した。これによって、MeeGoの開発はすでに終了している。

プロジェクトとしては終了したMeeGoだけど、その資産の多くはTizenに引き継がれているようだ。MeeGoプロジェクトをホスティングしていたのはLinux Foundationだが、Tizenも同じLinux Foundationがホスティングしている。また、Nokia社内でMeeGoプロジェクトに参加していたメンバーが独立してJolla(「ヨーラ」と発音するらしい)というベンチャー企業を創設する動きも出ている。JollaもMeeGoの資産を活かした新たなモバイルOSを開発することを目指すと表明している(この記事を書きながら「Jolla MeeGo」というキーワードでググってみると、Jollaが開発中のモバイルOSはどうやらSailfish OSという名前らしい。これはコードネームなのか正式名称なにかは不明)。Tizenを開発しているのはTizen Associationというグループで、その主要メンバーにはIntelとSamsungが名を連ねている。企業主導のMeeGo継承プロジェクトがTizenであり、個人自主参加型のプロジェクトがSailfish OSだと考えると解りやすいだろう。私としては、TizenよりもSailfish OSを応援したい。Tizenのアプリケーション開発環境は全面的にHTML5ベースであるのに対して、Sailfish OSはどうも違うアプローチを採用するつもりらしい。

じつは、過去に仕事上での縁があり、私はNokia(と言っても、ノキア・ジャパンだけど)の社内の雰囲気を良く知っている。自由な雰囲気の中で、日本人も外国人も皆のびのびと働いていたのがすごく印象的だった。自ら開発したSymbian OSは当然ながら、手を引いたMaemoやMeeGoプロジェクトへの支援をNokiaはまだ続けており、オープンソースコミュニティでのNokia社員達の活動も盛んだ。このオープンな姿勢と面倒見の良さは他の企業とは一線を画していると、私はNokiaという企業を高く評価している。Jollaが開発中のSailfish OSは後で説明するQtの資産も多く取り込むようなので、どういうものが登場するのかすごく楽しみだ。

二つ目のFirefox OSについては最近多くのニュースが流れているのであまり説明は要らないかもしれない。その名のとおり、FirefoxブラウザをリリースしているMozilla Foundationが開発しているモバイルOSがそれだ。Firefox OSという名前は一般向けに新たに作られたもので、プロジェクト名は「Boot to Gecko(略称:B2G)」というらしい。2012年11月15日(米国時間)にFireboxブラウザ上で動作するシュミレータがリリースされたばかりで、いま一番注目を浴びているモバイルOSプロジェクトとなっている。Firefox OSのユニークな点は、アプリケーション実行環境としてHTML5とネイティブ層の統合化を目指している点だ。ネイティブAPIの上にHTML5ベースのラッパーをかぶせて、Webアプリからネイティブ層の機能をシームレスに呼び出せる動作環境を構築することを目標にしているようだ。ネイティブ層のほぼすべてをJavaフレーワークで覆い隠しているAndroidとは対象的な構成だと言える。Androidを反面教師としてこのような動作環境を選択したのではないかという想像が働いてしまうが、この想像はあながち外れてはいないじゃないかという気がする。HTML5ベースの動作環境であるということはアプリ開発の主力言語はJavaScriptになるということを意味しており、これは大歓迎だ。JavaScriptは私の大好きな言語だからだ。Firefox OSやTizenが普及すれば、WebプログラマがこれらのOS向けのアプリを楽に作れるようになるはずだ。Webプログラマはデザインセンスを備えた人が多く、スマートデバイス向けアプリで要求されるユーザーフレンドリーなUI設計への適応力も高いので、いまはJavaプログラマが幅をきかしているスマートデバイス分野のエンジニア勢力図が大きく塗り変わる可能がある。そうなるとJavaは過去のプログラミング言語になっていくかもしれない。JavaよりもHTML5/JavaScriptによるプログラミング技術を習得する方が明るい未来が拓けると、私が確信している理由がこれだ。

Android SDKの正式版リリースのときに乗り遅れたことをすごく後悔したものだが(いまはまったく後悔しておらず、むしろAndroidアプリ開発を本格的に始めなくて良かった思っている)、Firefox OSの正式版は来年2013年早々にもリリースされるという観測情報が流れている。この動きに備えて、いまからFirefox OSを研究を始めようと思っている。Google Nexus SやSamsung GALAXY S2上で動作するイメージがB2Gプロジェクトのサイトですでに公開されているようなので、これを何とか実機上で動かせないかと目論んでいる。どちらもAndroidスマホだが、ググった情報によると、この2つがFirefox OSの現在のリファレンスプラットホームになってらしい。GALAXY S IIの中古品はたんさん出回っているので、できるだけ安く一台入手しようとオークションなどをチェック中だ。上手く入手できたら、Firefox OSを実機で動かすことにトライするつもりだ。

最後のQt(「キュート」と発音する)は、モバイルOSではなくアプリケーションフレームワークだ。組込み分野では有名なソフトウェアだが、世間一般でQtを知っいる人はほとんどいなんいじゃないかと思う。1991年にEirik Chambe-EngとHaavard Nordによって開発が始められ、1992年にTrolltech社から最初の正式版バージョンがリリースされている。その後、2008年1月にTrolltech社はNokiaにより買収されQt Development Frameworks(旧社名Qt Software)という子会社になり、さらに、2012年8月にDigiaがNokiaからQt部門を買収している。組込み分野ではQtはGUIソフトウェァとして有名だが、20年という長きに渡り拡張と改良が加えられてきたことにより、現在では、OpenGLやSVGどのグラフィック、ネットワークやマルチメディア、さらにはWebブラウザのライブラリまで含まれており、現代のモバイル系アプリケーションに必要なほぼすべての機能を内包した一大フレームワークとなっている。現在のQtの最新の正式版バージョンは4.8.4だが、Digia社内では次期メジャーバージョンであるQt 5.0へ向けた開発が行われており、つい最近の2012年11月13日にQt 5.0 Beta2がリリースされたばかりだ。Qt 5.0では大規模なアーキテクチャの変更が行われる予定で、5.0正式版リリースの登場によってQt はさらに大きく進化すると観られている。そして、DigiaはQtをAndroidやiOSへ対応させることも計画中らしい。

世間一般にはあまり知られていないQtだが、商用版とオープンソース版の二系統のライセンス形態で配布されていることから、組み込み機器での採用例が多く、フレームワーク全体がC++で書かれていることにより低性能なCPUでも高いパフォーマンスで動作することが好まれ、家電、車載機器、計測機器、医療機器、ゲーム機など様々な場所で使われている。また、Windows、Mac OS X、Linux用の各バージョンも配布されており、これらのOSのGUI APIの差異をQtがラップングしているので、一種類のソースを書くだけで、すべてのOSで動作するプログラムを開発できる。この利点を活かして、マルチプラットフォーム対応のマップ、ナビゲーション、ゲーム・アプリなどでも広く使われている。

このように人知れず使われているQtだが、ググっていみると意外に日本語の情報が少ないことに驚く。Qtの配布ファイルは2010年だけで160万回ダウンロードされた(15秒に1回ダウンロードされた計算になる)そうで、世界中で多くの人が研究開発に取り組んでいるのに比べて、日本国内で本格的なQt開発の経験を持っているエンジニアは少ないのかもしれない。じつは、本業の仕事の方で、私はいまQtの移植・開発をやっている真っ最中だ。Qtに含まれているQtWebKitを使って組込みLinux上で動作するWebブラウザを開発することが目的で、Adobe Flash Player Plugin無しでYouTubeの動画を再生できる(HTML5仕様のvideoタグに対応したブラウザならこれが可能)環境を構築することを最大の目標にしている。組込み分野で長年仕事をしてきたので、Qtについては以前から知っており、MeeGoへの興味を抱いてこともあり、Qtは一度は本格的に取り組んでみたい研究テーマだったが、いままさにそのチャンスが訪れている。守秘義務があるので、現在やっている本業作業の詳細は書けないが、公開可能なものに限って、これからQtの情報を書いていこうと思っいている。

話が逸れて、またAndroid批判になってしまうが、組込み機器でAndroidを採用する上でいくつかの大きなハードルがある。その代表的なものは次の3つだ。

 ・Cortex-A8コア以下のCPUでは、実用的なパフォーマンスで動作しない。
 ・大きなメモリリソースを要求し、最低512MB、実用上は1GB以上のメモリを搭載する必要がある。
 ・バッテリー消費率が高く、バッテリー駆動の機器では大容量のものを搭載する必要がある。

前の記事に書いたとおり、上記のハードルはいずれもDalvik Java VMがCPUパワーを食い過ぎることが原因だが、これらのハードルによって、事実上AndroidはCortex-A9コアCPU以上を搭載したハイエンド機器でしか使いものにならない。量産効果によってコストダウンが図れるスマホやタブレット、家電製品などならともかく、製造台数一万台以下の特定分野向け機器では上記のハードルは部品価格の増大という大きな障害を生み出す。製造コストを抑えるために、小ロッド生産の機器ではCortex-A8やARM11コアを搭載したミドルレンジCPUを採用することが多いが、このような機器ではAndroidは実用的な性能では動かない。しかし、こういう機器でAndroidの採用を検討している理由を開発計画担当者にヒアリングしてみると、単にWebブラウザ機能を搭載したいからだったりすることが良くある。Webブラウザを搭載したいだけならQtを移植すれば十分であって、わざわざAndroidを採用する必要性などまったくない。これから本ブログに掲載していくQt関連の記事は、Qtの素晴らしさを多くの人に知ってもらうことが第一の目的だが、それと同時に、Qtを使えばAndroidなしでもMIDを制作できることをアピールしたからでもある。MeeGoやSailfish OSでもQtが使われることから解るように、Qtは「Non-Android」MIDを開発するためのキーとなるソフトウェアだ。来年早々にはQt 5.0もリリースされ、益々注目が大きくなっていくはずだ。Qtのスペシャリストになれば必ず新事業の展望が拓けるという予感電波を、いま私のアンテナがビンビン受信している。本業の仕事でもやっているので、最優先の研究開発テーマとしてQtには本格的に取り組むつもりだ。

【追記】

ここに来て、Tizen、Sailfish OS、Fireforx OSと次々と新しいモバイルOSが登場している理由はなぜなのか考えてみた。やはり、AndroidとiOSしか存在しないことはスマートデバイスの進歩にとって大きな弊害だと考えている企業やユーザが多いことが最大の理由なんじゃないかという気がする。iOSはApple社の製品専用のOSであり他の機器向けにライセンス供与はされていないが、Androidはオープンソース・ソフトウェアとして公開・配布されている。現状スマートデバイスを開発・製造しようとすれば、Androidを採用するのがもっとも手っ取り早い方法であることは否定しがたい事実だ。つまり、民生機器に移植可能なモバイルOSを事実上Googleが独占している状態となっている。Android SDKなどはGoogleではなくOHA(Open Handset Alliance)という団体のサイトからの配布されているが、Androidの開発を取り仕切っているのは実質的にGoogle一社だけであり、Androidのアーキテクチャや機能、そしてソース公開の時期などはGoogleという企業の一存によって決められている。いままで、Googleはオープンな姿勢を続けてきたが、これからもずっとそれが続くとは考え難い。次期メジャーバージョンのAndroid 5.0ではOHAに参加している一部の企業にのみ早期にソースを公開し、他の企業や一般向けには遅れてソース公開を行うことを表明している。この方針転換は、やはりKindleの存在が大きくAmazonの動きを警戒しているからだろう。AmazonはOHAへ参加しておらず、KindleはAndroidの公開ソースに改造を加え、独自に開発したSilkというブラウザを搭載する形で構成されている。アプリ配布も自身のAmazon Appstoreというマーケットで行なっており、GoogleのAndroid搭載端末によるエコシステム(≒利益獲得システム)に風穴を開けている。

私が「Anti-Android」を前面に打ち出すことを決意した理由の一つは、これ以上Google社の利益獲得システムに加担したくないからだ。企業の第一目標は利益の獲得なので、これを全面的に否定するつもりはないが、Androidのシェアがあまりに大きくなりすぎて、いままさにGoogleによる寡占状態が築かれつつある。他の企業や団体によるいくつかのエコシステムがバランス良く併存する方が社会にとっては良い形ではないだろうか。これ以上Androidのシェアが大きくなることは社会的な利益よりも色々な弊害を生み出す可能性の方が高いように思えてならない。PC向けOSでMicrosoftの寡占状態が崩れつつあるように、いずれモバイルOSでのGoogleの寡占状態も崩れていくと思うが、その時期が少しでも早く訪れるように、Androidの対抗勢力へ積極的に参加していきたい。多くの人が目先の利益に流さることは仕方がないことだし、その流れに身を任せることは一つの選択だと思うが、あえて時流に反した選択をすることも未来社会への貢献になると私は信じている。
タグ:QT MeeGo Firefox OS
posted by とみやん at 10:04| Comment(0) | TrackBack(0) | モバイルOS研究 > Firefox OS