地図の上で質問できるアプリ開発の取り組み
旅先で「この店、今日は並んでいる?」「台風は過ぎた?」と思っても、検索では今の様子は分かりません。その場所にいる人、その場所をよく知る人に聞くのがいちばん早い。そう考えて、地図の上で質問できるアプリを自社で企画し、現在開発を進めています。
ここでは、アプリの仕組みと、設計で決めたルール、技術構成をご紹介します。
地図のスポットに質問を投げ、早く答えた3人と話せる
使い方は3ステップ。
- 地図を開き、スポット(観光地や施設)を選ぶ
- そのスポットについて、140文字以内で質問する
- 回答が届いたら、早く答えた3人と24時間だけチャットで話す
質問は、同じスポットに興味のある人全員に届きます。回答は3人目まで会話に進め、4人目以降は回答だけができます。答えた人の速さと、質問者からの「Good」でポイントが貯まり、レベルやバッジに反映されます。
表示するのは、ニックネームとアバターだけです。本名は出しません。気軽に聞け、気軽に答えられることを優先しました。
設計で決めたルール
雑談アプリにも、質問サイトにもしないために、最初にルールを決めました。
| ルール | 理由 |
|---|---|
| 質問も回答も140文字まで | 読む側の負担を減らし、「今どうか」を短く聞く用途に絞る |
| 会話に進めるのは、早く答えた3人まで | 回答者が増えすぎると、質問者が返せなくなる |
| チャットは24時間で終わる | 旅先での「今」の相談が目的。関係を引きずらない |
| 同じ地域で何度も質問できない | 連投を防ぎ、1つの質問に回答が集まるようにする |
| 回答のない質問は一覧に出さない | 一覧が「未回答」で埋まり、アプリが寂しく見えるのを防ぐ |
| 位置情報がオフなら、質問も回答もできない | その場所に関わる人同士のやり取りに限る |
| 通報とBadボタンを分ける | 「気に入らない」と「違反」は別。通報は管理者が確認して削除する |
スポットは人が選ぶ
質問の対象になるスポットは、運営側が登録します。利用者は作れません。最初の対象として、大阪48か所、京都51か所、兵庫28か所の計127か所を選びました。大阪城や清水寺のような定番だけでなく、「1時間500円で駄菓子が食べ放題のバー」「日本で一番長い商店街」のように、地元の人なら知っている場所も入れています。
スポットを絞ったのは、質問が散らばらないようにするためです。誰も見ていない場所に質問が落ちると、回答がつかず、アプリの印象が悪くなります。見る人がいる場所に質問を集める方が、回答がつきやすくなります。
技術構成:FlutterとFirebaseで、サーバーを持たずに作る
小さなチームで短い期間に形にするため、アプリはFlutter、バックエンドはFirebaseを中心にしたmBaaS(モバイル向けのバックエンドサービス)構成にしました。自前のサーバーは持ちません。
| 役割 | 使っているもの |
|---|---|
| アプリ | Flutter(iOS・Android) |
| 認証 | Firebase Authentication |
| データベース | Cloud Firestore |
| 位置での検索 | Elastic Cloud |
| 画像 | Cloud Storage |
| プッシュ通知 | Firebase Cloud Messaging |
| サーバー側の処理 | Cloud Functions |
| 管理ツール | App Engine(スポットの登録・編集、通報の確認、コメントの削除) |
| 分析 | Firebase Analytics、Crashlytics、BigQuery |
位置での検索だけは Elastic Cloud に任せています。「この地点から半径何kmのスポット」という検索を、Firestoreは得意としないためです。
データは、利用者(位置、登録日、ポイントの履歴、質問の履歴)、スポット(名前、説明、住所、位置、写真)、質問と回答の3つを軸にしています。利用者の変更履歴やポイントの増減は、あとから分析できるように、上書きせずに記録を残しています。
進め方:モックから始めて、社内で試す
2021年8月に技術調査から始め、データモデルの設計、モック画面の作成、開発環境の構築、画面の実装、Firestoreの組み込みと進めました。
位置情報を使って近くの人とつながる部分は、まず「近くの人だけ」に機能を絞ったβ版を作り、2021年10月に社内で試してフィードバックを集めました。先に全部を作らず、いちばん不確かな部分から確かめています。
2022年に入ってからは、2回目のレビューに向けて、データモデルの見直し、画面の作り直し、日本語と英語の2言語対応、ランディングページの制作を進めています。
外国から来た人にも使いやすく
質問を投稿する地域に詳しくない人や、外国から来た人にも便利に使ってもらうための「おすすめ機能」も検討しています。
- 質問を投稿したあとに、周囲の別のエリアをすすめる。できれば、その人の興味に合うものを
- 地図の上で、質問の多いエリア、イベントが起きているエリア、その地域で魅力のあるエリアを目立たせる
- 質問を投稿したエリアに興味がある人同士をつなぐ
英語の表示に対応するのは、この取り組みの一部です。
今後に向けて
このアプリは、自分たちで企画して作っている自社サービスで、まだ開発の途中です。公開に向けて、画面と機能を整えているところです。お客様の案件で培った設計の進め方を、自分たちの企画で試す場でもあります。
ヱビスは、FlutterとFirebaseを使ったスマートフォンアプリの企画・設計・開発に対応しています。お気軽にご相談ください。