The Cartographer's First Shifting Meridian: On the Unstable Foundations of Early Web Maps

Before we had Core Web Vitals and the precise, almost surgical language to describe layout instability, we had the early web map. I’m not talking about Google Maps as we know it today, but its primordial ancestor, the static image map. To understand the modern struggle with Cumulative Layout Shift, it pays to look back at the cartographers of the 1990s who first tried to make the world wide web navigable in a literal sense.

Their tool was the single, massive GIF or JPEG, a painstakingly stitched-together image of a city or region, served as one colossal asset. This was the map. The interactivity was an afterthought, a client-side <map> tag with coordinate polygons painstakingly plotted over the image. The experience was entirely dependent on that one file. You clicked, you waited, and if your connection was on par with the era, you watched the map reveal itself from the top down, line by line.

The instability was inherent, but it was a monolithic, predictable kind of jank. The entire page was built around the assumption of this single, dominant element. There was no surrounding content to shift; the map was the content. The jolt came not from competing elements, but from the sheer void the user faced until that image decided to arrive. It was a blank canvas waiting for its only brushstroke.

This approach created a different kind of performance anxiety. The weight was absolute. A 300KB map file was a significant undertaking for a modem. The ‘layout’ was stable only because it was barren until the main event arrived. There was no lazy loading, no progressive rendering—just a binary state of emptiness or completeness. The user’s experience was one of pure anticipation, followed by a static, unchanging view.

Comparing this to today’s dynamic, data-rich mapping services is like comparing a parchment scroll to a live satellite feed. Modern maps are assemblages of hundreds of independent tiles, vector data, live traffic layers, and street view panoramas, all loading asynchronously. The potential for layout shifts—a street name label popping in and pushing a button, a new tile shifting the entire grid—is immense.

The early web cartographers laid the foundation, but they built on a solid, if slow, plinth. Our challenge is far more complex: to assemble a living, responsive atlas from countless moving parts without letting the ground shake beneath the user’s cursor. We traded the single, heavy burden of the past for the intricate ballet of the present, where every resource must find its place without upsetting the whole. Their meridian was fixed, if slow to draw. Ours must remain stable even as the entire world loads around it.

Notes & further reading

A few pages I came back to while writing this: