David Larlet's Diary

Recent diary entries

In late-2025, we received a grant through NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet program to integrate vector tiles in uMap. This is a huge amount of work considering that a few non-trivial steps are required prior to be able to achieve that goal!

What “vector tiles support” means for uMap? At least, being able to render tiles on the Mapbox vector-tiles format (the de-facto standard), but, and that’s the interesting and hardest part, ideally to be able to customize those tiles: what if I can add a vector tiles style, but remove the buildings or change the road colors, to better fit the purpose of my map?

uMap used to be 100% coupled with Leaflet. In fact, it was initially designed as a storage for Leaflet — the first version of uMap was just a wrapper around Laflet.Storage plugin and django-leaflet-storage backend (well, the really first version was called django-chickpea, but that’s archaeology…).

So, our first need is to decouple from Leaflet, and clearly separate the rendering and the data. This is a work we have already started in the last two years but it was still unfinished (is a software ever finished is left as an exercise for the reader). Then, we want to take advantage of ES6 modules to only load the required JS files and speed up maps’ rendering (especially for read only access!). Finally, we currently rely on a lot of Leaflet plugins which are mostly either outdated and/or unmaintained that we need to port or adapt to the new chosen ecosystem.

Given that context, we are ahead of a long run BUT we already started at a good pace! Follow current PRs if you are curious. Now you may wonder why we choose OpenLayers as a target goal for vector tiles rendering over existing alternatives. Here are some of the reasons:

See full entry

Location: Val-David, Les Laurentides, Laurentides, Quebec, Canada

Greeting uMap 3

Posted by David Larlet on 17 June 2025 in English. Last updated on 23 June 2025.

After one more year of French administration funding (thank you!), we are so proud to have released versions 3.X of uMap since last April. Since then, we made a couple of adjustments to ease the deployment of that new version.

The main feature of that version is the long awaited real-time collaboration! Thanks to Alexis for the development and NLnet for the funding 👏

We decided for now not to activate the real-time collaboration on the French server of OpenStreetMap for two reasons:

  1. The instance is very big and we want to encourage smaller instances
  2. We preferred to first deploy it on smaller instances to test the load

It’s activated on these instances:

Map templates

We also introduced the template feature which allows to avoid copy-pasting maps to reproduce similar styles and (optionally) data. It also allows to share templates with others (useful for friends, workshops and so on).

See full entry

Towards uMap 3 😱

Posted by David Larlet on 16 July 2024 in English.

↓ Version française ci-dessous ↓

The latest 2.4.X release sets the path for two major requested features: real-time collaboration and one-click remote data importers.

Additionally, minor improvements and bugfixes have made the tool more stable and usable.

Real-time collaboration

Thanks to our NLnet sponsorship, we have been able to make the first push in that direction. This is not yet activated in any (known) instance but the underlying code is deployed and we will be able to manage allocated resources and fine-tune how websockets are deployed. Details of the next steps are available on Alexis’ blog post.

Given the required server changes for that new feature, it will be part of a future 3.X version when the dust has settled.

Screenshot of the real-time collaboration switch in map settings.

Remote data importers

We made 4 importers to begin with:

See full entry

uMap 2 and beyond 🚀

Posted by David Larlet on 23 February 2024 in English.

A major version of uMap has been released last week.

This release is inauguring a new era in versioning uMap: in the future, we’ll take care of better documenting breaking changes, so expect more major releases from now on. More details on how we version.

A comprehensive changelog for that version is available in our technical documentation. Most of the changes for a major version are indeed technical, we are taking care of people deploying and maintaining instances with that approach. User-facing features are deployed continuously with our minor versions. We think that scheme is more valuable for the community.

It doesn’t mean you will not see improvements with that release though. Most notably, you’ll face:

A revamped dashboard with multiple options for your maps (including a bulk download / backup)

A hard work by @davidbgk and @Aurelie-Jallut!

revamped dashboard

Experimental drag and drop of file on the map container

See full entry

uMap: fine-grained permissions and more

Posted by David Larlet on 27 September 2023 in English.

In the previous episode

We finally managed to tackle a very popular feature request: datalayers’ fine-grained permissions 🎉. This is a huge step forward, allowing for a given map owner to only open a particular datalayer to edition. It will help people with contributive maps who need to setup a stable/fixed base layer. It also paved the way for even more control over the objects that are allowed for addition and/or edition. Please share with us your desired workflows.

Two datalayers with different permissions

On the UX side of the project, we made a couple of adjustments and fixes to make the editor more intuitive and consistent. Do you see these new crispy icons on the screenshot above? Hopefully it will bring more users, hence more contributors! A couple of new faces jumped in recently and we’re so happy about that 🤗.

You can also look up for icons by name in the ‘Shape properties’ panel, one of our next steps will be to ease icons’ management and additions, another long-awaited feature:

See full entry