在宅時間が増えたこの機会に、ずっと放置していた自作のConnectIQのアプリをアップデートすることにした。
僕が作ったアプリは、レースの時に使うもので、画面に表示されるリアルタイムのペースが予め自分で設定した5km毎のペースより早ければ緑、遅ければ赤で表示されるというものだ。
ペースチャートを見なくても一目で設定ペース通りに走れているかのか、早過ぎるのか、遅いのかが分かる。
他にも現在の走行距離、時間、現在の目標ペース(走行距離に合わせて5km毎に変わる)、現時点での目標タイムとの乖離(これも早ければ緑、遅れていれば赤で表示)が一画面に表示される。自分のレースプランに合わせた架空のペーサーという意味でAirPacerという名前にした。
1月にこれを使ってくださっている方から改良のご要望をいただいていたのだが、なかなか思い腰が上がらず、気になりつつもそのままになっていた。というのもアプリを作ったのは2018年でその時以来使っていない開発環境(Eclipse)もConnectIQ専用の開発言語(MonkeyC)のコーディングについても思い出しながら作業をするのが億劫だったのだ。
このアプリは、目標ペースをオーバー(早過ぎる)している時に色が変わるのが、早過ぎる場合はキロ15秒以上、遅い時はキロ5秒以上という設定になっていた。
ご要望をいただいたのは、早過ぎる時の色が変わるタイミングをもっと短く出来ないかというもの。そうでないとオーバーペースになりがちだということだ。
もっともなご意見だ。
アプリを作っている段階では、遅い時は早目にアラートして早い分には安全圏なので幅を多目にとって…と考えてそうしたのだが(どうしても貯金を作ってしまいがちな僕の性格を反映しているのだろう)、実際に僕もレースの場で使ってみるとキロ15秒というのは幅を持ち過ぎだと思った。
そこで今回このアラートを出す(色を変える)タイミングを使う人が任意に設定出来るようにした(0秒から60秒の間)。
その機能自体のコーディングはそんなに苦労しなかったが、Garmin指定のアプリのサイズに収めるのが大変だった。
このアプリのようにトレーニングページに表示する「データ項目」(data fields)というアプリは古い機種(僕のForeAthlete 920XTJもそうだ)に対応するには16KB以内にしなくてはならない。このアプリを作った時も随分とコードを見直して何とか規程のサイズに収めた記憶があるので、新しいコードを書き足して容量を抑えられるかがポイントだった。
今回もう一度徹底的にコードを見直し、これまで気付かなかった改善点もいくつか見つけて何とかサイズ内に収めることが出来たので、アップロードした(もちろん、その前にPC上のシミュレータと実機でのテストも行っている)。
しかし、レース用のアプリだけに(もちろん練習でも使えるが)当面需要が無さそうだ。早く使える時が来て欲しいものだ。
久しぶりにプログラミングをやってみると(仕事で効率化の為のExcelのVBAは偶にやったりはするが)、結構楽しかったりする。
トライ&エラーの末に思い通りに行った時が楽しいのだ。
前に思いついて始めたものの、途中で投げ出したアプリももう一度ゼロベースでやってみようかと思ったりもした。
あと、このアプリを使ってくださったTOMSAIさん(id:TOMSAI)からリクエストいただいていた5km毎のラップ表示もまだ出来ていない。こちらはちょっとハードルが高そうなのだが、もう一度考えてみても良いかも知れない。
▼アプリHP
▼Garmin ConnectIQストア
今日で4月も終わるが、何とか200kmは超えられた。