概要

DIGITAL CRUISINGは、ピアッツァの初期型デジタルメーターとマルチドライブモニターを再現し、スピードメーター、オドメーター、トリップメーターの機能を持たせたiPhoneアプリケーションです。それに加え、給油記録管理とガソリン残量表示をする機能、音楽再生機能があります。




以下のような方にお勧めします。

  • このデジタルメーターのデザインにピンと来る方
  • この名前にピンと来る方
  • オドメーターが故障してしまった方(一時的な代替としてご利用ください)
  • ガソリンメーターが故障してしまった、または元々無い方(同上)

主な機能

  • スピード表示
  • 長時間全く移動していない場合は自動的に機能停止(停止しないことも可能)
  • オドメーター表示(初期値設定、変更可能)
  • トリップメーター表示(A/B2系統あり。独立してリセット可能)
  • バックグラウンドでも動作継続(但し精度は落ちます)
  • 時刻表示
  • 給油記録管理
  • 残燃料表示(初回起動時に設定、その後は燃費と走行距離から概算値を算出、燃料給油時に再設定)
  • 残走行距離[KTE]表示
  • 燃費[KM/L]表示
  • 燃費として使用する値を、ユーザ設定値または給油記録から自動算出のどちらかを選択可能(但し給油記録はデータが2件以上ある場合のみ利用可能)
  • 燃費自動計算(給油記録を残している場合のみ)
  • 音楽再生・停止/次曲/前曲

Ver.2の変更点 (2020/5)

2014年にリリースしたVer 1.1から6年。ギネスブック級の放置期間を経て、遂に新バージョンをリリースしました。変更点等は以下の通りです。

  • iPhone11 / iOS13向けに全面的に再構築しました。
  • メーターパネル内のデザインやフォントを変更しました。
  • 背景デザインを変更し、ダッシュボードやウインドウ外景を再現しました。
  • ダッシュボード色は選択可能としました。
  • 時間帯(日の出・日没)によりライトのオン/オフを再現するようにしました。また、外景も時間帯により変化するようにしました。
  • 降車後の歩行中等は走行距離を加算しないようにしました(モーションセンサーを利用)。
  • 計測自動停止を10分後ではなく1時間後〜10時間後に変更しました。
  • 距離や給油単位、燃費単位について、各国の単位に対応しました。

Ver.2.1の変更点 (2020/6)

音楽プレーヤーとしてSpotifyに対応しました。詳細はサポートサイトを参照ください。

NOTE

iPhoneのGPS機能を利用して速度を表示します。その性質上、どうしてもワンテンポ遅れた速度表示になるため、特に加減速中の速度表示は不正確です。巡行走行の場合は比較的正確な速度表示になります。

このアプリケーションはGPSを利用します。常時給電状態での利用を強く推奨します。
また、このアプリケーションが表示するスピード、距離はiOSデバイスのGPSに基づくもので、必ずしも実態に即したものではありません。実際の車が表示する数値に従って運転して下さい。

燃料残量は、給油を繰り返しているうちにどうしても実際の残量とズレが発生します。これはどうしようもないので、設定画面から適宜修正するなり何なりしてください。

開発裏話

開発者(m.sota)のJR130ピアッツァは、まさに「オドメーター不動、燃料計不動」の状態で、何度かガス欠でJAFを呼ぶ羽目になっており、何らかの対策が必要でした。

しかし、困ったことにピアッツァのメーター周りはそうそう簡単に直るものではありません。iPhoneのGPSアプリで距離だけ記録し、燃費アプリと併用していたものの、実に使い勝手が悪い。そこで必要にかられて開発したのがこのアプリです。

そのため、このような症状にピッタリくるものを目標として仕様を定めました。まずオドメーター、燃料計相当のものは必須です。折角なので燃費アプリ相当の機能を持たせることとしました。ここまで来ると、どうせならピアッツァのデジパネを再現してしまえ、ということになり、特に必要ではないもののスピードメーターも盛り込む羽目になりました。

こうなると上下に動くタコメーター、右斜め上方へのフリーセットアラームも再現せざるを得ません。フリーセットアラームは、速度をそのまま表示することで対応することとしました。しかし、タコメーターはどうにもなりません。マイクでエンジン音を拾うことも考えましたが、そこまでしても自己満足でしかないので、適当に上下動することにして誤魔化すことにしました。

そして、せっかくなのでマルチドライブモニタを再現し、さらにスペースが微妙に空いたのでオーディオコントローラーも追加しました。オーディオは、使用しているALPINE 7618J(に限らずこの時代のALPINE)を再現しました。

しかし、スペース的にボタンを全て押し込むことは難しく、いずれのボタンも半分の3個となりました(あまりにも小さいボタンは、Apple社のデザインガイドラインに反するのでリリースできません)。

ここまでくるとさらに自己満足な仕様が増え、エンジンスタート時のOKモニターアニメーション、始動音(自分のJR130ピアッツァの始動音を録音して収録)など、どうでもいい作り込みが増える一方となりました。それはそれで楽しいものです。

このようにして実用半分、面白半分で開発したこのアプリ。出張移動中の東海道新幹線車中で開発していると200km/hを軽く超えてびっくりしたり、Excelを使ってドット絵みたいなことをしてOKモニターの画像を作ったり、とにかく楽しい開発作業でした。GPSアプリの開発には電車移動が最適(クルマ移動だと自分は何もできませんから)だということもこのアプリ開発を通じて痛感しました。

なお、このアプリはiPhone4s全盛期に開発し、iPhone5sの時代で開発が停止しています。64bit対応まではしているため、2019年時点ではAppStoreから追い出される気配がないことから、当面そのまま機能拡張することなく現状維持の見込みです。 2020年、遂に最新OS仕様でアップデートを果たしました。

Ver.2 開発裏話

6年間にわたって放置を貫いていましたが、とうとうアップデートしてしまいました。

アップデートした理由は、自分のiPhoneを6sから11 Pro Maxに変更したところ、余白部分が非常に気になってしまったことと、ピアッツァを降りて歩いている最中も距離が進んでしまうことが我慢ならなかったためです。

別アプリ(ROADSTOCK)のアップデートが落ち着いて暇だった、コロナ云々で仕事が暇だった等、時間的に余裕があったことも理由の一つではあります。但し電車通勤していないせいでデバッグには苦労しました。

開発にあたっては、以下の点にこだわりました。

  • スピードメーターのフォント幅を実物に近づける(最終的にはFontForgeでフォントを自作)
  • オドメーターのフォントを実物に近づける(これは画像を利用)。本来は、オドメーターの回転まで表現すれば完璧ですが、面倒なのでやめました
  • トリップメーターやマルチドライブモニタ用フォントの文字間隔を実物に近づける
  • オーディオ部分の曲名タイトルが長すぎる場合に … になってしまうのをどうにかする
  • モーションセンサーを用いて、乗車していない状況下では距離を加算しないようにする

スピードのLEDの動き、右下のOKモニターの動き等は既にある程度問題なく動いているので、特に手を加えませんでした。

また、主にiPhone X/XS/11系統で、メーター両サイドに広大な空間が余ってしまうため、お遊びでダッシュボードも再現することにしました。結果的に以下のようなことになりました。

  • ダッシュボードの色を選択可能にする。自分の車はベージュのビニールレザー化しているため、それも選択肢に入れる
  • ダッシュボードで背景を埋めることはバランスが悪いので、フロントウィンドウを模した背景画像を入れる
  • 背景画像を時間帯によって替える(昼間/夜間/日の出・日の入り)
  • 夜間のみ燃料などのインジケーター部を緑にする

また、せっかくなのでマイルやガロン等の異なる単位系や燃費計算方式にも対応しました。これらはROADSTOCKで既に対応していたので特に苦労しませんでした。

以前の開発時はiPhone5sまでしか存在せず、画面サイズは標準(iPhone4S以前)と横長の2つしかありませんでした。そのため、レイアウトに関する苦労はほとんどありませんでしたが、今回はX/XS/11系統、6/7/8系統、Plus系統、SE1と、少なくとも4種類の系統があり、X/XS/11系統にはXRだのMaxだのといった亜流があり、どうあがいても1つの画面レイアウトですべてを賄うのは不可能です。そのため色々と妥協がありました。これが一番苦労したところで、それ以外は技術的にほとんど困ることもなく、あっさり開発完了しました。ROADSTOCKで色々と試行錯誤していたので、モーションセンサー周り等はあっさり完了しました。

もう少しやりたいことはあるのですが、できるかどうかわからないのでとりあえず黙っておくことにします。
→「やりたいこと」の筆頭だったSpotify連携を実装しました(Ver 2.1)。まだあとちょっとありますが、夏場は暑くてピアッツァに乗らないので放置になる見込みです。