メインコンテンツへスキップ

マスターに向けた拡張項目

このページは、GPS-MEMOをマスター版に向けてより魅力ある内容へ育てるための拡張候補を整理するものです。プロトタイプでは、意図したエリアへの到着通知を確認できました。ここでは、リリースやマスター化に向けて検討するA-Jを一覧化します。詳細な実装順と検証条件の正本は、リポジトリの作業計画書で管理します。MEMOをマスター版へ育てるための拡張候補と現在の状態を整理するものです。詳細な実装順、検証条件、実装記録の正本はリポジトリの作業計画書で管理します。

拡張一覧

ステータス状態機能名項目機能説明実装難易度内容
候補A: バックグラウンド未起動でも通知スマホアプリが前面や通常のバックグラウンドにいない場合も、スマホ版GPS-MEMOが前面や通常のバックグラウンドにいない場合も、iOSが許す範囲で到着通知を成立させる。 候補B: 消費電力削減位置監視、判定頻度、通知条件のON/OFFを整理し、通知条件を整理し、常用時の電池負荷を下げる。 候補C: 通知エリア設定値の洗練「入った」、通知、要求精度などの設定値を実測で洗練し、誤通知や遅すぎる通知を減らす。要求精度などの値を実測で洗練する。 候補D: UI見直しメモ追加、最新通知、メモ一覧、診断機能などを、通常利用者が迷わない構成へ見直す。通常利用者が迷わない画面構成と導線へ見直す。 仕様整理済み実装済み・残確認ありE: 重なり合った複数エリア対応(徒歩版)重なり合った複数エリア対応複数メモの「入った」エリアが重なっても確認状態を独立して維持し、それぞれの通知エリアへ到達した順に履歴記録・通知する。通知エリアは安全マージン込みで重ならないよう作成・編集を制限する。徒歩版で複数メモを独立確認し、到達順に履歴と通知を処理する。未実装中-高E′: iOS瞬間速度の平滑化瞬間速度の揺れによる測位条件の変動を抑える。 候補実装中F: 近くのメモ検索利用者の操作で、現在地から設定距離内のメモを検索し、リスト表示する。G2の現在地から1km、2.5km、5km、10km以内の生存メモを距離順に検索する。 候補G: 履歴のフォルダ化履歴をフォルダ階層やグループ単位で表示・絞り込みできるようにする。履歴をグループやフォルダ単位で表示・絞り込みする。 候補H: メモ情報のインポートPCなどで作った観光スポット等のデータ集をインポート・削除できるようにし、F/Gと組み合わせる。中-高観光スポット等のデータ集を取り込み、まとめて管理する。 候補I: 曜日・時間による通知ON/OFF曜日・時間で判定をON/OFFし、OFF時間は不要な測位を止める。中-高時間条件で通知判定と測位を制御する。 新規候補候補J: 自動車・進行方向別・超広域モード高速道路の上り・下りなど進行方向に応じて通知を分け、サービスエリアや沿線の名所を高速移動中に案内する。下りなど進行方向に応じて通知を分ける。未解決K: G2履歴の取得・画面更新不良スマホに履歴があるのにG2で取得・反映されない問題を切り分けて解消する。

E: 重なり合った複数エリア対応(徒歩版)重なり合った複数エリア対応

判定

    「入った」エリア同士は重なってよく、大きなAの「入った」エリア内にBの「入った」、通知、安全エリアが存在してよい。

    Aを確認中にBへ進入してもAの確認状態を失わない。Bの通知エリアへ先に到達したらBだけを履歴記録・通知し、その後Aへ到達したらAを別に履歴記録・通知する。 iOSのenterイベント順へ依存せず、確認中メモは集合で管理する。位置情報ストリームは1本を共有し、各メモの退出・期限切れ・通知は他の確認状態を終了させない。

    通知半径と自動計算

      通知半径は25-250m。Aを確認中にBへ進入してもAの状態を失いません。Bの通知エリアへ先に到達した場合はBだけを処理し、その後Aへ到達したらAを処理します。位置ストリームは1本を共有し、メモごとの退出、期限、削除、通知を独立管理します。

      通知半径は25~250m、プリセットは短域25m、中域125m、広域250m。

      通知スライダーは 通知半径 = 25 + 225 * x^1.1699 とし、中央で125mにする。 準備距離は 25 * (通知半径 / 25)^0.77815広域250mです。「入った」半径は通知半径と準備距離の合計。短域50m、中域約212m、広域400m。短域50mは実地試験し、取りこぼしが多ければ70mへ見直す。半径、安全マージン、要求精度、確認時間、測位頻度は通知半径から自動計算します。

      E′:

      安全マージンはiOS瞬間速度の平滑化

      現在はCLLocation.speedの瞬間値または連続位置からの推定速度を使っています。短い移動窓または指数移動平均を候補として、停止、低速、速度不明、急な加減速への追従性を保ちながら測位間隔とdistanceFilterの振動を抑えます。Fでは実装しません。

      F: 10近くのメモ検索

      利用者がG2から操作した時にEven *Hub (通知半径 / 25)^0.77815。短域10m、中域約35m、広域60m。2件の中心間距離は、双方の「通知半径 + 安全マージン」の合計以上を必須とする。

      短域25m同士は中心間70m以上で通知円間20m、広域250m同士は中心間620m以上で通知円間120mを空ける。 要求精度は短域30m、中域60m、広域90mとなる指数曲線で計算する。確認時間は「入った」半径に対して10-30分を1分単位の直線で計算する。 測位頻度は基準歩行速度2.0m/s、通知半径、実測速度から3-30秒で自動計算し、停止・極低速時は30秒とする。線分が通知円を横切った場合も補完判定する。

      画面

        メモ作成・編集地図は、通知エリア、安全マージン、「入った」エリアの三重表示にする。既存メモも表示し、既存分はグレースケールにする。 通常画面で操作するのは通知半径スライダーだけとする。 計算式の最小・最大・指数は、メモを作れないプレビューMAP付き詳細・開発設定画面で調整する。 設定保存時は既存メモの通知半径を変えず、派生値を再計算する。次のアプリビルド時は既存メモを全削除した状態から始める。 SDKで現在地を取得し、スマホ版GPS-MEMOのF専用APIが返す生存メモを検索します。距離は1km、2.5km、5km、10kmから選び、範囲内を近い順、同距離はメモID順で表示します。一覧に日付・時刻は表示せず、選択したメモの本文を閲覧できます。

        通知履歴APIとF専用APIは分離し、履歴APIへ座標を追加しません。F′に相当するオフライン同期や永続キャッシュは採用しません。localhostへ接続できない場合は古い結果を出さず、取得不能として表示します。検索操作は通知、履歴、region監視を変更しません。

        J: 自動車・進行方向別・超広域モード

          徒歩版Eとは別モード・別実装単位とする。

          徒歩版Eとは別モードとします。高速道路の上り・下り用メモは、同じ地点でも方向条件と内容が異なる別メモとして扱えるようにする。同じ地点でも方向条件と内容が異なる別メモとして扱います。通知地点の手前側へ伸びる接近領域と進行方向判定を組み合わせ、逆方向では明示的に通知対象外とします。

          K: G2履歴の取得・画面更新不良

          スマホ側の配達窓、HTTP到達、履歴応答件数と、G2側の取得、応答解析、履歴キャッシュ、画面反映を分けて確認します。F専用APIと通知履歴APIは混同せず、Fの取得失敗が履歴キャッシュを破壊しないようにします。

          破棄した独立タスク案

          • F′は採用せず、Fへオフライン同期・永続キャッシュを統合しません。
          通知地点の手前側だけへ伸びる細長い接近エリアを持たせ、正しい方向では測位と方向確認を始めてから通知地点へ到達できるようにする。メモ配置UIの再設計案は独立タスクとして追跡しません。現在の実装は変更・削除しません。 逆方向は「速く通過して判定が間に合わなかった」ことへ依存せず、進行方向不一致として明示的に通知対象外にする。安全マージン最小値の変更案は破棄します。新しいプリセット値はオーナー提示まで確定しません。 方向判定にはiOSのcourse、courseAccuracy、speed、speedAccuracyを使い、不十分な場合は連続位置から補完する。 iOSのregion監視は円形のため、接近エリア全体を覆う起動用円と、アプリ側の方向付き形状判定を組み合わせる案を第一候補とする。 形状、許容角度、上下線の指定方法、超広域時の半径・測位頻度はJの実装計画で確定する。

          H/I/Jなどの属性は、将来iOSのregion上限内で監視対象を内部選択する材料にできる。ただし、利用者が直接指定する優先度UIや計算規則は現段階では確定・実装しない。