STRIDE_X

約 10 分で読めます

iPhone 向けのウォーキングアプリです。 コースと計画の作成、計測が行えます。 計測中のペース表示や目標ペースの再設定、またコース周囲のコンビニやトイレの表示ができます。 アプリを作っているのはウルトラウォーク100kmを歩く、現役エンジニアです。

計測中の画面。地図にコースと歩いた跡が重なり、上に次のエイド「関の江みかん」までの距離1.0kmと予定時刻、下に残り7.6kmの進捗が出ている
計測中。次のエイドまでの距離と予定時刻、コース上の残りが一目で分かる
計画の画面。経由地の一覧に、距離と予定の到着時刻が並ぶ。第2CP 宇佐は翌 00:26、たていしの館は翌 01:55と、日をまたぐ時刻には「翌」が付いている
何時にどこへ着くかを決める。日をまたぐ地点には「翌」が付き、スタートからの経過時間も並ぶ
コース作成の画面。行橋別府100kmのコースが赤い線で地図に引かれ、経由地の丸や菱形に混じって、歩きながら残したしおり(オリーブ色の旗)が宇佐から別府までの道沿いに3つ見える。下に経由地45件、総距離101.5km
コースを引く。歩きながら残したしおりが地図に出るので、下見の印を見ながら経由地を置ける
記録の詳細画面の「区間」。チェックポイント間の10区間について、距離・所要時間・1kmあたりのペース・予定との差が並ぶ。上に最速の区間(10:18/km)と、予定より最も稼いだ区間(1:03)が出ている
歩き終えたあと、区間ごとのペースと予定との差を振り返れる。最速の区間と、予定より稼げた区間も分かる

概要

ウルトラウォークのコース(100km)を夜通し歩くために必要なことを、開発者自身の体験から汲み取り、実装しました。 一度表示した範囲の地図は端末に残るので、そのあとは圏外でもGPSだけで動きます。 コースはアプリ内で作れるほか、GPXやKMLのデータを取り込んで作ることもでき、コース中のエイドやチェックポイントはあとから追加・編集・削除できます。

作らなかったもの

オンラインのアカウントや、ヘルスケアとの連携は行っていません。 通信が発生するのは、地図の取得、地点名の提案、地名・住所の検索、コース作成中の「道なりにつなぐ」、課金コンテンツの購入のときだけです。 作る側の仕組みをシンプルにするという目的もありますが、電波を受信できない場所でもバッテリーを気にせず使えるようにする設計としているためです。

一般的な記録アプリと違うところ

1回の計測が20時間を超え、日をまたぐことも想定しています。
関門の締切は翌日・翌々日まで指定でき、時刻の表示も日付を持ちます。 計測の途中でアプリが落ちても、起動時に必ず未完了の記録を拾い直します。

GPSが途切れること、コースを外れることを、隠さずに画面へ出します。
過去に歩いた100kmウォークの記録(1秒間隔・18時間19分)を調べたところ、 1秒を超える記録の途切れが76箇所・合計56分(全体の約5%)ありました。 「途切れない」という前提では作れません。

記録は端末の中だけにあり、追跡する仕組みを一切持ちません。
歩いた記録をサーバーへ送ることはありません。 解析ツール(Firebase・Sentry 等)も広告も入れておらず、広告識別子(IDFA)も使っていません。 外部ライブラリはデータベースを読み書きするもの1本だけで、これは通信しません。 (地図の表示などに伴う通信についてはプライバシーポリシーに記載しています)

主な機能

コースを引く

歩く道を地図の上で作ります。地図をタップして地点をつなぐ、指でなぞって線を引く、 スタートからの距離を数値で指定する、の3通りで作れます。 大会が配布する GPX・KML ファイルを読み込んでコースにすることもできます。 作成したコースは GPX ファイルに書き出せるので、他の STRIDE_X ユーザーへ共有することも、GPX を扱う他のアプリで使うこともできます。

市街地など、地点と地点を「道なりに」つなぎたい区間は、その都度選んで曲げることができます。

地名・住所・店名で探して、その場所へ地図を寄せることもできます。 圏外のときは、アプリに入っている地名と店名から探します。

何時にどこへ着くかを決めておく

ゴールの目標時間を入れると、区間ごとの目標ペースを、距離に合わせて割り振ります。 関門は締切として別に持てるので、 「目標より遅いが関門には間に合っている」という状態を区別して見られます。 締切は日付をまたいで指定できます。

歩いている間の表示

計測中の画面には、次の地点までの距離、予定より何分早いか/遅いか、 ゴールの到着見込み時刻、締切までの余裕が出ます。

文字は大きく、色は航空機の計器(FAA AC 25-11B)と JIS 安全色の割り当てに合わせています。 赤は締切の超過、黄は余裕がわずか、緑は余裕あり、白と黒は事実の数値、青は動かない計画値。 疲れて頭が回らなくなった人間が、一瞥で判断できることだけを狙っています。

夜間は画面全体を段階的に落とせます。ダークモードのように色を入れ替えるのではなく、画面の明るさそのものを下げる作りです。

歩きながら目標を立て直す

遅れや長めの休憩で予定が崩れたら、計測中に目標を入れ直せます。 どの地点までを何時間で(または何分/kmで)歩くかを入れると、その区間の目標ペースが組み直されます。 反映する前に、次の地点とゴールの見込みがどう変わるかを確かめられます。

この先の補給を探す(サーチ)

計測中の地図では、この先にあるコンビニやトイレに「あと 1.2km」のように、コースに沿った残りの距離が出ます。 次の施設が画面の外にあるときも、画面の右上に向きと距離が出ます。 表示する施設をコンビニだけ・トイレだけに絞ったり、道の右側・左側だけに絞ったりできます。 夜に閉まる店には月の印が付きます。

コンビニ・トイレ・スーパー・ドラッグストアは全国16万件分をアプリに入れてあるので、圏外でも動きます。

音と声で知らせる

コースを外れたとき・戻ったとき、エイドや関門に近づいたとき・着いたときに、効果音と声で知らせます。 スマホをポケットに入れたまま、画面を見ずに歩いていても気づけるようにするためです。 マナーモードでも鳴ります。22時から翌6時までは夜用の音に切り替わります。 音と振動は、それぞれ設定で切れます。

曲がる場所を声で案内する

見落とすと困る分かれ道や曲がり角には「道標」を置けます。 道標は地図に名前が常に出て、1km手前から画面に予告が出ます。 道標に曲がる向き(右・左・直進・歩道橋など)を決めておくと、手前で2回、声で案内します。

経由地への到着・滞在を自動で記録する

エイドや関門をコースに置いておくと、近づいた・着いた・出発した、を自動で判定して記録します。 「着いた」とみなす範囲は地点ごとに自動で決まり、地点ごとに広げたり狭めたりもできます。

歩きながら場所を残す(マーキング)

計測中にボタンを1回押すと、その場所と時刻を残せます。 長押しすると、地図の上で場所を指して残せます。通り過ぎた曲がり角や、見えている先の店にも印を付けられます。 コースを引く画面では残した場所がピンで出るので、試し歩きで見つけた曲がり角や休める場所を、そのまま地点として置けます。

残したマーキングは、ホームから一覧で見返せます。メモを書き足したり、要らないものを消したりできます。

圏外でも地図が残る

地図は一度表示した範囲が端末に保存され、圏外でも再表示できます。 ただし事前の一括ダウンロードには対応していません。 初めて歩くコースは、出発前に地図を一度表示させておいてください。

歩き終えたあとの記録

終了すると、その日の行程を1枚のエンドカードにまとめます。 歩いた時間帯がそのまま背景のグラデーションになります。 記録の詳細画面からは GPX ファイルを書き出して、他のアプリへ渡せます。記録を1件ずつ消すこともできます。

歩いた距離が称号になる

ハーフ・フル・ウルトラ(50km)・100km・100マイルを歩き切ると、その距離の称号がホームのアイコンに付きます。 同じ距離を歩いた回数に応じて、輪の色が青・銅・銀・金・プラチナと変わります。 どの称号を付けるかはプロフィールで選べて、付けないこともできます。

ホームのヘッダの色も、プロフィールで選び直せます。

対応環境

対応OSiOS 26以降
対応機種iPhone(iPad・Apple Watch には対応していません)
言語日本語・英語(画面の表示。音声の案内は日本語のみ)
対象地域日本国内向け(アプリに入っている施設・地名のデータと、端末に残せる地図は日本国内のものです。日本の外では Apple の地図を表示します)
オフライン動作計測・到着判定・記録の保存・コース作成はすべてオフラインで動きます。機内モードでも計測できます

一部、オフラインでは働かない機能もあります。 まだ一度も表示していない範囲の地図(白くなります)、地点名の自動提案(オフラインの地名データに切り替わります)、 地名・住所の検索(アプリに入っている地名と店名から探します)、 「道なりにつなぐ」(直線での接続に切り替わります)。

料金

基本無料です。広告もサブスクリプションもありません。

無料のままでコース作成・計画・計測のすべてが使えて、保存できるコースが5件までという制限があります。 それ以上のコースを持ちたい場合に、買い切りの STRIDE_X Pro があります(アプリのアイコンと、ホームのヘッダに敷く自分の画像も着せ替えられるようになります)。

開発者を応援するための課金コンテンツもアプリの中に置いていますが、購入しても機能は変わりません(応援した回数が Pro の画面に表示されるだけです)。

ダウンロード

App Store での配信に向けて準備を進めています。公開時期が決まりましたら、このページでお知らせします。

背景

2025年10月11日、行橋別府100キロウォークを歩いた。 行橋別府は3回目、100km以上の大会としては6回目になる。 正午にスタートして、翌朝6時25分にゴール。18時間19分、101km。 正午に出るので、日が暮れるのは必ず途中になる。夜の大半を歩いて過ごすことになる。

いちばんきついのは眠気だ。 胃腸の不快感や足の痛みも来るが人による。眠気はたぶん全員に起きる。

そして眠いまま、ずっと何かを選び続けることになる。 ここで休むか、あと1km進んでから休むか。何を食べるか。そもそも近くに施設はあるか? 靴紐を締めすぎて足が痛い。いま立ち止まって直すか、次のエイドまでこのまま行くか。 一つひとつは大したことのない選択で、単体では結果を左右しない。 それを何百回か繰り返した先に、着いているか着いていないかがある。

歩き終えてから、そのときの記録を読み直した。 1秒ごとに残っているはずのログに、1秒を超える切れ目が76箇所あった。 合計56分。全体のおよそ5%が記録されていなかった。 途切れないものだと思っていたが、違った。 そして歩いている最中には、そのことに気づいてすらいなかった。

眠くて頭の回らない時、人は目の前が無限の選択肢に見えた時点で、もう選べない。 気づけないことにも気づけない。

100kmも、42億分の1も、たどり着き方は同じだ。

STRIDE_Xは、答え示すためのツールではない。 無限に見えるものを「どっち」まで減らすことにフォーカスする。 予定より何分早いのか。次の関門に間に合うのか。いま進むのか、休むのか。

そして異常・想定外の状態も音と表示で告知する。 測位が来ていないなら来ていないと、コースから離れたなら離れたと。 途切れないふりをして距離を数え続けるより、そのほうが役に立つ。

歩いている時、身の回りの状況を瞬時に、手軽に確認するためのツールが欲しい。 これを実現するためにSTRIDE_Xの開発に着手しました。

42億は、2を32回掛けた数です。どちらかを32回選べば、42億通りの中の1つにたどり着きます。 STRIDE_Xも、この繰り返しで開発を進めました。画面の案を並べ、どれにするかを決める。 2026年10月の時点で、記録に残っている決定を二択として数えるだけでも62回あり、461京分の1になりました。