Map Clustering is Not My Favorite
Friends, this post has been in the making for maybe, 20 years.
Google Maps (and me) are (at least) that old. And mapping, of course, existed before that; those were the days.
But ~~~20 years ago, or like a year after that, something appeared on our collective mapping radars that I have not been able to shake off since - and which I haven’t kvetched about in writing, ever, for everyone to “enjoy”. Enjoy! It’s a Greg Rant! Amazing…
What happened ~~~~20 years ago, after Google Maps was hoisted on us all, was that “people wanted to see more than 1 point on a map” and sometimes that meant 100 points, or a thousand! And things were not easy or good then. I mean, 1000 points, that’s a LOT.
But then, who said 1000 points (was it you?) was too much to show? Well… browsers? Ancient, decrepit (err, just not-recent) browsers from back then didn’t necessarily struggle inasmuch as they begged/hoped you wouldn’t create a literal DOM element for every single dot you’d want to add to your map.
But that was what Google Maps did, back in 2005-6-7-8-9 (they don’t do that anymore)
Adding 1000 points back in 2005-6-7-… meant adding 1000 DOM elements to your map, and each of those DOM elements had more DOM elements in them. If you are the leetcod’ing type, you’d say something like “O of N!!!” and you’d be right - go back and study now.
And so, hence, we all, mappers, mapping-people, map-folk, accepted/self-ingrained that “you better not show too much information on that map! It might break!” and discussed/shared strategies around how to do that. It was fun. We didn’t have Instagram.
I still remember debating (and disliking) paging - you’d see 10 things on the map, then click “next page!” (a page of map?) and then see 10 other, different points. Today, I would say: not good UX.
Or you’d have.. heatmaps? Or… you’d bake the points into images and serve those images? You could look up what WMS is, but you don’t have to.
Chapter II.
There once is a beautiful - truly, without irony - web site called Atlas Obscura - which imparts on us where interesting things exist in this world. Oh, look - a beautiful and unique place! It’s here! And here’s some history about it too. Atlas Obscura is great.
But/however, I will be using as an example of what I’m talking about here - what I have a problem with - is their/this map:
It is a map of 30 thousand+ places - all on one map - where the map shows every one of those places - but clustered.
Clusters being these circles with numbers in them. Each cluster … hides&groups more items within in. To discover those items, you must zoom.
Hence, frustration number one - clusters, existing alongside markers, don’t tell you anything. Clicking on them zooms in the map… because… that’s a thing you must do… to reveal the cluster’s content, maybe. It’s like a kindersurprise, it’s a chocolate and maybe there’s a fun toy inside, but you can’t see the toy (the chocolate is not transparent). You are at the outside-the-chocolate stage in your life. You must get closer to the chocolate shell to get inside and get to the toy, which right now, you can’t see, because of the chocolate. You follow?
And hence, you click. But the clusters, also, sometimes, will not/never reveal what is inside of them. Because… if a cluster clusters multiple points that are either very very very close together (or even, it’s really multiple points at the same location - it happens), the cluster will remain a closed box forever. ((caveat, this is still a problem with non-clustered maps))
It’s like being gifted a matryoshka, but you’re not allowed to open it - which would defeat the point&pleasure. It would not be a nesting doll at all at that point and just be a sad present.
And ok, point two - the goofiest - is that sometimes/a-lot-of-the-times, zooming onto a cluster, at the last moment, reveals points that are not at all where the cluster is. You zoom in and boom, it splits like the atom and you see a point on the left and a point on the right. It makes sense! They were clustered and “averaged” together. But it’s terrible ui, frustrating, surprising in the worst of ways.
But you know, these above points are not the one(s) that matter to me/you/the world.
The truest reason - the most dandy, reason to hate clustering is that reading a bunch of numbers on top of a map - is not a thing that the eye/brain does well at all. Staring at a map covered in digits is a bizarre passe-temps and is not productive, efficient, etc. - it is, simply put, a strain.
Map clustering solves a problem (too many points, browsers not liking that) - ok - maybe - but also - that problem is not a problem anymore.
Because… mapping tech in 2023-4-5-6- is incredible, fast, and based on video game technology. Modern maps (on your phone too, oh so much) are gems - technological GPU+shader codes meant to render infinitely fast, in parallel, smartly, economically. They zoom and pan infinitely extremely fast - yes, 60fps, yes 120. More. It doesn’t matter. We are post-fps. And definitely post-DOM. Things are fast now.
You don’t have to cluster anymore. You can just be.
Chapter III.
I downloaded the Atlas Obscura data and used Protomaps to make a map to convey to you - in more ways than one - the “points” of this article.
One of the (but not the default) mode(s) just shows you all the freaking points. The map remains fast and breezy, because MapLibre GL JS is a gem, and everyone involved did great amazing work. I love everything about it (not the map I made necessarily, I just mean- the total human effort that lead us to this day where this is so easy, so fast, so beautiful).
But also - the map plays with these notions of clustered/too-muchness///well-we-can’t-just-show-everything-on-a-map-can-we’ness, and other concerns. I think that a slightly not-opaque dot overlayed on top of other dots (this mode - the default) is maybe the neatest. It conveys density, lets you see points. The hover is satisfying (on desktop only, yes). I don’t advocate heatmaps for everything/everywhere.. but maybe a hint? I don’t know. Do I even know what I like?
Chapter IV.
Atlas Obscura did nothing wrong - they are great! - it’s just that the day has come for us to put clustering behind. It’s not evil, it’s not garbage - it’s just done. It’s over. We have no need for clustering - for all its faults, it was useful to us 20 years ago and then maybe 15 years ago too and maybe 10. But we are post-cluster now. We can be unclustered, in public. We can be ourselves! Burn your clusters. Show us your points.