Story Trail WalkSuburb HistorianAPI

Last week’s entry ended with AR mode getting its first real outdoor walk. This week is what happened next: several more real walks, each one finding something only a real walk finds, and AR mode getting rebuilt around what they turned up.

For walkers: AR walking gets rebuilt around real walks

The route itself changed how it’s drawn. It used to re-project a 20-metre strip of the current leg from live GPS every frame, and it kept vanishing. It’s now built once — the whole remaining route and every waypoint — onto a real anchor in space, and only gets rebuilt when you reach a new waypoint, tracking recovers, or GPS drift makes the old placement wrong. Alongside that, AR picked up its own brand look: a dashed path in Story Trail’s Clay colour, the same lamp-post marker model the Android app uses, and a solid Gold disc marking arrival. The notice board — photo, story, and credit for a stop — used to sit at the pin itself, which could be up to 30 metres away and effectively invisible; it now sits about 4 metres ahead, at eye level, where you can actually read it, and a Finish Trail card takes its place at the last stop.

The same round of walks also found a genuine heading bug: the ground path pointed roughly 180° opposite the direction you were actually walking, on both iOS and Android. The cause was subtle — a phone’s compass heading assumes it’s lying flat like a tabletop compass, correcting only for portrait/landscape rotation, not for being held upright to look through the camera, which is exactly how AR mode is used. The fix replaces a single frozen calibration snapshot with ARKit’s own continuous heading tracking, so the app’s sense of north keeps correcting itself as you walk instead of locking in whatever the phone’s tilt happened to be at one moment.

AR placement also got more precise where Apple’s hardware allows it: on supported devices and locations, the app now checks for Apple’s own geo-tracking, and once it localizes against Apple’s street imagery, switches the whole route onto that instead of GPS and compass — removing both sources of error. It falls back to the existing GPS-based placement anywhere that isn’t available. (Some of the placement error chased down this week wasn’t even in the app — see Under the Hood.)

A few smaller things came out of the same test walks: finishing a trail now offers a Walk Again button; the arrival marker shrank from a 30-metre gold disc — testers kept reading it as a GPS-uncertainty circle rather than “you’ve arrived” — to a proper 3-metre marker; and stepping back to a waypoint you’re already standing at no longer instantly re-triggers arrival.

Separately: browsing the map, trail list, search, and trail details still needs no account, but starting a walk now asks you to sign in first. Guest walks never actually saved progress or counted as completed, so a guest could walk an entire trail and have none of it recorded — signing in first closes that gap.

For historians: two map fixes and an intro-narration assist

A trail added to a region after the page had already loaded — via “+ Add trail” — wasn’t picking up its geocoded pins on the region map; they’d silently not appear until a full reload. Fixed, along with a related bug one layer down: a mismatched field name from the geocoding endpoint meant every freshly-geocoded waypoint lost its sort order, which was quietly scrambling the order of the walking route itself and its left/right stop labelling.

The trail’s intro narration — the scene-setting line walkers hear before their first step — can now be rewritten with the same AI assist already used for waypoint narratives and approach stories: describe the change you want, review the draft, apply it or don’t.

Under the hood

The AR placement errors chased this week turned out to have a second cause outside the app entirely: waypoint coordinates were stored with enough precision, but the database column serving them truncated longitude to 6 significant digits, a roughly 40-metre error on the ground. Already fixed and applied to production. To help chase bugs like this on real hardware going forward, the app also grew a GPS/heading accuracy debug badge for AR mode and a diagnostics log that records GPS, compass versus AR-frame heading, and trail-build events to a file that’s shareable straight from Profile. A new trail_started analytics event now gives the walk funnel a proper starting point to measure completion against, and Profile shows the app’s version and build number, so a tester can tell at a glance which build they’re running.

← All releases