Writing

The ICIDO journal

How indoor mapping actually works, what we are learning from the buildings we scan, and where accessible navigation goes next.

Subscribe by RSS — opens the feed for The ICIDO journal

30 posts

Product update3 min read

Following a person who keeps moving

Build 277 lets ICIDO guide you to a paired iPhone in the same place. The goal follows the person, and pairings are now proved without sending the secret.

  1. Product update4 min read

    Bigger text that fits, and shares that send the right map

    Build 273 keeps the navigation screen readable at the largest text sizes, and gives every shared map file its own folder so the right place is sent.

  2. Product update4 min read

    When the destination is on a different floor

    Build 266 lets ICIDO find which floor of a building you are on, say where a destination on another floor is, and switch maps when you arrive.

  3. Product update3 min read

    Off the scanned floor, the route waits instead of ending

    Build 268 keeps a route when a step takes the iPhone off the scanned floor. ICIDO says so once, keeps the arrows, and carries on when the floor is back in reach.

  4. Product update4 min read

    Directions in feet, and each leg said only once

    Build 265 speaks walking distances in feet when the iPhone is set to US or UK measurements, and stops repeating a leg in its last meter, so the next turn is said at the corner.

  5. Product update4 min read

    The resume question that was never asked

    ICIDO has kept a backup of unfinished scans since July. Until build 263, the question that offers one back could never appear. Here is why, and what else changed.

  6. Product update4 min read

    One corner, one turn: directions read the route itself

    Build 261 gives each ICIDO route two shapes: a simplified one that directions are read from, and a rounded one drawn on screen that is kept on the measured floor.

  7. Product update3 min read

    How backup decides a place has changed

    Backup uploads a place again only when its files changed after the last upload. Reading that date needed a privacy manifest entry, added in build 260.

  8. Product update4 min read

    Stairs on the route, said before the first step

    Build 258 on TestFlight announces stairs and single steps before a route reaches them, gives every spoken direction a vibration, and fixes a turn that went unsaid.

  9. Blog article4 min read

    What has to be true before a map goes on a wall

    Publishing a scanned place as a printed code means the sheet outlives the scan. That constraint sets the token, the download, and what unpublishing does.

  10. Product update4 min read

    The preview rebuilt 3.9 million triangles every three seconds

    An Update Map on a 3.9-million-triangle place was killing the app. The preview was rebuilding the whole base map every three seconds, and the memory logging was looking in the wrong place.

  11. Product update4 min read

    The app said the iPhone was too old. The build was.

    Three TestFlight builds shipped without camera vision because of a toolchain change, and the app told people on iOS 27 their phone was the problem. How the message was made honest.

  12. Product update4 min read

    A map file went from 133 MB to 44 MB without losing a wall

    Two changes to how ICIDO stores a scanned place cut a real map file to a third of its size. What was measured before each change, and what was checked after.

  13. Blog article4 min read

    Drawing on a live camera without cooking the phone

    The rules that keep ICIDO's navigation overlays cheap - one publish at 30 Hz, no blur filters, simplified outlines - were all written after a real device overheated.

  14. Product update4 min read

    Deleting the 370 MB model, and what still works

    ICIDO carried a 370 MB vision model for iPhones without Apple Intelligence. It has been removed. What that changes, what it does not, and why the build now refuses an older SDK.

  15. Product update4 min read

    The app lost you and said nothing

    Three passes over what ICIDO says when nobody is looking at the screen: silent tracking states, unlabelled buttons, and a first screen that broke at the largest text size.

  16. Product update4 min read

    The map knows where, the camera knows what

    How ICIDO decides whether a spoken question is answered by the saved floor plan, by text recognition, or by a vision model - and why some questions get two answers.

  17. Product update4 min read

    Putting separate maps on one site plan

    Each ICIDO scan has its own origin. Arranging several of them on one site plan meant placing them by hand first, then from saved coordinates and a recorded north.

  18. Product update4 min read

    The map was flat and the house had two floors

    A single scan spanning two storeys broke a top-down map with no vertical axis. Four builds of causes: a floor that won the vote, staircases read as walls, a storey dropped at save time.

  19. Product update4 min read

    When places sit side by side instead of stacked

    A garage, a parking lot and a house are peers, not floors. How ICIDO groups them as one site by reusing machinery it already had.

  20. Product update5 min read

    What it takes to remove one chair from a map

    Update Map now removes furniture that has moved away. Four builds and four measurements got there, each one aimed at not deleting a glass barrier.

  21. Product update4 min read

    Absence of return is not evidence of absence

    A requested feature - deleting furniture an update finds gone - was built, measured against glass, and reverted before it shipped. Plus an undo for map updates.

  22. Product update4 min read

    Deciding where to go on the map, not before it

    Three ICIDO builds turned the mini-map into the thing you act on: open it full screen, name a spot from across the room, pick a destination on it.

  23. Product update4 min read

    Onboarding that runs on the real app, not a mock

    First-run onboarding used to be a simulation of ICIDO. Recent builds replaced it with a coach that spotlights real controls and advances only when the user does the step.