ビイトル開発裏話

~iPhoneアプリってどうやって作るの?~

ビイトル開発裏話(当社の機器連携スマホアプリが生まれるまで)

初 端…「何かできないかねぇ?」

 当社のiPhone/iPad用無料アプリとしてビイトルというものがあります
ビイトルの詳細については当社サポートページをご覧ください
Googleなどから「ビイトル」と検索すると検索トップに表示されます!
簡単に説明すると大手家電メーカーさんのHDD/BDレコーダと連携して
再生操作や同社のネットサービスにアクセスして番組表や番組名編集などの
機能を使用するためにブラウザを起動し、サイトに接続するソフトです
無料アプリで無線リモコンとして使え、スクラブバーで無段階のタイムワープ
(リモコンでは1分単位の相対再生位置スキップ)を可能としている
うちでは初のスマホ連携ソフトです
このビイトルの開発の初端は営業先で発されたお客様の一言でした
(スマホと)レコーダとを繋いで何かできないかねぇ…?

i OS初めて物語

 この一言を持ち帰って社内で検討して、おおまかなシステム概案を出した後、
プラットフォームをiPhoneにすることに決定しました
しかしながら当時、当社でもスマホ開発は初めてで、右も左も判りません
さらに業界ではAndriodを注視していた時期でもあり、
担当に割り振られた社員が発した最初の言葉は
iPhoneアプリってどうやって作るの?
でした

偶 発のリィンスタートアップとアジャイル

 iPhoneアプリ作成に必要な環境はネットで検索したところ、
Apple社から提供されているXcodeという統合開発環境を使えばいいことが判り、
ハード面の環境はいわゆるMacの購入で即時整いましたし、
開発言語もobjective-Cという構造化言語を使うので
特に違和感無く進められました
この時点での問題は寧ろ「どういう機能を実現するか?」という点で
それこそ手探り状態で進めていくことになり、まずは最初の一ヶ月で
レコーダとWi-Fiを使って接続し、録画リストを取得するというところから
始めることにしました
つまり小さな機能を実現し(あるいは失敗し)方向性を決めるということを
実現しようとしたのです
今改めて振り返るとビイトルの開発は意図せずにアジャイルや
リーンスタートアップを取り入れたものになっていたということになります
無論、偶々ですのでイテレーション※を廻すという明確な考えは
ありませんでした
 ※短い間隔で反復しながら行われる開発サイクルのこと

結 果が出た!次は何を?

 最初の一ヶ月で試行錯誤はあったものの無事にレコーダ上の録画リスト取得に成功
とりあえずはレコーダとiPhoneは繋がり、iPhoneからの要求にレコーダが応答を返すという
小さくも大きな1歩を踏み出したのです
でも、録画リストを出すだけではソフトウェアとしては成功でも
製品としては価値がありません
製品として成立させるには何が機能として必要か?…開発者たちは悩みました

 一番最初に考えられた(そして誰もが思いつく)ものはiPhoneで動画再生できないか?
となるのですが、実はこれがまったくといっていいほどハードルが高い代物でした
まずは動画といっても放送波の動画形式はMPEG2-TSというものでDIGAはこのMPEG2-TSと
長時間録画用のH.264という方式で記録されます ところがiPhoneが再生可能な動画は
mp4(MPEG4)という方式で、再生させるには少なくとも方式の変換が必要になります
さらにこの頃には地上波でもデジタル化が進み、2012年には完全デジタルに移行されようと
していました
そこで立ちはだかるのが著作権(DRM)の壁です ネットワークを介した視聴には
DTCP-IPという規格に従って動画コンテンツをやり取りする必要がありますが、
iPhoneでこの通信を行うための仕組み(通信ポートの制御)を行うことが
基本的に出来ないため、動画コンテンツの暗号解除ができないなど
いくつかの障害があり、この案は早々にボツとなりました

じ ゃあどうする?こうしよう!

 そこで、「再生はレコーダとTVとでさせて、それを制御できるように」と考え、
取得した録画リストを選択したらレコーダで再生を開始して、その番組の早送りや巻戻し、
音声付早送り再生(1.3倍速, 1.5倍速)、一時停止などを使える用にしようということに
なりました・・・が、これだけでは普通にリモコンで操作するのとほとんど変わりません
そこで登場したのがスクラブバーによる再生位置のジャンプ機能でした
もともとレコーダにはタイムワープと呼ばれる現在の再生位置から1分単位の相対時間で
再生位置を飛ばすことが出来る機能があるのでこれを応用して実現できると判断したのです
そして、この段階ではもう1つの機能が盛り込まれようとしていました
それはiPhoneで撮影した写真をレコーダにアップロードして、TVで見ようというものでした
レコーダにはもともと写真やCDなどの音楽を取込んで再生できる機能があるので
それを利用しようというわけです
ですが、この案は諸般の事情により試作だけで終わり、製品には搭載されませんでした
こうして最初に録画リストを取得してから僅か2週間で上記2つの機能を搭載した試作版を
お客様に見ていただき、再生制御を中心とした製品を目指して開発がスタートしました

も うちょっと色を付けようよ

 GUIで再生制御が出来るビイトルは確かにそこそこ便利でした
でも、再生できるなら録画もしたいよねというのが人の欲求です
しかし、録画をするだけならリモコンで直接[REC]ボタンを押すのが手っ取り早いし、
GUIの必要もありません GUIに優れたiPhoneを使うのですから、
当然EPGを使った予約を実現したいという思いに駆られます
ですが、EPG取得は放送波から取得するか、インターネットを通じてEPGサイトに
アクセスするしかありません
幸いレコーダ用に特化したEPGサイトがありましたので、
これを利用しない手はありません・・・がサイトにアクセスするには
ブラウザを介する必要があるのです
そこで
  案1.ビイトルにブラウザ機能を搭載する
  案2.safariなどの既存ブラウザを起動し、そちらでアクセスする
の2案から選択することになりました
案1ですとビイトル単体で機能実現できますが、ブラウザ機能を搭載すると
かなりの人的・物的資源が開発にかかる上にブラウザという機能が含むリスク
(主にセキュリティ問題)に最後まで責任を負うことになります 案2ではそれは
解消されますが、ブラウザを起動した途端にビイトルは処理を終了してしまいます
これはiPhone上で動作するiOSの仕組みがそうなっているためです
我々はリスク回避のため案2を採用しました
それでもレコーダに番組録画予約が行えるというのは
使う側からすればかなり嬉しい事態です(筆者も毎週のようにこの機能を使ってます)

ア プリがAppStoreに掲載されるまで超えなければいけない山

 プログラムの作成は長年関わってきてお手の物なのですが、
iPhoneアプリはAppStoreに登録しないと誰からも使ってもらえません
公開準備と呼ばれるこの手続きが結構大変でした
公開のためには作ったアプリをApple社の審査を受けるために
アプリを提出することとアプリサポートのためのサポートページを
作成しなければならず、そのデザインやどういった内容を載せるのかなど
普段の開発には無い手間がかかり、発想から公開まで実に9ヶ月も
かかってしまったのです
開発者は「ソフト作るより公開審査の作業が大変だった」と言ってました
余談ですがこの時にアプリ審査を行っているApple社から
「当方、レコーダを所有していないため、動作状況が判らないので
 動作状況をムービー撮影して送って欲しい」
との連絡が入ってきました
開発担当者は「なんじゃ、それ!?」と苦笑したそうです

生 みの苦しみが報われる日

 こうして、世に出ることになったビイトルは
よく我が子は贔屓目に可愛いといいますが、うちもその例に漏れず
やれ、新聞に掲載されただのレコーダの店頭デモ機の横にポップが貼られただの
SNSサイトで書込みがあっただのといろいろな所で話題になってました
開発の喜びというのはこういう場面で実感できるのだと改めて
噛みしめたものでした
あれから3年・・・今はまだ公表できませんが、おそらくもうすぐ、
またこのような喜びが噛みしめられる日が来ることでしょう
そのときにはまたこのコラムで開発裏話を載せたいと思います