2016年1月30日土曜日

Halfway Timer (Androidアプリ)を作っている

Androidアプリを時々作っている。今作っているのはランニング・フィットネス用のアプリで、簡単なタイマープログラムである。
ユーザーが入力した目的時刻に対して、中間時刻で音を鳴らすというもので、奇妙に見えるかもしれないがこの機能がどうしてもモバイルで欲しかったので作った。簡単な入力により、ワークアウトの折り返し地点を時間ベースで知りたかった。既存のタイマーアプリの多くは「30分間何かをする」というタスクをきちんとサポートするが、「7:00までの間何かをする」といったタスクをあまり効率的に処理できないのである。
Halfway Timer  (Android App)
中間地点を告知するランニングアプリはNike Runningなどいくつあるが、それらはユーザーにタイマーの作動時間長を入力させるUI仕様である。それだけではなくユーザーが直接、絶対的な終了時刻を入力できれば、たとえば「朝食の時刻に帰りたいので、折り返しタイミングを知らせてほしい」というニーズに応えられて便利である。このアプリを作る前は折り返し時刻を暗算したり、腕時計の回転ベゼルを利用して計算していたが、それはつまらない作業だった。今はこのアプリを毎日デバッグがてらワークアウトに使っている。
なお折り返し時刻は、入力した瞬間の時刻と終了時刻の中間時刻(1/2地点とする)である。それに加え3/4地点、7/8地点、15/16地点などを告知するようにしている。これは告知ごとに残り時間を二分割し続けていくものである。特にベースとなる理論はないが、経験上この地点がユーザーの心理モデルにフィットするようだ。

XAML・WPFと最新のC♯に慣れすぎてAndroidのJavaプログラミングは何か懐かしい気さえ感じる。それくらい古臭い。しかし端末とPC、Android Studioがあればすぐに開発できるし、また資料・サンプルが豊富にあるので、とても敷居が低くこの点が好ましいと思う。
C♯といえば Windows 10 Mobile も気になる。現状のストアを見る限りiOS/Androidのようなアプリ群の充実はあまり期待できないようだが、ブルーオーシャンに見えなくもない。デベロッパーがこれからUWPアプリを作るのもいいかもしれない。