連休を利用してガラポンTVのiOSアプリを作ってみた。
ガラポンTVとiOS
ガラポンTVはウェブサーバも動いていてコンテンツを見るウェブアプリがjQuery Mobileで構築されている。コンテンツはApple HTTP Live Streamingで配信されるのでiOSのSafariではvideoタグをつかってウェブアプリからも再生できる。
ただ、どうしてもウェブアプリということ、タブレット向けのデザインになっていないので使い勝手があまり良くない。ガラポンTVのiOSアプリも配信されているけどなぜかUniversalじゃないしダウンローダがメイン機能なのかコンテンツの検索はウェブアプリをWebViewで載せてるだけっぽいのでiPadだとウェブアプリを普通に使った方がいいレベル。
APIがあるので自分でなんとかしてくださいと解釈したのでアプリを作ってみることにした。
現在の成果
まずガラポンTV APIのラッパーライブラリを作った。CocoaPodsにしているのでそのうちGitHubにあげる。
本当はWeb認証とかガラポンのお作法があるんだけど開発中ということでガラポンTVのLAN上のIPに直接繋いでAPIを叩くという形式で、録画番組の取得と、ジャンル別、チャンネル別の階層メニューをつくって、選択した番組をAVPlayerで再生できるところまでは動いた。
わりと録画番組一覧を眺めて気になるものを再生するとか、サブジャンルで絞り込んだものから探すので最低限は使える感じ。ワンセグということで画質も低いのでiPad miniが適正デバイスなんじゃないかと思っているところ。
やり残し
とりあえず最初のバージョンでやろうと思っていること。
Web認証のログインのつなぎ込み。
再生系のボタンのアイコン作り。
再生系の制御まだ途中。
公開するならアプリのアイコンも作る必要がある(遠い目)
キーワード検索。
設定とかヘルプとか。
そのあとやりたいこと
検索条件をプリセットする。そしてメニューに追加する。プリセットをウェブかTwitterのリンクなどから簡単に共有してインポートしたい。
ガラポンAPIのお気に入りの追加・削除の対応とアプリの実装。
Twitter連携(torneのパクリ)、2chの実況と連携。
なんかソーシャル的なことガラポンWebサイトと絡められるのかよくわかってない。
悩み事
iPad前提でレイアウトしているのでiPhone向けには別の実装がいる。iPhoneっで見る人ってどれくらいいるのだろうか。iPhoneで使いたい人いたら教えて下さい。最低限自分で使えるレベルになったので若干満足しつつあってここから公開用に整形していくモチベーションが低下気味なので使いたい人いたらプレッシャーかけてください。あるいはβ版でテスト公開するのもありなので、途中のバージョンでも良いという人がいたら教えて下さい。
Android版はGaraponMateがあるから作らなくてもいいよね?そんな時間あるならまずiOS版を完成させろよと言われそう。
もともと番組表のインターフェースはいろいろ構想があって、普通の階層的なナビゲーションメニューは最初作るつもりはなかった。それはウェブアプリに任せればいいからと思っていたのだけど、とりあえずデバッグがてら階層メニューを実装してみたら案外使いやすくてこの機能をわざわざなくす必要もないかと思った。やっぱ動画を見ながらメニューを操作できるのが良い。もともとPSX/PS3のクロスメディアバー(XMB)インターフェースを再現したかったのだけど、タップとXMBはあまり合わないと思い諦めた。とはいえナビゲーション・メニューを上にかぶせるだけでもなんかそれっぽいので個人的には使いやすい。でもホントはもっと独自路線で行きたかった。昔VAIO Xであったタイムマシン機能みたいなやつとか。