Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3

One compath
October 25, 2023
61

ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3

ウォーキングアプリ「aruku&」ってどうやって作ってるの? OCEM#3

ONECOMPATH Engineer Meetup #3 (OCEM#3)
https://ocem.connpass.com/event/296662/

One compath

October 25, 2023
Tweet

Transcript

  1. 株式会社ONE COMPATH(ワン・コンパス)
    aruku&開発グループ 池本
    ウォーキングアプリ「aruku&」
    ってどうやって作ってるの?
    1
    マスコットキャラクター
    「ぽたろう」

    View full-size slide

  2. ©ONE COMPATH CO., LTD. All rights reserved. 2
    アジェンダ
    aruku&ってなんですか?
    aruku&の変遷
    aruku&の今後
    自己紹介
    気楽に聞いてほしいクト ♪
    aruku&のシステム苦労話
    aruku&の裏側

    View full-size slide

  3. ©ONE COMPATH CO., LTD. All rights reserved. 3
    自己紹介
    aruku&開発グループマネージャー
    池本聡(38歳)
    人物
    2008年 大学卒業(文系)
    SES企業でプログラマデビュー
    (組み込みCからサーバサイドJavaへ)
    2014年 ONE COMPATH入社(当時はマピオン)
    新事業や法人向けASPを担当
    (SEからPMへと上流工程にシフト)
    2018年 aruku&事業にPMとして参画
    経歴
    名前:ぽたろう
    年齢:?歳
    種別:イタチ
    語尾:〇〇クト
    人物?
    よろしクト ♪
    妹のぽたこ

    View full-size slide

  4. 4
    aruku&ってなんですか?
    aruku&の変遷
    aruku&の今後
    自己紹介
    aruku&のシステム苦労話
    aruku&の裏側

    View full-size slide

  5. ©ONE COMPATH CO., LTD. All rights reserved. 5
    aruku&って何ですか?
    楽しく&長く続けられる ♪
    190万DLを突破した ゲーム感覚で遊べるアプリ
    スマホを持って歩くだけで地域名産品が当たる、
    一歩先ゆくウォーキングアプリ
    賞品が
    当たる
    やったー♪
    お菓子が
    当たった♥
    キャラを
    コレクション
    よぉーし!
    新キャラ
    ゲット!
    ランキングで
    競える
    ついに
    10位以内!
    これで部長を
    抜いた♬
    様々な
    ミッション
    1000歩ごとに
    報酬もらえて
    嬉しい

    View full-size slide

  6. ©ONE COMPATH CO., LTD. All rights reserved. 6
    aruku&って何ですか?
    Tポイント・ウォーキングシューズ・地域
    名産品・クーポンなど
    様々な賞品が毎月当たる
    定常住民に加え、期間限定のレア住民や
    タイアップキャラなどが登場する
    キャンペーンも開催中!
    ライト層~ヘビー層まで個人のレベルに応
    じて、気軽に楽しめるミッションが満載
    日々の歩数や消費カロリーなどが
    確認できる「きろく」機能
    豊富なインセンティブ
    SNS投稿画面
    ✔ 通算ログインで報酬ゲット
    ✔ 1000歩ごとに報酬ゲット
    歩数を意識する運動グラフ
    翌月継続率 80% 1日起動数 14回  毎日アクティブなアプリ
    ダウンロードはこちら!
    思わずハマるミッション
    個性豊かな住民キャラ

    View full-size slide

  7. ©ONE COMPATH CO., LTD. All rights reserved. 7
    aruku&の楽しみ方
    1.街を歩こう 2.依頼を達成しよう 3.賞品に応募しよう
    地図を開いて住民に近づきましょ
    う。話しかけると依頼を受けられ
    ます。
    住民の依頼を達成してお宝カード
    を集めましょう ♪
    集めたカードで賞品に応募しま
    しょう!
    通勤や帰宅途中が、きっとたのし
    くなるはず ♪

    View full-size slide

  8. 8
    aruku&ってなんですか?
    aruku&の変遷
    aruku&の今後
    自己紹介
    aruku&のシステム苦労話
    aruku&の裏側

    View full-size slide

  9. ©ONE COMPATH CO., LTD. All rights reserved.
    サービスの方向性やアプリの機能、キャン
    ペーンの内容を考えるチーム
    aruku&は企画チーム、営業チーム、運用チーム、デザインチーム、開発チームなどから
    構成されていて、全部で30人以上のスタッフで運営を行っています。
    9
    aruku&の裏側:運営体制
    企画
    団体向け機能の販売を行うチーム。社内イベ
    ント成功に向けたサポートもします。
    営業
    ユーザーや団体利用者の問合せサポートを
    行ったり、サービスの運用を行うチーム
    運用
    住民画像のデザインやホームページの制作を
    行うチーム
    デザイン
    新機能の開発やシステムの保守を行うチーム
    開発
    けっこうたくさんいるクト〜

    View full-size slide

  10. ©ONE COMPATH CO., LTD. All rights reserved.
    aruku&の開発チームはServerチーム、Clientチーム (iOS / Android)、品質保証チームから
    構成されています。全部で10人前後います。
    10
    aruku&の裏側:開発体制
    新しい機能の
    開発を行った
    り、既存機能の
    改修を行いま

    Server Client
    機能開発
    システム保守
    負荷対策 インフラ
    iOS
    開発
    Android
    開発
    品質保証
    QA
    テスト
    PM
    応援
    負荷対策に集
    中して取り組み
    ます
    サーバの構築
    やミドルウェア
    の導入などを
    行います
    iOS・Androidアプリの開発を行い
    ます。ストア申請もこちらで対応し
    ます
    リリース前の品
    質保証テストを
    行います
    みんなを応援し
    ます。進行管理
    や部署間の調
    整もたまにやり
    ます
    PM仕事しろクト〜

    View full-size slide

  11. ©ONE COMPATH CO., LTD. All rights reserved.
    AWS Cloud
    11
    aruku&の裏側:システム構成
    Amazon S3
    ストレージ
    Amazon Elastic Cache
    ジョブ管理( Sidekiq)
    Amazon Aurora
    データベース
    AmazonSNS
    Push通知
    一般ユーザ
    (iOS/Androidアプリ)
    管理者
    (Webブラウザ)
    AmazonEC2
    Proxyサーバ
    ロードバラン

    AmazonEC2
    管理ツール
    サーバ
    ロードバラン

    AmazonEC2
    APIサーバ
    Cloud Watch
    X-Ray
    などなど...
    Lambda
    Code Deploy

    View full-size slide

  12. ©ONE COMPATH CO., LTD. All rights reserved.
    10月 12月
    11月
    9月
    毎月リリースします。開発からリリースまで2ヶ月ですが、後半の手が空く時期から次のバージョン
    の開発が始まります。大規模な開発は別軸で進めます。
    12
    aruku&の裏側:開発とリリースの流れ
    ver 7.0.0
    開発 検証
    リリース準備
    ・リリース
    ver 7.1.0
    開発 検証
    リリース準備
    ・リリース
    ver 7.2.0
    開発 検証
    リリース準備
    ・リリース
    大規模な開発
    開発 検証
    リリース準備
    ・リリース

    View full-size slide

  13. 13
    aruku&ってなんですか?
    aruku&の変遷
    aruku&の今後
    自己紹介
    aruku&のシステム苦労話
    aruku&の裏側

    View full-size slide

  14. ©ONE COMPATH CO., LTD. All rights reserved.
    2016年にリリースしてからTポイント連携や電子クーポン抽選機能、UX強化など通じてユーザ数
    を拡大しています。マネタイズの軸を団体向け機能や動画広告機能、課金機能と拡大してサービ
    ス成長し続けています。
    14
    aruku&の変遷
    2016年

    2017年

    2018年

    2019年

    2020年

    2021年

    2022年

    2023年

    (9月


    )

    1万人
    10万人
    40万人
    70万人
    100万人
    150万人
    190万人
    2016年11月
 iOS版リリース

    2017年3月
 Android版リリース

    2017年4月
 団体機能リリース

    2018年1月
 Tポイント提携開始

    2018年11月
 動画広告リリース

    2019年2月
 即時抽選機能リリース 

    2020年9月

    課金機能リリース

    住民リストリニューアル 

    2021年3月
 デザインリニューアル 

    2022年3月
 チーム機能リニューアル 

    2022年10月
 招待機能

    2023年9月

    歩数偏差値機能リリース 

    引き継ぎ機能改善

    <aruku&ダウンロード数>
    まだまだ行くクト〜!

    View full-size slide

  15. ©ONE COMPATH CO., LTD. All rights reserved.
    2020年、住民リストの大幅リニューアルを実施しマネタイズの軸として成長 ♪
    ユーザー分析した結果、ライトユーザーは賞品やポイント活動に興味があるが、
    コアユーザーは住民リストのコンプリートに興味を持っていた!
    15
    aruku&のターニングポイント:住民リスト
    賞品ほしい〜 ポイ活〜
    住民集めるの
    楽しいな〜
    賞品やポイント
    に興味のある人
    住民を
    集めたい人
      起動回数:低
    広告再生回数:低
      起動回数:高
    広告再生回数:高

    1画面だけだった
    住民リストを改修
    住民をグループで分け、世界観を演出!
    住民コンプにやり込み要素を設定 ♪
    aruku&を支えてくれるロイヤリティの高いユーザーを分析した結果...
    賞品やポイ活に興味は無く、住民を集めることを楽しんでいた!
    マネタイズに成功したクト〜 ♪

    View full-size slide

  16. 16
    aruku&ってなんですか?
    aruku&の変遷
    aruku&の今後
    自己紹介
    aruku&のシステム苦労話
    aruku&の裏側

    View full-size slide

  17. ©ONE COMPATH CO., LTD. All rights reserved.
    歩数を使ってリアルタイムのゲーム性を表現するのが難しい!
    OS側で計測される歩数はタイムラグがあったり、計測されなかったり、減ったりします
    秒単位で歩数を扱うため、ユーザが損しないように色々なロジックを考えています
    17
    aruku&のシステム苦労話:歩数と依頼
    依頼1 依頼2
    歩数 歩数 歩数 歩数 歩数 歩数 歩数 歩数 歩数
    制限時間内!
    依頼失敗...
    依頼達成!
    サーバ
    依頼の歩数管理のイメージ
    依頼の状態監視と、タイムラグの
    ある歩数取得イベントの監視で
    辻褄を合わせる。
    だけじゃなく、アプリがバックグラ
    ウンドで動作していた期間の状
    態を遡って処理する必要もある。
    制限時間切れ...

    View full-size slide

  18. ©ONE COMPATH CO., LTD. All rights reserved. 18
    大事なことなので、もう一度言います

    View full-size slide

  19. ©ONE COMPATH CO., LTD. All rights reserved. 19
    歩数は

    View full-size slide

  20. ©ONE COMPATH CO., LTD. All rights reserved. 20
    歩数は
    計測されないことがあります
    (電源が切れたり、OS側で不正と判断された場合)

    View full-size slide

  21. ©ONE COMPATH CO., LTD. All rights reserved. 21
    歩数は
    計測されないことがあります
    (電源が切れたり、OS側で不正と判断された場合)
    だけじゃなく

    View full-size slide

  22. ©ONE COMPATH CO., LTD. All rights reserved. 22
    歩数は
    計測されないことがあります
    (電源が切れたり、OS側で不正と判断された場合)
    だけじゃなく
    減ることがあります
    (OS側で不正と判断された場合)

    View full-size slide

  23. ©ONE COMPATH CO., LTD. All rights reserved. 23
    ※補足
    公式情報ではありませんのであしからず
    参考程度に聞いてクト〜

    View full-size slide

  24. ©ONE COMPATH CO., LTD. All rights reserved.
    その日の歩数はヘルスケアアプリや
    GoogleFitと同じ歩数を表示する
    (減った値も正直に出す)
    歩数の取り方もいくつかあるので(細かく取ったり、その日の歩数を取ったり)
    演出しようとしているゲーム性や、ユーザに対する利便性などを考慮して、
    何をどう扱うかサービスごとに考えましょう
    24
    aruku&のシステム苦労話:歩数と依頼
    それでもうまくいかない
    パターンは沢山あるクト〜
    依頼の歩数はヘルスケアアプリや
    GoogleFitの表示を無視して、
    取得できた歩数を取りこぼさない
    ように反映していく
    サーバでは減った分は反映せず
    ミッションなども増えた段階で
    達成判定を行い戻さない

    View full-size slide

  25. ©ONE COMPATH CO., LTD. All rights reserved.
    aruku&のアクセス数のピークは平日の朝8時です。
    朝の通勤ラッシュ、昼のランチ、夕方の帰宅ラッシュの時間帯に合わせて
    15万/分のアクセスがサーバに襲いかかります。
    APIサーバとDBのオートスケールや、読み込み専用処理の分離で対策しています。
    25
    aruku&のシステム苦労話:サーバ負荷
    通勤ラッシュ
    (7:00〜9:00)
    ランチ休憩
    (12:00〜13:00)
    帰宅ラッシュ
    (18:00〜21:00)
    APIサーバ

    aruku&の負荷状況
    サーバの負荷状況
    に合わせてEC2の
    台数をAutoScale
    DB(Aurora)
    wirter read replica

    書込の発生しない処理は
    ReadReplicaへ処理移譲
    ReadReplicaは負荷状況
    に応じてAutoScale

    View full-size slide

  26. ©ONE COMPATH CO., LTD. All rights reserved.
    一部の処理はSidekiqを利用して非同期処理(遅延処理)で対応しています
    ミッションの達成判定など多少遅れても影響の少ない処理はジョブキューに溜め
    サーバの負荷が落ち着いたら処理されるようになっています
    26
    aruku&のシステム苦労話:サーバ負荷
    Amazon Elastic Cache
    (Sidekiq)
    AmazonEC2
    (APサーバ)
    Amazon Aurora
    依頼達成などは
    直接DB更新
    一部処理はSidekiqにて
    ジョブキューとして管理
    非同期処理のイメージ
    過負荷時はエラー
    落ち着いたら処理
    ※注意事項
    Sidekiqを利用した設計は実は難しい。
    リトライ処理で整合性が保たれるようリランの設計を行
    う。
    リトライ処理が狙い通り行われるように例外処理の設計
    も必要。

    View full-size slide

  27. ©ONE COMPATH CO., LTD. All rights reserved.
    aruku&の住民は日本全国の道路上に配置するようにしています。
    道路データを元に住民同士が近づきすぎないよう距離を計算して配置します。
    ただ、道路は日々新しく整備されているので、問い合わせ情報を元に修正しています。
    27
    aruku&のシステム苦労話:住民の設置
    住民同士は50m以上離す
    施設内には設置しない
    道路に配置する
    でも高速道路には置かない
    問い合わせ情報を元に
    配置箇所を整備する
    住民を配置するだけでも
    けっこう大変クト〜

    View full-size slide

  28. 28
    aruku&ってなんですか?
    aruku&の変遷
    aruku&の今後
    自己紹介
    aruku&のシステム苦労話
    aruku&の裏側

    View full-size slide

  29. ©ONE COMPATH CO., LTD. All rights reserved.
    2023年9月にウォーキングの点数を可視化する「歩数偏差値」を導入しました。
    毎日継続的に健康的な歩数で歩き続けることで点数が上がる仕組みになっています。
    29
    最新機能:歩数偏差値リリース
    無理し過ぎないように
    気をつけるクト〜

    View full-size slide

  30. ©ONE COMPATH CO., LTD. All rights reserved. 30
    7周年!アイドルマスターコラボします!

    View full-size slide

  31. ©ONE COMPATH CO., LTD. All rights reserved.
    これまでは楽しく歩いて運動を習慣化できるサービスを目指してきました。
    今後は個人で楽しむアプリから、みんなで楽しむアプリとしてサービスを拡充しているところです。
    より多くのユーザーに楽しく健康になってもらうサービスを目指していきます。
    31
    aruku&の今後
    「個」から
    「輪」へ

    View full-size slide

  32. ©ONE COMPATH CO., LTD. All rights reserved.
    ご清聴ありがとうございました。
    32
    おわり
    これからもよろしクト ♪

    View full-size slide