svg-animation
ブログ一覧

地図の上で質問できるアプリ開発の取り組み

旅先で「この店、今日は並んでいる?」「台風は過ぎた?」と思っても、検索では今の様子は分かりません。その場所にいる人、その場所をよく知る人に聞くのがいちばん早い。そう考えて、地図の上で質問できるアプリを自社で企画し、現在開発を進めています。

ここでは、アプリの仕組みと、設計で決めたルール、技術構成をご紹介します。

アプリの流れ(イメージ図)。地図のスポットを選び、140文字で質問すると、早く答えた3人と24時間のチャットができる。

地図のスポットに質問を投げ、早く答えた3人と話せる

使い方は3ステップ。

  1. 地図を開き、スポット(観光地や施設)を選ぶ
  2. そのスポットについて、140文字以内で質問する
  3. 回答が届いたら、早く答えた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を使ったスマートフォンアプリの企画・設計・開発に対応しています。お気軽にご相談ください。

ブログ一覧