The offline map

One bar. No bars. The map still draws.

The most common complaint about door-to-door software isn’t the price. It’s standing in a driveway looking at a white rectangle because the map needed a connection you don’t have.

0

network requests made with the network killed

598

roads drawn from the phone's own storage

68

building footprints in the same offline view

Measured on a real device with the browser’s network layer stubbed to reject every request. Not simulated, and not an estimate.

Why everyone else’s map dies and ours does not.

Most field apps draw their map from a commercial mapping service. The app asks for a square of map, the service bills for it, the square appears. It’s a good arrangement right up until the moment you can’t reach the service, at which point there is nothing on the device to fall back on. That’s the white rectangle.

KnockMode uses a single map file that we host ourselves, built from public map data. When you save an area, the app pulls the slices of that file covering those streets and writes them into storage on your phone. After that the map is a local lookup. It isn’t asking anybody for permission to draw a road.

The practical difference is that our offline mode is the same code as our online mode. There’s no degraded fallback view to get wrong, because the phone reads from its own storage either way.

Knocks queue, and they keep the real time

A knock logged with no signal goes into a queue on the phone. When you get bars it uploads itself in order. The important part is the timestamp: it records when you actually knocked, not when the phone happened to reconnect. A day’s work in a dead zone lands on the right day with the right hours, which matters the moment anybody looks at your numbers.

New doors get an identity on the phone

Creating a door normally means asking the server for an id. Offline there’s nobody to ask, so the phone generates one itself and the server accepts it later. You can pin a whole street you’ve never seen before with the network unavailable and nothing is lost.

9:41
MapKnockPipeline

Saving this area

68%

Keep this open until it finishes. After that the map works with the network off.

HomeTurfMore

How to use it, in practice

  1. 1. Before you leave, pan the map over the neighbourhood you’re working.
  2. 2. Tap Save this area and wait for the progress bar. Seconds on a normal connection.
  3. 3. Go knock. Ignore your signal bars entirely.
  4. 4. Anything you logged uploads on its own the next time you have a connection. No sync button to remember.

Exactly what works with the network dead.

Including the two things that do not, because finding those out on a street corner is worse than reading them here.

OfflineWorksNotes
The map itselfYesStreets, buildings and labels for any area you saved.
Your location on itYesGPS is a radio in the phone. It never needed the network.
Opening the app coldYesForce-quit it, open it in a basement, it still loads.
Dropping a new doorYesCreated on the phone and reconciled with the server later.
Logging a knockYesQueued on the device and uploaded when signal returns.
Calling or texting a contactYesHanded to the phone. Needs a cell signal, not data.
Saving a NEW areaNoThe map has to be downloaded before you lose signal, not after.
Joining a company workspaceNoSeat checks happen on the server. Do it before you head out.

You have to save the area first

The map can’t download streets it has never seen. If you drive to a neighbourhood you didn’t save and you have no signal when you arrive, that part of the map will be empty. Save it in the driveway of the last place you had bars.

Storage is capped, and old areas get dropped

Saved map data is limited to roughly 220 MB and the least recently used areas are evicted first. In practice that’s a lot of neighbourhoods, but an area you haven’t opened in months may need saving again.