1秒のヘッダーからミリ秒を引き出す
1回の応答ではオフセットは1秒幅にしか絞れません。しかしそれは確定した制約で、1秒の中の別の位相で測れば制約される境界が変わります。Attoは137ms間隔で位相を走査し、その後サーバーの秒が切り替わる瞬間を予測してその境界を狙い撃ちします。
Attoは手元の端末の時計ではなく、販売サーバーの時計を直接読みます。そして他のタイマーが 隠すものを見せます — その測定が実際どれだけ正確だったのかを。
App StoreでダウンロードiPhone · iOS 17以降 · 無料 · 広告あり · 一度の課金で広告削除
「精度:高」は何も語りません。Attoは同期ごとに誤差範囲を計算し、その根拠と一緒に画面に出します。
1回の応答ではオフセットは1秒幅にしか絞れません。しかしそれは確定した制約で、1秒の中の別の位相で測れば制約される境界が変わります。Attoは137ms間隔で位相を走査し、その後サーバーの秒が切り替わる瞬間を予測してその境界を狙い撃ちします。
CDNがオリジンの代わりに応答すると、その中の時刻は保存された瞬間で止まっています。AttoはAgeとキャッシュ状態ヘッダーを読み、そうしたサンプルを平均に混ぜずに除外します。止まった時計を読んで同期と呼ぶことがこのアプリ最大の失敗だからです。
数ppmずれた発振器は、完璧な同期も1時間で鈍らせます。Attoは同期の間の傾きを重み付き最小二乗で当てはめて現在まで延長し、1日に何秒ずれる端末なのかを教えます。
浮かぶウィンドウは列の上に乗ります。ダイナミックアイランドは乗りません。
秒はiOSが毎フレーム自ら描きます。Attoは端末の時計の実測誤差をあらかじめ引いた目標時刻を渡し、そのタイマーが本当のサーバー時刻に着地するようにします。ミリ秒はシステムがアニメーションできないため最後の区間で毎秒10回送信し、それ以外では古い数字を見せないよう非表示にします。
設定した時点から1秒ごとに振動が強くなり、0秒で強い一撃が来ます。タイマーで回さずCore Hapticsにパターン全体を先渡しするので、画面が詰まっても0秒は動きません。
練習モードが振動を感じてからタップが実際に通るまでの時間を繰り返し測り、中央値を先行補正に適用します。自分の指、自分の遅延、自分の数字です。
iOSではどのアプリも他アプリの通知を止められず、おやすみモードをオンにもできません。Attoはそれを明言した上で、実際に効く三つを行います。
Attoは「カウントダウン待機」を公開します。時刻オートメーションで「集中モードを設定」と組み合わせれば、触らなくても端末が静かになり待機に入ります。
許可をもらうとAttoは集中モードがオンかどうかだけを読みます — どのモードかは読みません。待機中に端末を静かにするものが何もなければ警告します。
最も強力で、完全にユーザーがオンにする方法です。アクセシビリティ › アクセスガイドをオンにし、購入画面でサイドボタンを3回押すとバナーも着信も遮断され、アプリ切り替えも固定されます。
この分野でよくある方式と、Attoの選択。
| 項目 | よくある方式 | Atto |
|---|---|---|
| 精度 | 低 / 中 / 高、上位はロック | 常に最高、実測±msを画面に表示 |
| 測定方法 | 反復サンプリングの平均 | 区間交差+秒境界の狙い撃ち+SNTP相互検証 |
| キャッシュ応答 | 区別せず使用 | Age・キャッシュ状態ヘッダーで除外 |
| 端末のドリフト | 「もう一度同期してください」 | ppmで実測し現在まで延長補正 |
| 表示方法 | 浮かぶウィンドウ、サイズごとに別課金 | ダイナミックアイランド・ロック画面 — リワード広告1回でカウントダウン1回、または一度の課金 |
| 0秒の通知 | その秒に振動 | 事前スケジュールのCore Hapticsラダー、ジッターなし |
| 先行補正 | サイトごとの固定推奨値 | 練習モードで測った自分の反応速度 |
| 価格 | 広告+除去のための課金等級 | 無料。精度とカウントダウンはロックせず、開始5分前から広告なし。一度の課金で広告を永久に削除 |
4カテゴリの内蔵リストに検索・お気に入り・URL直接入力を備え、NTPとHTTPの両方を使います。
e+(eplus)、ローソンチケット、チケットぴあ、Ticketmaster、Ticketmaster UK、AXS、Live Nation、SeatGeek、StubHub、Eventim、Eventbrite、DICE、Resident Advisor、tixCraft、KKTIX、インターパーク、Yes24、Melon Ticket、TicketLink、Weverse Shop
NICT(日本)、NIST(米国)、NPL(英国)、PTB(ドイツ)、KRISS(韓国)、そしてApple、Google Public NTP、Cloudflare Time、pool.ntp.org — 123番ポートのSNTP
Nike SNKRS、adidas、Supreme、END.、StockX、GOAT、POP MART、UNIQLO、KREAM、MUSINSA、SSG.COM、および大学の履修登録サーバー。リストにないものはURL欄から追加できます。
1回の応答はオフセットを「1秒+往復遅延」の幅の区間にしか制限しません。しかしその区間は確定した制約であり、1秒の中の異なる位相で測ると制約される境界が変わります。Attoは137ms間隔で位相を走査して14個の区間を交差させ、オフセットが絞れた段階でサーバーの秒が切り替わる瞬間を予測してその境界を狙い撃ちします。結果として誤差は往復遅延の水準まで折り畳まれます。
列が開く基準はそのサーバーが考える時刻です。実測すると、サイトの時計が国家標準時より数十から数百ミリ秒進んでいたり遅れていたりすることは珍しくありません。Attoはサイトの時計を基準にカウントダウンし、標準時も同時に測って両者の差を画面に表示します。
いいえ。端末の水晶振動子は数ppmずれるため、時間が経つとオフセットが流れます。Attoは同期の間の傾きを重み付き最小二乗で推定してppmで表示し、現在まで延長補正し、待機中は2分ごとに自動で再同期します。
秒はシステムが毎フレーム自ら描くので常に正確です。Attoは端末の時計の実測誤差をあらかじめ引いた目標時刻を渡すため、そのシステムタイマーが本当のサーバー時刻に着地します。ミリ秒はシステムがアニメーションできないためアプリが送信し、最後の10秒では毎秒10回更新します。それ以外の区間では古い値を正確なふりで見せないため非表示にします。
iOSではどのアプリも他アプリの通知を止められず、Attoもできるふりはしません。代わりに、端末を静かにするものが何もないときに警告し、「カウントダウン待機」をショートカットに公開して時刻オートメーションがおやすみモードをオンにして待機まで実行できるようにします。アクセシビリティのアクセスガイドを自分でオンにすれば通知は完全に遮断されます。
いいえ。時刻を読むためにHEADリクエストを1回送るだけです。アカウント情報を求めず、購入操作には一切関与しません。