Map tiles load within 3 seconds on 4G; loading skeleton shown during fetch
Why it matters
Slow map tile loads directly drive bounce rate on directory pages. On a 4G connection — the median mobile connection globally — tiles that take more than 3 seconds before showing any map content leave users staring at a blank container with no progress signal. ISO 25010:2011 performance-efficiency classifies this as a time-behavior defect. For location-based directories, the map is the primary navigation surface; a frozen or blank map during load is functionally equivalent to a broken page.
Severity rationale
Medium because slow tile loading degrades perceived reliability and drives abandonment, but does not expose data or block the entire application from functioning.
Remediation
Add a skeleton component that renders immediately when the map container mounts, then hide it once the map library fires its load event. Do not wait for tiles to fully render before removing the loading indicator — fire onLoad as soon as the map canvas is interactive.
function MapComponent() {
const [loaded, setLoaded] = useState(false);
return (
<div className="map-container">
{!loaded && <MapSkeleton />}
<MapLibreGl
onLoad={() => setLoaded(true)}
mapStyle="mapbox://styles/mapbox/light-v11"
/>
</div>
);
}
For tile speed, choose a tile provider with a CDN edge network and set maxTileCacheSize to at least 200 to reduce repeat fetches on pan/zoom.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Map & Location Integration Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · performance-efficiency — Performance Efficiency — time behaviour
Taxons
History
- 2026-04-18·v1.0.0·Initial import from directory-map-location·automated