![]()
GoogleTV向けコンテンツ開発における10の問題点
MTLメンバーの松江です。
GoogleTV向けコンテンツとして、「About Japan」というサービスの開発を行い6/30に公開しました(記事にするのが少し遅くなってしまいました・・)。
TV向け動画コンテンツを半自動で生成するエンジンをMTLでは今回開発し、それを使用して海外でGoogleTVを所有しているユーザ向けに、日本の文化をユーモアを交えて紹介するというテーマでコンテンツに仕立ててみました。

日本国内ではまだ販売もされていないGoogleTVですが、どこよりもいち早く取り組んでみた結果としてわかった問題点や苦労した点などをまとめてみました。
(※開発を行った2011年5月〜6月時点の状態での情報です)
GoogleTVとは?
2010年10月にアメリカで発売されました。
OSとしてAndroid2.1が組み込まれたスマートTVです。
WebブラウザとしてChromeが入っており、CPUはAtomベースとなっています。
Androidベースですので、当然のAndroidアプリが動作する環境となっています。
初めからNetflixやTwitterアプリなどがインストールされていますが、
現時点ではまだ追加でアプリをインストールしたりなどはできません。
AmazonやNetflixで映画をダウンロードし観ることができますが、これもアメリカ国内のみで可能という状態です。
GoogleTVには、いわゆる普通の液晶テレビのようなディスプレイ一体型の物と、既存のテレビに繋げて使用するセットトップボックス型のものがあります。
私がGoogleTVを素晴らしいと思った点
・価格が安い&デザインが良い(ディスプレイ一体型) もうスマートTVとかそういうこと関係なく普通のことですが、 24インチのもので5万円を切り、最大の46インチのものでも10万円強という安さで、 尚且つデザインがカッコいい(筆者主観)というだけで、 普通の液晶テレビを買うつもりでこれを買っても損は無いのでは?と感じます。 そのうち無料のテレビとか出てきてもおかしくない時代ですね。・インターネットとTVを同時に表示可能
テレビを観ながらサーチバーを即座に重ねて表示し何かを検索したり、
小画面でテレビを表示しながらインターネットで何か情報を閲覧したり、
Twitterでつぶやいたりが可能です。
・Androidベースである事の利点
新しいバージョンへのアップデートはネット経由で可能である為、
今後あるであろう新しい機能やアプリの追加がテレビだけでできるという事は、
テレビとしては新しい体験だと思います。
買って直ぐに新しい機種が出て古くなってしまうだけのテレビとは、
違うといえる点でしょうか。
またAndroidアプリが動きますので、
テレビやソーシャルネットワークと連携した面白いアプリが
今後色々出てくるだろうという期待感があります。
GoogleTVについてのお話はこれくらいにしておいて、実際にコンテンツの開発を行った際にわかった問題点や苦労した点についてお話しします。
GoogltTV向けのコンテンツ開発について
GoogleTV向けにコンテンツやサービスを生成するには下記の方法があります。
・GoogleTV向けのAndroidアプリを提供する
・ブラウザベースで閲覧させるWebアプリ(サービス)を提供する
しかし、Androidアプリで提供する為の環境が一般に公開されていないため、現時点ではブラウザベースで何かを提供するしか方法がありません。
ブラウザベースで提供する場合は、FLASHでもHTML5でもChromeで閲覧できるものであれば通常のWebサービス開発と(後述のような問題点を除けば)同じような感覚で既存技術を使用して開発可能となります。
About Japanは動画や画像を見せる事が基本のコンテンツなので、FLASHで行くべきかHTML5で行くべきかを当初悩みました。
結果的にはFLASHを使用せずにHTML5での開発を選びました。
理由としては、TwitterやFacebookなどに拡散させる機能が含まれていたため、結局はGoogleTVからではなく普通のPCやiPhoneなどからもアクセスされるであろう状況が発生することを想定し、派手な動きや演出をするUIにする予定もなさそうであることや、後々のメンテナンスのことを考えFLASHを避けようということにしました。
テレビ向けに作っているのだから、そういうところを無視しても良かったのですが、あえて気を使ってしまったが為に、もしかしたらこの選択が間違っていたかもしれないことに、後に気付く事になりました・・。
実際に開発してわかった問題点、苦労点
■TVのスペックの低さによるものと思われる問題点
・アニメーションはとても厳しい
cssアニメーションもjsアニメーションもどちらも激しくコマ落ちする。
フェード効果だけでもかなりカクカクする感じです。
・短い動画の再生が難しい
動画ファイルの再生は何故か比較的スムーズなため、
動画でアニメーションを代用することが可能です。
ただし短い動画だと再生がはじまらないで終ってしまうことがあり、
これを解決できませんでした。。
■PC版ChromeとTV版Chromeの仕様差異の問題点
・イベント取得に関するバグと思われるもの
Audio終了のイベントが何故か取れない。(videoは取れる)
・Videoタグの表示に関するバグと思われるもの
Videoタグの親要素を一旦消してから表示しようすると、
関係ないはずの子要素であるvideoがどうやっても表示されなくなるバグがある。
・Media Queryが未実装
Media Queryが実装されていない様子で、
画面の広さに応じたcssの切り替えなどができない。
※ここまでの点がFlashで実装した方が良かったかもしれないと一番大きく後悔した部分です。
他のFLASHで作成されたコンテンツを見た際に、比較的スムーズに動いているようにも見えたのでそう思っているのですが、実際にFLASHでの開発をして確認した訳ではありません。
■debugがとても大変
・デバッグ環境が整っていない
上記のようにPCとTVで仕様差異があるため実機デバッグするしかないが、
console.logも使えない環境のためalertデバッグするしかないという厳しい状況。
・reloadを繰り返しているとchromeが固まる
これは作っているコンテンツ側の問題かもしれませんが、
何度もリロードを繰り返しているとChromeが固まってしまいます。
プロセス強制終了の方法を見つけたものの手順がとても面倒な状況。
その手順を使わない場合、電源を切るだけでは改善せず、
電源コードを一度抜く必要があったりする事があります。。
■操作系
・TVに合わせた操作方法の設計
TV上での操作を前提として十字キーのみで操作できるようにする事が好ましいため、
マウスによる操作とキーボードによる操作の両立をすることになるが、
とても手間がかかります。
・Google TV Web UI Library
下記のGoogleから提供されているGoogle TV Web UI Libraryを一通り確認し、
そこからできることを把握してからUIをつくると良いかもしれません。
http://code.google.com/p/gtv-ui-lib/
■Audio関連
・音声の再生について
CDNを経由し、なおかつpreloadしていたとしても、
音声の再生開始にはちょっと待ち時間発生したりします。
マシンスペックの問題かもしれません。
・Audioファイルから取得する再生時間について
これは用意したファイル側に問題が合ったかもしれませんが、
Audioファイルから正しく再生時間が取得できなかったりしました。
もしかしたら勢い余って10個以上書いてしまったかもです。。
まとめ
動きのリッチなサービスを開発する場合、現状のGoogleTVではHTMLベースでの実装は厳しいです。
Androidアプリとして公開する前提でSDKが公開されるのを待つか、Flashでの開発が望ましいと思われます。(ただしFlashについては未確認です)
感想
日本国内ではまだいつでるのか全く不明な状態のGoogleTVですが、まだ着手には早過ぎたかもしれません。
今後のOSのアップデート次第ではもしかしたら大きく改善するかもしれませんが、スペックが非常に低いと思われる点については、新機種で改善されている事を期待しないといけません。
地デジのデータ放送についてもそうなのですが、いちいち何をするにもレスポンスが遅いのがとても気になります。テレビこそサクサク動いてくれないと、どんな価値のあるコンテンツを付加させていっても、それを使うのにストレスを感じるような状態では、いつまで経っても「テレビはテレビだけ見れればいい」という常識を超えることはできず、テレビを見る以外には使われないままなのだろうなと思いました。
(そもそもテレビに何か付加価値が欲しいと思っている人があまりいないのかもしれませんが。。)
