Skip to content

Widget Limitations

This is the most important page in the Hereish docs. Widgets are the primary way you interact with Hereish, and their behavior is largely controlled by iOS — not by the app itself. Understanding these constraints will save you from wondering why your widget says “Sudbury” when you’re clearly in Framingham now.

Hereish requests a timeline update every 5 minutes. But “requests” is the key word — iOS controls the actual refresh budget and decides when (or whether) to honor each request.

When iOS does grant a refresh, the widget checks the cached location data:

  • If the cache is fresh (updated within the last 5 minutes): the widget displays it immediately.
  • If the cache is stale: the widget attempts a live GPS fix with a 10-second timeout. If that succeeds, it updates the display. If it times out, the widget shows whatever it has.

The freshness of your cache depends heavily on your permission level.

When you grant “Always” location access, Hereish registers for Significant Location Change monitoring. This is a low-power iOS service that wakes the app whenever you move approximately 500 meters. Each time it fires:

  1. Hereish gets your new location
  2. Reverse geocodes it to a town name
  3. Writes it to the shared cache
  4. Asks iOS to refresh your widgets

The result is that your widgets almost always have fresh data waiting. The 5-minute refresh cycle just picks up what’s already there.

Without “Always” permission, there is no background location monitoring. Once you leave the app, the cache goes stale. Widgets must rely on their own live GPS fix during each refresh cycle — a fix that has a 10-second timeout and may fail entirely.

In practice, this means widgets with “While Using” permission can lag significantly, especially if you haven’t opened the app recently.

How quickly your widget reflects your actual location depends on what you’re doing and which permission you’ve granted:

ScenarioPermissionExpected Latency
Driving, app openEitherNear-instant
Driving, app backgroundedAlways1-3 minutes
Backgrounded, stale cacheWhile Using5+ minutes
Manual refresh buttonEither1-10 seconds

These are typical values. Actual performance varies based on GPS signal strength, network availability for reverse geocoding, and iOS’s current power budget.

iOS may delay or skip widget refreshes based on several factors:

  • Widget visibility — Widgets that aren’t currently on screen get a lower refresh priority. If your Hereish widget is buried in a stack or on a secondary home screen page, iOS may refresh it less frequently.
  • Power state — Low Power Mode reduces the widget refresh budget across the board. If your battery is low and Low Power Mode is on, expect slower updates.
  • System load — When iOS is busy with other tasks, widget refreshes may be deferred.
  • Battery level — Even without Low Power Mode, iOS becomes more conservative with widget budgets as battery decreases.

None of these factors are within Hereish’s control. The app does everything it can — requesting refreshes, keeping the cache current, flagging itself as location-relevant — but iOS has the final say.

Hereish uses Apple’s reverse geocoding service to turn GPS coordinates into a town name. This is generally reliable, but it depends on Apple’s geographic data, which occasionally disagrees with municipal boundaries.

You might see a neighboring town’s name when you’re near a border, or an unincorporated area might resolve to the nearest named place. This is a data-quality issue on Apple’s end, not something Hereish can correct.

If your widget isn’t updating as expected, check these in order:

  1. Location permission — Open Settings, then Privacy & Security, then Location Services, then Hereish. Confirm it’s set to “Always” for the best experience. See Download & Permissions for details.

  2. Background App Refresh — Open Settings, then General, then Background App Refresh. Make sure the master toggle is on and Hereish is enabled.

  3. Low Power Mode — If Low Power Mode is active, iOS throttles widget refreshes. Turn it off if you need current location data on your widgets.

  4. Widget visibility — Widgets that are visible on your active home screen page get priority. If Hereish is in a Smart Stack, try moving it to the front or placing it directly on your main page.

  5. Manual refresh — Home screen widgets have a refresh button (the arrow icon). Tap it to force a location update. This bypasses the timeline schedule and typically returns a result in 1-10 seconds.

  6. Restart the widget — Remove the widget and add it again. This resets the timeline and forces iOS to schedule fresh refreshes.

iOS intentionally limits how often widgets can refresh. This is a platform-level design decision to preserve battery life across all apps on your device. Apple does not provide a way for any app — Hereish or otherwise — to force real-time widget updates.

Hereish does everything the platform allows: short timeline intervals, Significant Location Change monitoring, location-relevance hints to the system, and a manual refresh button as a fallback. The 1-3 minute latency with “Always” permission is about as good as it gets for any location widget on iOS.

This is a platform constraint, not a Hereish limitation.