AndroidのアプリはAndroid TVでも動きます——技術的にはそうなのですが、「動く」と「使いやすい」は全く別の話でした。
スマホ向けのカレンダーアプリをそのままテレビで開いたとき、最初に気づいたのは「操作できない」でした。テレビのリモコンには、スマホと同じ操作ができるボタンはありません。
タッチがない世界で設計する
スマホアプリの設計は「タップ」が前提です。ボタン、リスト、スクロール、すべてタッチ操作で動くように作られています。
Android TVのリモコンにあるのは、基本的に上下左右の方向キーと決定ボタン、戻るボタン、ホームボタンくらいです。タッチはありません。マウスもありません。
この制約で「カレンダーアプリ」を作るとは、どういうことか。ちょっと考えるだけで難しさがわかります。
たとえば月ビューのカレンダー。スマホなら日付をタップすれば予定が開きます。テレビでは、方向キーで一マスずつ移動して、目的の日付まで到達してから決定ボタンを押す、という操作になります。このとき「今どこにフォーカスがあるか」が常に視覚的にわかっていないと、どこを操作しているのかわからなくなります。
「離れた場所から見える」という制約
スマホはデバイスを手に持って、顔から30〜40cmの距離で見ます。テレビは2〜3メートル離れた場所から見ます。
スマホで「これくらいの文字サイズでいいか」と思って設計したものを、テレビで2メートル離れて見ると、まったく読めないことがあります。文字サイズ、余白、タップ領域の大きさ——テレビ向けの設計はスマホの感覚をいったん全部捨てて考え直す必要がありました。
意外と難しかった「フォーカス管理」
リモコンで操作するとき、「今どの要素が選択されているか」を示すフォーカス表示の管理が想像以上に複雑でした。
月ビューのカレンダーは7列×5〜6行の格子状です。方向キーで上下左右に移動するとき、直感的に動く必要があります。「右を押したら次の日に移動する」「下を押したら1週間後に移動する」というのは当たり前に聞こえますが、コードで正確に実装するのはなかなか手間がかかります。
週ビューや日ビューへの切り替え、予定の詳細画面へのアクセス、戻る操作——それぞれの画面でフォーカスが迷子にならないようにする作業を、根気よく積み上げていきました。
スマホ版と同時に開発するということ
Panda Calendarはスマホ版とTV版の両方があります。同じGoogleカレンダーを表示するアプリですが、UIはほぼ別物として設計しています。
スマホ版の変更がTV版に影響しないよう、TV版の変更がスマホ版を壊さないよう、両方のバランスを取りながら開発するのは今でも一番気を使うところです。
「テレビで使いやすい」の基準は家族
開発中、一番頼りにするテスターは妻と息子です。「これ、どこ押せばいいかわからない」「文字が小さくて読めない」という反応が正直なフィードバックです。
技術的に動いていても、家族が「使いにくい」と言えばやり直し。この繰り返しで、今の操作感ができています。
Android TV開発は地味に大変でしたが、リモコンだけで快適に操作できるカレンダーアプリが完成したときの達成感はひとしおでした。ぜひ一度、テレビで試してみてください。