TVのアプリ作成を楽しもう – テレビウィジェット勉強会


今日は百式主催の「テレビウィジェット勉強会」に参加してきました。
品川のSONY本社ビルでBRAVIAのアプリキャストを生み出した技術者自らのプレゼンおよびライブコーディング(アプリ作成実演)があり、とても勉強になりました。




アプリキャストは現行BRAVIA全機種に搭載されているテレビ画面の右端にウィジェット(ミニアプリ)を表示するための仕組みです。リモコンにもアプリキャストボタンが搭載され簡単にアクセスできます。
公式アプリは30ほどと充実してきましたが、さらにオープン化することで、思いもよらないアイデアやニッチなアプリなどの登場を期待しているとか。SDKを無償で配布しており、個人が作成したアプリでもサイトで投稿することで全国のBRAVIAで使うことが可能になります。
開発者はBRAVIA持っている人にもあまり知られていないと悲しがっておられたので、BRAVIAを持っている方は、ネットにつないでぜひアプリキャストを見てみてください。


アプリキャストのアプリはウィジェットバンドルに含まれるXMLファイルとJavascriptで構成されます。テレビの処理能力の制約からかなり限られたメモリ(ノーマル時に300KB、アクティブ時に1300KB)やAPI(一般的なJavascriptの一部+独自API)になっていますが、その制限は「ハードウェア的になにも追加しない。すでにあるTV機能のすきまのリソースを使って実現する(からアプリキャストを実装させてくれ)」という社内説得と「TV上のブラウザと違いサクサク動く」ことをめざしたためのようです。また、残念ながら視聴情報(チャンネルなど)は取得できないのですが、これは放送と連携することによる放送局等によるクローズ化を嫌い、放送とは別の意味で楽しいアプリを目指したいオープン化したいという思いかららしいです。
アプリ開発および投稿は右のようなステップになっています。実際にこのステップに従い、2つのアプリのライブコーディングの実演が行われました。


お題その1は猫カメラ.TV。百式企画塾「テレビを便利にするウィジェット」での1位だったアイデアです。
さすがに実際の猫を使うのは・・ということで、右写真のWebカメラ付きパソコンが猫の代わりです。このカメラの映像はURLで取得できるようになっているので、それを定期的に取得してTVに表示するというサンプルです。


開発環境はここのリンクからダウンロードできます。アプリキャストエミュレータは良くできていて、BRAVIAそっくりなXMBメニューからウィジェットを実行することができます。BRAVIA上のアプリキャストと同じサーバからダウンロードしているらしい。
開発中のウィジェットバンドルをMy Document\My AppliCastに置けばメニューから実行することができます。エミュレータ設定ユーティリティのデバッグ支援でメモリマップ、デバッグログをONにして再起動すれば、メモリの使用状況を確認したりデバッグメッセージを確認できたりできるので便利(初めはOFFになっている)。
さくさくっと意味を説明しながら、XMLファイルの変更およびJavascriptの作成がなされました。
タイマを使って定期的に映像を取得したりも。制限としては1秒以下のタイマは効かなくなっているそうです。


エミュレータで難なく動き、Webカメラでとらえた会場の写真が表示されました。BRAVIAで確認する方法も紹介され、実際にBRAVIAでも動きました。フォント等が違うので、可能ならBRAVIAで確認した方が良いとのこと。


次の例は特定フィード用のRSSリーダー。こちらもタイトルを5つ表示するだけのシンプルなものですが、さくっと実装されました。
レイアウトの座標系が特徴的でウィジェットの中心が原点になっています。
あと、扱えるのはUTF-8のみ、XMLHttpRequestは非同期読み込みのみなどの制限もあるとのこと。



こちらも問題なく動作。
非常に簡単に作成できることが分かったので、何か作ってみようかな。
ソニー製のウィジェットはほぼプレゼンしていただいた方々で作成されているそうで、定番のアナログ時計なんかは扱えるのが画像とテキストのみという制約のなかで実はかなり工夫を凝らして作成されているそうです。組み込み系ソフト技術者として制約の多いと燃えるとか。
1/8までテレビウィジェットコンテストが開催中で豪華ソニー製品が賞品となっています。まだまだ応募数が少ないみたいなので狙い目です。アプリキャストの今後の発展のためにも応募してみては?
(投稿した後のコンテストエントリーをお忘れなくとのことです)
ソニーの方々、百式の田口さん、ありがとうございました。

saya: