「お喋りラン」ついに完成。
とりあえず、アップルに提出しました。
今は承認待ちです。
今回はダイエットの為にジョギングしていて、「こんなのあればいいな」と思いついたアプリを制作しました。
毎日同じ道を走っていても、季節によって花も変わりますし、昨日と今日とですら何かが違うものですが、
半年も走るとそれ自体に飽きが来たりします。
何か、ジョギングを退屈させない方法はないかと色々考え、走っている間、アニメの戦闘シーンみたいに刻々と走行距離や消費カロリーなどの、ランニング状況を伝えてくれるようなアプリがあれば、割と退屈しないのではないか?と思い立ち、このアプリの開発を始めたのでした。
試しに進行方向や、スピードなんかをスピーチさせると、なんか楽しくなったので、これはイケるかも?と、思ったのですが、3日もすれば、やはり飽きてしまいましたね。
そこで、1km走ったり、100kcal消費したり、記録が更新する度に、「0突破、おめでとう!」と
拍手の効果音も入るようにしました。
まあ、自分で自分を讃えるのは虚しくはありますが。。
その当たりで、ランニングの苦痛から解放されるには、何か別の事に頭を使えばいいんだって思うようになり、
歴史のクイズや科学のクイズなんかを入れ始めました。他に何か話させる事が出来ないか?と色々考えて、アプリが、その時に知りうる情報、例えば、現在位置の住所や、気温や天気なんかもスピーチさせるようにしました。気温や天気については、外部のオープンサーバーにアクセスし、現地の気象データを取得する必要がありましたが、そこは、技術屋なので興味深々で嬉々として作成です。どうせ作るなら、この世にないものを作りたいですからね。すると20秒に一回はなんか言ってくるような賑やかなアプリになってしまいました。ラジオも聞きながらこのアプリを動かすと、さすがにウルサ過ぎです。そこで、喋る頻度も調整できるようにしました。あと、他のアプリと一緒に動かすと色々なバグが出ますね。他のアプリの音と競合するので、交通整理も必要になります。(この当たりの話は、技術情報としてメモ程度に公開してます。)アプリが完成してくると卓上のエミュレータでは出ないバグ取りの作業が増えてくるので、毎日無駄にランニングするようになりました。例えば、信号待ちの時、建物の中などGPS情報が取得できない時は、自動でポーズさせる機能もあるのですが、これは実際にiPhoneを持って走り回ったり、用事もないのに、急にコンビニに入ったりしてデバッグしてました。wランニング中は、画面にタッチしないように画面を消して走りたいものですが、これも実際に使ってみないと分からない重要な仕様でしたね。でも、バックグラウンドで動かすとiOS的に、GPSの位置情報取得が一定時間で勝手に止まったりして、アプリ的には地味な機能の割には実装が重い作業だったんですよ。この当たりが一番苦労した部分ですね。最後の方は、自転車のカゴにAirMacを入れて走り回り、バグを発見したら、自転車に乗ったまま、デバッグするというような事までしましたよ。w
iPhoneのアプリの開発ってMacさえあれば、自転車に乗りながらでも出来ます。
今回はアプリの性格上、ネタではなく本当に自転車に乗りながらデバッグした方が効率が良かったのです。
そうしている間にも、日の出、日の入りの時間も喋らせようとか、世界の首都をクイズにしようとか、アイデアだけは、色々湧いてくるんですが、きりがないので、今バージョンではパスです。
会社の仕事なら、そうはいかないでしょうけど、趣味アプリなんでそこは融通が利きます。
あと、苦労したのは、グラフィックです。
今回はアイコンやBGも含め、フルスクラッチで自作しましたが、グラフィックに関してはツールの使い方から勉強しました。
良い経験になりましたよ。
開発期間は、約1か月。
自分が欲しいアプリが出来ました。