Tizen SDK for Wearableをインストールしてみた

最近はWeb技術のほかにウェアラブルデバイスにも強い関心があって、日本ウェアラブルデバイスユーザー会の起ち上げに参加したりしているわけですが個人的にはウェアラブルデバイスにはすぐWeb技術が浸透してくるだろうなと思っていて、そういう流れには遅れないようにしないとな、という気持ちがあったりもします。

 

、、とかなんとか思っているうちにmoto360が発売されたりApple Watchが発表されたりしてメガネの前に時計が普及してくるのかな?と思ってたらスマートウォッチの中でSumsung Gear Sというのがあってハード的にはディティールがダサいはデカイわで全然ほしくないんだけど、ソフトウェア的には興味深いので誰か買って貸してくれないかなぁ、自分では買いたくない。と思っていました。

 

何が興味深いかというと、OSがTizenというところ。
日本ではドコモの今年あたまの発表で終了のお知らせと思われていて、実際噂されてたロシアでの発売も延期らしくてスマートフォン市場的にはほぼ終了みたいな空気になっているわけですが、一方でTizen IVIやらAGLは車のほうで何かやってたりCross Walkがスピンアウトしたりとスマートフォン端末以外のところでは動きがあったりしているわけです。

 

Gear SはそんなTizenベースのスマートウォッチだということで。これ以前にもGear2とかでていたわけですがGear S発売というニュースをみて「そういやTizenだったな」と再認識したところです。

 

加えて、Gear S発表の数日後にTizen SDK for Wearableの存在を知って、「ちゃんと開発環境そろえてるんや!」と知ってちょっとやる気がでてきた次第。

で、とりあえずIDEをセットアップしてサンプルを動かすところまでやってみました。

 

セットアップのやり方は以下のとおりです。
スクリーンショットOSXですが、Windowsでも同じ要領でセットアップできます。

まず、Tizen SDK for Wearableのダウンロードページに飛んで、OSにあったインストールマネージャをダウンロードします。

f:id:bathtimefish:20140915175712p:plain

 

次に、このページをスクロールダウンして下にあるSDKのイメージの欄からOSにあったイメージをダウンロードします。

f:id:bathtimefish:20140915180026p:plain

 

ダウンロードが終わったら、インストールマネージャを起動します。

f:id:bathtimefish:20140915180201p:plain

 

初期画面で、右下の「Advanced」をクリックします。

f:id:bathtimefish:20140915180245p:plain

 

Advanced ConfigurationのダイアログでSDK imageラジオボタンを選択して、右側のフォルダアイコンから、先ほどダウンロードしたSDKイメージ(zipのまま)を選択します。

f:id:bathtimefish:20140915180545p:plain

 

こんな感じで指定できたらOKをクリックします。

f:id:bathtimefish:20140915180606p:plain

 

Nextをクリックします。

f:id:bathtimefish:20140915180640p:plain

 

「I agree to the License Agreement」にチェックをいれてNextをクリックします。

f:id:bathtimefish:20140915180738p:plain

 

Installをクリックします。

f:id:bathtimefish:20140915180813p:plain

 

インストールが完了したらCloseをクリックしてインストールマネージャを終了します。

f:id:bathtimefish:20140915181246p:plain


デフォルトではIDEは ~/tizen-wearable-sdk/ide/IDE にインストールされます(OSX)。IDEをダブルクリックして起動します。EclipseベースのTizen IDE for Wearableが起動します。

f:id:bathtimefish:20140915182116p:plain

 

使い方は基本的にEclipseです。新しいアプリケーションを作るには File -> New -> Tizen Wearable Web Project を選択します。

プロジェクトは複数ありますが、てっとり早くウェアラブルっぽいUIを見たければ、Wearable UI -> Basic application か List applicationを選択するとよいです。

f:id:bathtimefish:20140915182530p:plain

 

プロジェクトが生成された状態。html, js, cssが生成されています。

f:id:bathtimefish:20140915182831p:plain

 

エミュレータを起動します。Connection Explorer の左端にあるEmulator Managerアイコンをクリックします。

f:id:bathtimefish:20140915183232p:plain

Emulator Managerで適当なエミュレータを作成します。作成できたらエミュレーターの再生ボタンをクリックしてエミュレーターを起動します。

f:id:bathtimefish:20140915183428p:plain

 

こんな感じで、時計型のエミュレーターが起動します。

f:id:bathtimefish:20140915184146p:plain

 

エミュレーターが正常に起動すると、IDEのConnection ExplorerにエミュレーターIDが記載されます。この状態になるとアプリケーションをエミュレーター上で起動できるようになります。

f:id:bathtimefish:20140915185417p:plain

 

アプリケーションのビルドと起動はIDEのビルドボタンもしくはプロジェクトを右クリックしてRun As -> Tizen Wearable Web Applicationをクリックします。

f:id:bathtimefish:20140915185552p:plain

 

ビルドが成功するとこんな感じでアプリケーションが起動します。UIはHTML, CSSでデザインされています。

f:id:bathtimefish:20140915185827p:plain

 

このプロジェクトには最初からlowBatteryCheck.jsというバッテリーのイベントを聴いてバッテリーが少なくなったらアプリケーションを終了するというプログラムが組まれています。バッテリーのリスナの詳細はTizen SystemInfo APIを参照してください。

 

f:id:bathtimefish:20140915190139p:plain



実際にこれを試してみます。まずは上記の lowThreshold : 0.04 となっている値を 0.4 にします。変更を保存したらエミュレーターで起動してください。

アプリが起動したらエミュレーター上を右クリックしてコンテキストメニューのControl Panelをクリックします。

f:id:bathtimefish:20140915190427p:plain

 

Emulator Control Panelが立ち上がるので、右ペインのEvent Injectorの中のBatteryをクリックします。バッテリーレベルをエミュレートするプログレスバーが表示されるので、レベルを40%以下にすると、アプリケーションが終了する動作を観察することが出来ます。

f:id:bathtimefish:20140915190659p:plain

 

このEmulator Control Panelはなかなかよくできていて、他にもフリックジェスチャーのシミュレーションや歩数計のエミュレートもできるようです。端末に搭載されるセンサーが増えてくると、エミュレートできる機能も増えそうな気がします。

 

SDKの詳細やアプリ開発のガイドラインなどはSumsung Developersのサイトにいろいろ資料があります。

 

使ってみた感想としては、開発環境はけっこう揃っていていい感じだなと思いました。Sumsung Developers にはTizen for WearableのアプリとAndroidアプリを連携させるサンプルなどもあってけっこう参考になるんですが、どうやらSumsungのインフラを通してでないとアプリを配布できないみたいで、基本的にSumsung製スマートフォン上のアプリとの連携が基本になるみたいです。

技術的には興味深いんですが、こういうクローズドなエコシステムがやる気をなくさせますね。。そもそもSumsungスマートフォン持ってねえし。買わねえし。

 

一方で、クロスプラットフォーム技術であるHTML5などのWeb技術は今後普及するプラットフォームに浸透も徐々に浸透してくると思います。これからウェアラブルデバイスの開発が多様化するにつれてTizenやFirefox OSChromeなどをベースに動作するかもしれません。

 

そうなったらこっちの仕事なので、ウェアラブルデバイスとWeb技術に関する情報も追っかけていきたいと思います。

ちなみに先日FxOS勉強会でこんな発表しました。まじFxOSでウェアラブルデバイス出たらいいなと思います。