ガラポンTV iOSアプリ、ガランチュを公開した、ついでにソースも

ガラポンTVトピックスで紹介してもらったので自分でブログに書く意義をなくしてしまっていたが自作のガラポンTVアプリがAppStoreから公開された。

公式で提供されているアプリがjQuery Mobileベースのウェブアプリを貼っつけただけでvideoタグでの再生がとても小さく、しかもユニバーサルアプリでないためiPhoneサイズでしか表示されないという状況だったのでiPadメインで作っていた。作りかけのバージョンで個人的に満足してしまい公開のモチベーションが下がっていたが公式のネイティブアプリがiPad対応されてしまったので負けずに公開した。

ガランチュ 1.0.0

公式アプリは結局のところスマホアプリを単に引き伸ばしただけでタブレットの使い勝手としてはいまいちだったのでタブレットでつかうことに注目して動画をフルスクリーンにして番組一覧を画面に載せるなどTV UIにこだわった。とりあえず最初のバージョンは再生ができればいいやということで特別な機能はないがシンプルなだけに使いやすく仕上がっている。

逆に言えばつまらないアプリになっているのでもう少しはっちゃけて行きたい。

伝わりにくい機能とか、あれこれ

  • 最初のウェブ認証がよく失敗するけどもう一回やるとうまくいく、ちゃんと調べてないけどリトライを自動にすればいいのだろうか
  • メニューは右にドラッグすると隠せる
  • メニューが隠れた状態で左にスワイプすると表示できる
  • →ボタンは15秒スキップ、バッファリングがたまっていないとロードで待たされるのでCMスキップとしてあんまり効果的じゃないことは理解している
  • 日付のメニューはガラポンTVアプリAPIになかったのでデフォルト2週間にしている
    • 設定のガラポンTVの容量を選ぶと1GB->30日のように増やせる
  • 再生をポーズするタイミングで視聴履歴を更新している

視聴履歴の経緯

視聴履歴はローカル内に保存している。もともと最初バージョンに入れるつもりは無かったのだけど、デバッグ中に見ている番組の続きが気になって履歴を保存して前回最終位置から再開する機能を実装した。必要は発明の母。デバッグ中はプロセスを強制終了させてしまうので、休止のタイミングで更新するようにした。他のタイミングでも更新しているけど、続きから見たい場合は休止しておくとアプリのプロセスを落としても次回起動時に視聴履歴から再開できて無難。

今後

とりあえずニュースとお笑いしか見ていないのでトップメニューに好きなジャンルを入れるなどのカスタマイズ機能を入れたい。あとは見る番組を勧められれたいのでガラポンTVサイトとうまく連携したい。実はガランチュにはgtvidを渡して再生させるURIスキームを一応実装してるので、自作するとしても全部ネイティブアプリに閉じめなくてもいいかなと思い始めているところ。例えばお笑い番組だけ集めたサイトを作ってみてもいいかなと思っている。

ソース公開

ガランチュはソースをGPLで公開することにした。誰かバグ直してくれ、誰かiPhone対応してくれ、ガラポンTV本家で引き取って開発してくれとか他人任せ願望がある。最初他人任せ満々でGitHubでの公開を義務付けるコピーレフトにしてむしろコントリビューターとして参加させてもらうようなライセンス形態を考えたが、そんなピンポイントなライセンスはなさそうだし、仮にあっても理解してもらえない恐れがあるのでGPLにした。

代わりにガラポンTV APIのラッパーライブラリはMITで公開したので許してほしい。CocoaPodsでインストールできる。ドキュメントやサンプルは整備できていない、ちょっとしたテストコードは入っているが基本的にサンプルはガランチュ。

ちなみにガランチュは連想ゲームで決めたプロジェクト名だったのだが、最終的に良い名前が浮かばなかったのとアプリ名とプロジェクトの乖離が気になったのでそのままプロジェクト名がアプリ名に昇格した。いちおうそれなりの意味はあるのだがあまり名前は気にしないでほしい。

テレビを見る時間を割いてガラポンTVアプリを作るという本末転倒な状態だったが、次はMinecraftやる時間が全然無いのにMinecraft Mod作りたいとか謎の願望を持っている。