見出し画像

ツーリングサポーターで「ツーリング日記」を作成・共有できるようになりました!


はじめに

こんにちは、城下町ウォーカーです。
ナビタイムジャパンで『ツーリングサポーター』のAndroid、Webフロント、バックエンド開発を担当しています。

今回は、バイク専用ナビゲーションアプリ『ツーリングサポーター』の新機能「ツーリング日記」についてご紹介いたします。

「ツーリング日記」で何ができるか

「ツーリング日記」では、ユーザーがツーリングで行った場所の情報や、写真を記録し、他の人に共有・公開することができます。
これにより、ユーザー同士でツーリングについて情報共有を楽しむことができるようになりました。さらに、日記の登録地点からルートを作成することも可能であり、ツーリングの計画も簡単に立てることができます。

使い方

日記の作成・確認はアプリ左上のメニューの「ツーリング日記」から、公開された日記の検索は「みんなの日記」からご利用いただけます。


使い方の詳細は、以下のページから確認いただけます。
https://static.cld.navitime.jp/smartstorage/moto/diary/html/20240110_diary.html

開発の経緯

ナビタイムジャパンでは、年に数回バイク乗りの方々が参加するイベントに出展しています。

イベントブースの様子

そこでのアンケートやヒアリングを通して、現状どうやってツーリングの情報収集をしているか、どういう機能が欲しいかを伺いました。
その結果、今回開発した「日記」を作成したいというニーズに加え、ユーザー同士の情報共有や、他者のツーリング情報を参考にしたいというニーズが高いことがわかりました。
これまでは走行の軌跡を画像としてSNS上で共有することはできましたが、アプリ内での検索・共有はできませんでした。

そこで、走行軌跡に加えて写真や行った場所の情報をまとめて記録することができる「ツーリング日記」機能を追加し、他のユーザーにも共有・公開できるようにしました。

ユーザーは日記を作成した後、アプリ内での公開や、QRコードやSNS上での共有を行うことができます。メニューの「みんなの日記」から、他のユーザーが公開した日記を検索することも可能です。また、公開された日記の登録地点からはルートを作成することもできます。

『ツーリングサポーター』の強みであるバイクツーリングに特化したナビゲーションに、日記の作成やユーザー同士の情報共有が加わることで、ツーリングの楽しみがより増えるのではないかと考えています。

WebViewでの機能開発、苦労した点

『ツーリングサポーター』では、Android/iOSアプリに加えてWebでも機能を提供しています。
今回、少しでも早く機能をお届けするために、一部を除きWebフロントに実装を統一し、アプリのWebView上で動作するようにしました。Webviewとは、アプリ内でHTMLコンテンツを表示できるように用意された枠のことです。

これにより良かった点は、狙い通り、Webフロント/Android/iOSそれぞれで開発していた従来と比較して実装量を削減できた点です。

一方で苦労した点は、おもに以下のOS標準機能をWebViewから利用する際のAndroid/iOSの挙動をあわせるのに苦労したことです。

  • 共有機能

  • 画像の選択

  • キーボード

いずれもWeb側の実装(Web API等)からOS標準の機能を利用する必要があるため、OS間の仕様の差を埋める実装が必要になりました。

例として、画像の選択ではiOSは標準機能として提供されているのに対し、AndroidではWeb APIを受け取った場合の挙動をアプリ独自に実装する必要がありました。その反面、Androidはどういう振る舞いにするかカスタマイズできたのに対して、iOSではカスタマイズしにくい、という問題が出ました。

これに対して、一部は差分を許容しつつ、iOSの挙動にAndroidを寄せて実装するなどして対応しました。

ツーリング日記のサムネイル画像は端末の写真フォルダから選択し、設定できます

このように、両OS対応のアプリでWebViewで機能を実現する場合、アプリネイティブでの実装と比較し、OS標準の機能を利用する場合に様々な課題が出てきます。機能実現のネックとなってしまう可能性があるため、どこまでOS標準の機能を使う必要があるかはWebViewでの機能実現を行う上での確認ポイントになりそうです。

今後の展望

今後は、さらなる機能の追加に取り組む予定です。例えば、ユーザーが走ったバイクの車種を日記に紐づけられる機能を検討しており、ユーザー同士のつながりを強化するための機能も計画しています。

おわりに

「ツーリング日記」はユーザーの皆様からお寄せ頂いたご意見をもとに、ツーリングに行った後に楽しく振り返り・共有したり、ツーリングに行く前の情報収集や計画に役立つような機能を目指して作成しました。

自分自身の挑戦としては、これまでメインで担当していたアプリ開発に加えて、未経験のWebフロントや知識の乏しかったBFFの開発まで幅広く担当しました。
それによって、今回のWebViewを活用した開発においても各担当範囲を考慮した設計やバグの原因の切り分けなど、考えられることの幅が広がったと感じています。

もちろん、一人で担当範囲のすべてを解決できたわけではなく、機能検討から開発まで、本当に様々な人の助けがあって無事リリースすることができました。

今後も引き続きユーザーの声を反映しながら、より使いやすく、便利なアプリを提供していきたいと考えています。

最後までお読みいただき、ありがとうございました。