Archive for July, 2013

「Chromecast」 劇的に小さくなりブラウザーで動くGoogle TV~次世代スマート・テレビのすがた

Wednesday, July 31st, 2013

テレビの未来が大きく変わろうとしている。Googleは、2013年7月24日、記者会見でChromecastを発表した。Chromecastとは、Google TVをスティック状に実装したもので、テレビ端子に差し込むだけで、スマート・テレビとして機能する。手軽に使えるだけでなく、ここにはGoogleが描く、次世代テレビの姿が隠されている。

g328_google_chromecast_01

Chromecastを使ってみる

Chromecastは、Google Playで35ドルで販売されており、早速購入し、使い始めた。ChromecastはUSBメモリ・スティックを一回り大きくした形状で、インターフェイスはHDMIである。上の写真はChromecastをテレビのHDMI端子に差し込んで使用している様子である。Chromecastへの電力は、USB端子から供給する。Chromecastを使うと、スマートフォンやタブレットで、アプリの出力をテレビにすることができる。YouTube、Netflix、Google Play Movies & TVアプリを起動して、テレビでビデオや映画を見ることができる。Chromecastを使う際に、スマートフォンやタブレットに、Chromecastアプリをインストールして初期設定を行う。アプリを起動すると、Chromecastデバイスを認識し、WiFiなどの設定を行うだけですぐに使える。

g328_google_chromecast_02

YouTubeをテレビに出力する

上のスクリーンショットは、Nexus 7のYouTubeアプリで、オバマ大統領の演説を見ているところである。画面上部ツールバーに箱型アイコン(水色の箱) が現れ、ここにタッチして、出力先をChromecastとする。これでYouTubeビデオをテレビで見ることができる。

g328_google_chromecast_03

上の写真がその様子で、タブレットで起動したYouTubeを、テレビに出力している。タブレットから、ビデオを再生するだけでなく、停止、早送り、音量調整などを行うことができる。

Google Playで映画や音楽を楽しむ

スマートフォンからGoogle Playのテレビ番組や映画を起動して、テレビに出力することもできる。下のスクリーンショットがこの事例で、画面上段ツールバーの箱型アイコンにタッチして、出力先をテレビとする。コンテンツがテレビに出力されている際は、スマートフォン側のビデオは停止となり、テレビ側のビデオだけが更新される。

g328_google_chromecast_04

ブラウザー画面をテレビに表示

パソコンからブラウザー・タブをテレビに出力することもできる。Googleはブラウザー向けに、Google CastというExtensionを公開しており、これをブラウザーにインストールして利用する。使用法は、上記に同じで、ブラウザー・ツールバーに表示される箱型アイコンをクリックすると、画面がテレビに表示される。下のスクリーンショットは、パソコンのブラウザーで、出力先をChromecast_livingとし、テレビに表示する指定をしている様子である。

g328_google_chromecast_05

下の写真は、パソコンのブラウザーでニュースをみており、それをGoogle Castで、テレビに表示している様子である。この他にGoogle+に格納している写真などをテレビに映して見ることができる。また、Google TVでは見ることのできない、Huluや四大ネットワークのドラマなどをGoogle Castでテレビに出力できる。

g328_google_chromecast_06

Apple AirPlayと何が違うのか

Chromecastは画面をテレビにストリーミングするのではなく、モバイル・デバイスから、操作コマンド (再生、停止、早送りなど) をChromecastに送信しているだけである。コマンドを受信したChromecastが、自らウェブサイトにアクセスし、コンテンツをダウンロードする構造となっている。見かけはApple AirPlayのストリーミング方式であるが、その仕組みは根本的に異なる。

メッセージ送信のメカニズム

画面を出力する技術はGoogle Castと呼ばれている。Google Castは、送信側をSenderと呼び、Android・iOSのスマートフォン・タブレット、及び、Chrome OS、Mac、Windowsパソコンをサポートしている。これらモバイル・デバイスのアプリ (Sender App) を起動して、Chromecastと交信を行う。受信側はReceiverと呼ばれ、現在はChromecastだけである。ReceiverであるChromecastには、Chrome OSとアプリ (Receiver App) が稼働している。受信したデータはHDMI経由でテレビに送信される。(Chromecastの仕組みを理解するにはGoogle Cast Developer Previewが役に立つ。)  Chromecastは、スマート・テレビなのかブラウザーなのか、理解しずらい製品である。Chromecastという名前は、スティック状のChrome OSプロセッサーであると捉えると、製品の位置づけが見えてくる。Chromecastは、Chromebookと構造的に近い関係にある。ChromebookはChrome OSを搭載したラップトップで、本体がChromecastに相当し、モニターがテレビに、キーボードがモバイル・デバイスという関係になる。スマートフォンを遠隔キーボードとして、Chromecastを操作し、その出力をテレビに行うという構造となっている。

ポストGoogle TV戦略

Googleは何も表明していないが、ChromecastがGoogle TV新モデル、という格好になっている。Chromecastがスマート・テレビの方向性を示している。Google TVは2010年にSonyなどから出荷されたが、消費者の評価は芳しくなく、市場で苦戦している。不振の原因は、Google TVを操作するリモコンの形状と、Google TV向けの開発エコシステムが広がらなかったことにある。特に、Qwertyキーボードを搭載したリモコンは、使いづらいと不評であった。

g328_google_chromecast_07

Chromecastでは、リモコンを提供する代わりに、スマートフォンやタブレットのアプリを使うのがポイントである。利用者は、専用リモコンではなく、馴染みのアプリ操作でテレビを見ることができる。上のスクリーンショットは、iPhoneのYouTubeビデオを、Chromecastに出力している様子である。馴染みの操作で直観的に行える。一方、開発者からすると、Google TVという専用デバイス向けにアプリを開発するのは、敷居が高い。Chromecastでは、スマートフォンやタブレット向けアプリを開発するだけで、参入のハードルがぐんと下がる。更に、テレビ・メーカーは、Chromecastを内蔵することで、簡単にスマート・テレビを開発できる。Chromecastで開発者のエコシステムを広げる環境が整いつつある。

g328_google_chromecast_08

(上の写真はChromecastスタンバイ画面)

今年最大のヒットとなるか

Chromecastを使い始めたが、シンプルな構造で、直観的に操作でき、たいへん便利である。アプリを起動して、再生ボタンを押すという、馴染みの操作で、コンテンツをテレビに出力できる。ただ、アプリは、YouTube、Netflix、Google Playと、利用できる種類が限られており、今後の展開に期待している。特に便利な機能は、パソコンのブラウザーをテレビで見れる点である。ブラウザー経由なのでコンテンツの種類が一挙に広がり、Huluや人気番組をテレビで見れるのがうれしい。画面ストリーミングとは異なり、番組を見ながら、別のタブでTwitterやFacebookにコメントを投稿できる。Microsoft SkyDriveのPowerPointでプレゼンしながら、別のタブで情報検索ができるのもうれしい。これだけの機能が35ドルで手に入るので、Chromecastは今年最大のヒット商品となりそうである。

「Firefox OS」 を読み解く~ Mozillaエバンジェリストの視点

Saturday, July 27th, 2013

第三のモバイルOSであるFirefox OSを搭載したスマートフォンは、スペインTelefonicaから出荷されている。下の写真は、Madrid (スペイン) のショールームで、Firefox OSを搭載したZTE Openが販売されている様子である。 (写真はRobert Nymanのブログ「Firefox OS devices officially released!」から引用。)

g327_firefox_os_develop_01

何のためにブラウザーでスマホを開発?

Firefox OSは、HTML、CSS、JavaScriptなど、オープン・ウェブ標準技術で開発されたスマートフォン向け基本ソフトである。Firefox OS開発のニュースを読んだとき、ブラウザー・ベースのスマートフォンで何ができるのか、どんな意図があるのか、という疑問が先に立った。iPhoneとAndroidが強固な市場を築いており、第三のOSは参入の余地は無いのでは、というのが率直な感想であった。Firefox OSは、シンプルな構造で、製品開発の意図を理解するのは難しい。このレポートでは、Robert Nymanの協力を得て、開発者の視点で、Firefox OSを読み解く。Nymanはスェーデン在住のMozilla Technical Evangelistで、Firefox OS開発に当初から携わってきた。このレポートでは同氏のブログ「The Launch Of Firefox OS – My Thoughts And Some History」を参照した。ここには、Firefox OS開発思想や製品の狙いが述べられており、Firefox OSを正しく理解するための、必読のブログである。

フィーチャーフォンを意識して開発された

Nymanは、冒頭で、「Firefox OSは、iPhoneやAndroid上位機種と競合するものではない」と述べている。Firefox OSは、iOSやAndroidと並列に評価されるが、この対比は正しくなく、目指している市場が異なる。「Firefox OSは、新興国向けに、低価格でスマートフォンを提供すること」を目指すと述べており、Firefox OSはフィーチャーフォンを意識して開発されている。一方、開発者に対しては、閉じられた開発環境ではなく、「完全にオープンなモバイル基盤を提供し」、だれでも自由に開発に参加できるチャンスを提供するとしている。

ウェブからスマホ・ハードウェアを操作

Nymanは「AppleのiPhone開発手法は間違っている」とも指摘している。開発者はSafariブラウザー向けにウェブ・アプリを開発することを期待していたが、ウェブ・アプリからは「カメラなどハードウェア機構にアクセスできない」という制約があった。Mizillaは、2011年8月、HTML5技術でスマートフォンを開発するため、WebAPIプロジェクトを開始した。WebAPIとはデバイスのハードウェア機構にアクセスするためのAPIで、HTML5コードからスマートフォンの電話やカメラなどを操作できる。WebAPIはFirefox OSの中核機能で、W3Cによる標準化作業が進められている。下のテーブルはWebAPIの種類と標準化作業進捗状況を示したものである。つまり、Firefox OSでは、ウェブ・アプリからスマートフォン・ハードウェア機構を操作できるようになり、ウェブ技術でOS開発が可能となった。

g327_firefox_os_develop_02

そもそもアプリは必要なのか

Nymanは、スマートフォンにアプリは必要なのか、と問いかけている。「ウェブがあればそれで充分で、わざわざウェブをアプリに焼き代える必要はない」としている。これは、ニュースを読む際に、スマートフォンでモバイル・ウェブにアクセスすればよく、わざわざニュース・アプリをダウンロードして、記事読む必要はないという議論である。例えば、USA Todayを読む際に、iPhoneのSafariブラウザーでモバイル・ウェブ(w.usatoday.com) にアクセスする方式 (下のスクリーンショット左側) と、 USA Today for iPhoneというアプリを利用する方式 (同右側) では、その差異は無い。無ければ、モバイル・ウェブを使うべきと主張している。

HTMLをスマホ・アプリに移行

アプリ開発は、通常、iOSやAndroidなど、複数OS向けに行われる。多くの企業では、開発コスト削減のため、「PhoneGapなどのツールを使い、HTML5コードをiOSやAndroidネイティブ・コードに変換」する。PhoneGapとは、オープンソース・ソフトウェアで、HTML5、JavaScript、CSSで記載されたウェブ・アプリを、iOSやAndroidなど、異なる基本ソフトで稼働させる機能を持っている。平たく言うと、ウェブサイトをアプリにラッピングする機能を提供する。BBCが、ロンドン・オリンピックで、PhoneGapを使ってBBC Olympicsアプリを生成したことでも有名である。ウェブで開発されたコードをわざわざスマートフォン向けに変換している。Nymanは、「モバイル・ウェブサイトで充分な機能を提供できれば、アプリ開発は不要である」と述べている。

g327_firefox_os_develop_03

勿論、スマートフォン向けにアプリが必要なケースは多々ある。この事例として、「リッチなインターフェイスを提供したり、ローカルにデータを保存する場合など」を挙げている。これらのケースでは、Firefox OS向けにアプリを開発して、配布する必要がある。アプリがトレンディであるが、是が非でもアプリを開発する必要はなく、ウェブとスマートフォンで機能分担すべきと主張している。

Firefox OSOpen Webを目指す

これら議論の背後には、Open Webを守っていく、という決意が読み取れる。Open Webとは確たる定義は無いが、標準仕様に沿って、コンテンツを自由に掲載・閲覧できるウェブを意味する。インターネット・ブームを契機に、Open Webで文化が花開き、Web 2.0などの造語が生まれた。その後、iPhoneが登場し、利用者はアプリに惹きつけられた。標準仕様の世界から、AppleやGoogleが定めた独自仕様の世界に引き込まれた。オープンなウェブを標榜するGoogleも、Androidで固有なエコシステムを築いてきた。Open Webの旗手であるMozillaは、Firefox OSで、流れを引き戻し、再び標準世界の構築を目指している。

Firefox OSに勝算はあるのか

Firefox OSで、ウェブに自由を取り戻せるのか、Nymanにズバリ尋ねた。Google ChromebookとFirefox OSは、ウェブベースのOSということで共通点が多い。Chromebookは人気がないが、Firefox OSの勝算を尋ねると、「Chromebookが不振な理由はアプリが揃っていないため」と分析している。つまり、Firefox OS成功のためには、アプリの品ぞろえが鍵を握る。次に、Facebookアプリは性能問題で、HTML5からネイティブ・コードに切り替えた。この点に関しては、「Facebookアプリの性能問題はUIWebViews (Safariの一機能) に起因し、HTML5の問題ではない」とし、Firefox OSは充分な性能を提供できるとの見解を示した。つまり、Firefox OSの成功は、開発者のエコシステムを拡大し、クールなアプリを生み出すことにかかっている。

g327_firefox_os_develop_04

大手キャリアがFirefox OSを採用した理由

キャリアはFirefox OSをどう評価しているのか、興味深いビデオがある。これは、「Firefox OS for developers: the platform HTML5 deserves – Getting Started」という題名で、MozillaのChris Heilmann (上のスクリーンショット右側) がTelefonicaのDan Appelquist (同左側) にインタビューしたものである。この中でAppelquistは、Firefox OSを搭載したスマートフォンで、開発エコシステムが広がることへの期待を表明している。Appelquistは、Firefox OS機能で、他社と差別化を図る必要があると述べている。その機能とは、Firefox OSがHTML5など、オープン・ウェブ技術で開発されていることで、開発者は既存の知識やツールで、アプリ開発に容易に参加できるため、この利点を活用すべきと述べている。Appelquistは、特に、ウェブ技術でデバイスのハードウェア機構にアクセスできるWebAPIを高く評価している。Firefox OSでは制約が無くなっただけでなく、WebAPI仕様をW3Cへ提案し、標準化作業を進めていることも明らかにしている。キャリアとしては、一企業の仕様に依存するのではなく、国際標準を採用したい、ということを意味している。

g327_firefox_os_develop_05

(Mountain Viewに拠点を置くMozillaオフィスビル外観。Google本社のすぐ近くで、ビジネスだけでなく、地理的にも近い関係。)

沈滞しているモバイル市場を活性化

Firefox OSは、閉じられた世界に向っているモバイル技術を、オープン・ウェブに引き戻すことを目指している。Firefox OS開発環境はオープンで、エコシステムが広がり、斬新な技術が生まれることが期待される。Firefox OSは、iPhoneやAndroidと直接競合するものではなく、フィーチャーフォン市場をターゲットとしている。新興国が主要市場あるが、これからはアメリカや日本などの先進国も対象となる。スマートフォン市場では、iPhoneのイノベーションが止まり、Androidは独自色が出せなくて苦悶している。この沈滞ムードを打ち破るためにも、Firefox OSへの期待が高まる。

【技術解説】

基本操作とアプリの種類

Firefox OSは、HTML、CSS、JavaScriptなど、オープン・ウェブ標準技術で開発された基本ソフトである。利用者はデバイスを起動し、アイコンにタッチして、アプリを起動する。下のスクリーンショット (この章の出展はいずれもMozilla) 左側は、Music Gridで、音楽アプリを起動し、アルバムを閲覧している様子である。希望のアルバムにタッチすると音楽が再生される。同右側はVideo Playerで、サムネールにタッチすると、ビデオが再生される。ボタン操作はiOSやAndroidと変わらないが、Firefox OSで稼働するアプリは、HTML5などウェブ技術で開発されている。Firefox OSが提供しているアプリは二種類あり、それぞれ、Hosted AppとPackaged Appである。Hosted Appはサーバ側で稼動するウェブ・アプリで、Packaged Appはデバイスにインストールして使用する。

g327_firefox_os_develop_06

App Manifestとは

Firefox OSは、アプリのメタデータともいえる、App Manifest (下のスクリーンショット) を導入している。App ManifestはJASONファイルで、アプリをインストールし実行する環境を定義する。App Manifestで定義する内容は、アプリ名称、内容説明の他に、アプリの場所、使用するアイコン、ユーザの許可などを指定する。

g327_firefox_os_develop_07

App Manifest のlaunch_pathというコマンドで、アプリをサーバで実行するのか (Hosted App)、デバイスで実行するのか (Packaged App) を定義する。ウェブサイトでは、実行場所は常にウェブサーバで、App Manifestが、Firefox OSアプリとウェブサイトを区別する。

WebAPIとは

Firefox OSは、ハードウェア機構にアクセスするためのプロトコールとして、WebAPIを提供している。アプリはWebAPIを使って、カメラや加速度計などのハードウェア機構や、住所録などのデータにアクセスする。下のスクリーンショットは、「WebTelephony API」という電話操作のAPIを使って、123456789番にダイヤルしている様子である。ハードウェア機構にアクセスできるAPIをRegular APIと呼んでいる。その中で住所録にアクセスするAPIなど、厳格なセキュリティが要求されるものをPrivilleged APIと呼ぶ。更に、カメラなどデバイスの重要機能にアクセスするAPIは、Certified Appと呼ばれている。下のWebTelephony APIはこれに相当し、Mozilla開発者だけがこのAPIを利用できる。

g327_firefox_os_develop_08

第三のモバイルOS 「Firefox OS」の実力を検証する

Friday, July 19th, 2013

第三のモバイルOSであるFirefox OSを搭載したスマートフォンが、相次いで、大手キャリアから発表された。2013年7月1日に、スペインTelefonicaは、Firefox OS搭載のスマートフォンZTE Openを発表した。

g326_firefox_os_webapp_01

7月11日には、ドイツDeutsche Telekomが、Firefox OSを搭載したAlcatel One Touch Fire (上の写真、出展はいずれもMozilla Corp.) をヨーロッパで販売することを発表した。発表翌日から、T-Mobile Polandのオンライン・ストアで販売が開始され、15日からは、ポーランドの850の小売店舗で販売が始まった。Firefox OSはブラウザー・ベースの基本ソフトで、スマートフォンではネイティブ・アプリではなく、ウェブ・アプリが稼働する構造である。果たしてウェブ・アプリだけでスマートフォンを使いこなせるのか、Mozillaサイトで公開されている情報を中心に、その実力を検証する。

ウェブ・アプリだけで構成されるスマホ

Firefox OSは、HTML、CSS、JavaScriptなど、オープン・ウェブ標準技術で開発された基本ソフトである。システムは、Linuxカーネル上にウェブ・ブラウザーが乗り、この上でウェブ・アプリが稼働する構成である。デバイスを起動すると、Home Screen (下のスクリーンショット左側) が表示され、下段のアイコンにタッチしてアプリを起動する。同右側は、アプリをグリッド状に登録したページ (Icon Gridと呼ばれる) である。このページには、カメラ、住所録、カレンダー、時計、ビデオ、音楽などのアプリが登録されている。下段には、電話、メール、ブラウザー、SMSアプリが登録されており、一見して、Androidスマートフォンと大差がない。

g326_firefox_os_webapp_02

Firefox OSの場合、これらはウェブ・アプリで、アイコンはウェブサイトへのリンク、又は、ダウンロードしたアプリへリンクする機能を提供する。ウェブサイトへのリンクは、URLへのショートカットをアイコンに実装した形である。上の事例では、カレンダーやメール・アイコンがこれに相当する。これらは通常のウェブ・アプリで、サーバ側で実行されるため、Hosted Appと呼ばれる。Firefox OSでは、ウェブ・アプリをファイル形式にまとめ、これをデバイスにダウンロードして利用できる。上の事例では、電話やカメラ・アイコンなどがこれに相当する。これらウェブ・アプリは、デバイスのハードウェア機構にアクセスし、ローカルで処理を実行する構造で、Packaged Appと呼ばれる。

基本機能はウェブ・アプリで提供されている

電話アイコンにタッチするとDialerアプリが表示され(下のスクリーンショット左側)、このアプリで電話をかける。同右側はContactsアプリで、デバイスに格納している名前や住所を表示する。Dialerアプリがデバイスの通信機構にアクセスし、Contactsアプリがデバイスのストレージからデータを読み込む。これらアプリは、HTML5などオープン・ウェブ技術を使って開発されている。

g326_firefox_os_webapp_03

iOSやAndroidでは、それぞれのOSに固有な言語とフレームワークでアプリ開発を行うが、Firefox OSではHTML5やJavaScriptなど、標準技術を採用している点が、最大の特徴である。iOSアプリを開発するためにはObject-Cを、Androidアプリを開発するためにはJavaを学ばなくてはならないが、Firefox OSでは、HTML、CSS、JavaScriptなど、ウェブサイトを開発する知識があれば、すぐにアプリ開発ができる。

g326_firefox_os_webapp_04

Firefox OSは、ウェブ・アプリで、現行スマートフォンが提供している基本機能をカバーしている。上のスクリーンショット左側は、Gallery Filterというアプリで、撮影した写真を加工することができる。撮影した写真に対して、露出補正や写真トリミングなどを施すことができる。同右側はGalleryというアプリで、撮影した写真をアルバム形式で表示する。地図アプリは、Nokiaが制作したHERE Mapsアプリ (下のスクリーンショット右側) を利用。Firefox OSで基本機能は提供しているものの、ウェブ・アプリはブラウザー上で稼働するため、ネイティブ・アプリと比較して、性能面でハンディを背負っている。

g326_firefox_os_webapp_05

アプリをダウンロードするときは、Marketplaceアプリ (上のスクリーンショット左側) を起動する。App Storeと同じ要領で、希望のアプリをダウンロードする。前述の通り、Hosted Appでは、ウェブサイトへのリンクが張られるだけで、Packaged Appでは、実際にファイルがダウンロードされる。

Firefox OSのアイディアは、既にGoogle Chromebookで実現されている。ラップトップのChromeブラウザーでウェブ・アプリが稼働する構造である。毎日使っているが、基本的なタスクはこれで充分である。Firefox OSの場合も同様に、今後どこまで利用者の要求に応え、アプリの種類と幅を拡充できるかが、成功のカギを握る。