MapLibre Newsletter July 2024

Categories: Newsletter
Authors: Oliver Wipfli Harel Mazor Bart Louwers Patrick W

MapLibre Newsletter - July 2024

Jawg Maps continues to support MapLibre in 2024 - Thank You!



MapLibre Governing Board Election

The MapLibre Governing Board 2024 election will take place on Thursday, August 29th, 2024. The Governing Board consists of 5 members which get elected by the MapLibre Voting Members. The primary role of the Board is to set the long-term strategy of MapLibre, overview MapLibre’s finances, communicate with sponsors, and oversee MapLibre’s team members. Under normal circumstances, the Governing Board does not engage in technical decisions in the MapLibre codebases. However, should there be an otherwise unresolvable conflict, the Board will have the last word and serves as a last instance in case of a dispute. The Governing Board has quarterly internal meetings as well as quarterly meetings with sponsors.

There are no restrictions on being a Board member and we welcome all candidacies. If you are interested in serving on the Board, please register as a candidate.

The MapLibre Voting Members are the people who elect the MapLibre Governing Board. They can also vote on changes to the MapLibre Charter. Like every year, we are inviting more people to the group of MapLibre Voting Members before the 2024 election. This is a great opportunity to look back at what happened last year and thank important contributors and donors of MapLibre. Existing Voting Members can nominate new Voting Members, read more here.

We will again use the email voting system OpaVote for the Governing Board election. Sometimes the OpaVote emails can end up in the spam folder. If you are a Voting Member, it might make sense to explicitly allow emails from noreply@opavote.com as a preparation.

MapLibre GL JS

The main focus of this month was to push forward the globe view. A lot of effort went into the globe controls, gestures, and refactoring the transform class to be different between the globe and Mercator view. This is the final stretch for the globe and we are aiming to release it by the end of this year.

We would like to repeat here our gratitude to Jakub Pelc for his amazing work on the globe implementation!

While the changes in globe are not considered breaking changes of the public API, the direction right now is to nevertheless bump the major version and release the globe view feature in MapLibre GL JS v5. This is to avoid unexpected breaking changes in plugins and other external libraries that might expect certain behavior from the internal implementation such as the transform class.

MapLibre Native

The initial Vulkan backend implementation is almost ready to merge! In one month it went from being a proof-of-concept to passing all render tests. We don’t have any performance numbers at this point, and it is probably too early for those anyway. To fully exploit the capabilities of Vulkan and use it to tune performance we may need to make some architectural challenges to the renderer. We also still need to figure out how to integrate it with Android and how to distribute it for that platform. Of course, OpenGL ES will still be supported as well. That said, impressive and promising progress was made this month.

Leveraging Qt for WebAssembly, we’ve managed to create a WebGL1 build of MapLibre Native with a functional demo. More info on this demo can found in this issue. This is an early stage, and we’re working in multiple directions, an overview of which can be found here). Stay tuned for updates in this area, and be sure to get involved if using MapLibre Native on the web interests you.

Some new articles have been added to the new iOS documentation, including information on the snapshotter, customizing fonts, Info.plist keys, user interactions, adding multiple images and offline capabilities.

Compose Multiplatform is a cross-platform UI software development kit from Jetbrains (somewhat similar to Flutter, but using Kotlin instead of Dart). There is some interest from the community to develop a MapLibre Native library for Compose Multiplatform (not to be confused for Jetpack Compose, for which libraries already exist). Please see the issue for a discussion.

Some improvements were made to the included Dockerfile and accompanying instructions to make Linux builds of MapLibre Native.

A Pull Request showing a proof-of-concept that integrates Rust build tools into the CMake build config was opened this month. The PR swaps out cppcolorparser with a similar Rust library, just to see if a Rust dependency can be added while still building and running. It does build, and it does run. If successful, this will allow MapLibre Native to gain safety, speed, and stability of Rust components, while keeping existing functionality and API for our users.

Furthermore:

MapLibre Navigation iOS

MapLibre Navigation iOS has its first 4.0.0 release. MapLibre Navigation iOS now no longer needs you to start navigation in a sheet that appears above your existing map. Instead, navigation can be started in an existing map view, bringing MapLibre Navigation iOS up to par with other known map apps.

The original concept was done by Patrick W, and was reimplemented by Patrick Kladek with financial support from HudHud Maps.

Old Behavior

before-existing-map

New Behavior

after-existing-map


Meetings and Events

The next monthly meetings will take place as usual on the second Wednesday of the month, i.e., on Wednesday, August 14th, 2024. The calls are open to everyone, feel free to join and say hi!

  • MapLibre Navigation, August 14th, 2024, 6 to 7 PM CEST
  • MapLibre Native, August 14th, 2024, 7 to 8 PM CEST
  • MapLibre GL JS, August 14th, 2024, 8 to 9 PM CEST

You find the zoom links for these meetings in the MapLibre Slack channel. Get an automated invite to join the Slack channel now at https://slack.openstreetmap.us/.

There are also some in-person events coming up where you can meet with MapLibre community members: