Innovating Map Technology: Our MapLibre Development Story

Written by Steve Gifford

September 11, 2024

While we’re primarily a weather company, our involvement in MapLibre development has become a significant part of our work. Why? It’s complicated, but an old blog post explains it. Short version: The money is good.

For those unfamiliar, MapLibre is an open-source toolkit for displaying maps on various websites and Native apps. If you haven’t heard of it, check out maplibre.org. This post is essentially a vibe update on our MapLibre efforts.

Our MapLibre development journey began in late 2022 and looks to continue through 2025!

Metal Support for iOS: A MapLibre Development Milestone

In 2022, we collaborated with Stamen to plan a transition to Metal, the new graphics rendering SDK for iOS. This marked a significant step in our MapLibre development process. We then led the team to implement this change, with funding from Amazon and support from Meta and Grab.

We delivered that Metal version in late 2023 with some bug fixes extending into early 2024. It worked! And it worked well!

We significantly refactored the renderer internals as part of this MapLibre phase. This facilitated the Metal integration and paved the way for future rendering SDK additions. That’s some foreshadowing right there.

Refining MapLibre Development in 2024

This year, our MapLibre development focused on chasing obscure bugs. Many weren’t easily reproducible – a common challenge in mobile development.

The vast user base of these systems means we encounter all sorts of weird corner cases, especially on Android with its diverse hardware. Sometimes, these are impossible to reproduce; you have to guess the root cause. Our experienced team has become adept at addressing these issues, benefiting our sponsors and the MapLibre community.

Our MapLibre development wasn’t all about bug fixes, though. We leveraged the new modular architecture to add support for Vulkan.

Vulkan Support

Vulkan, the open community’s answer to Metal, became our next focus in MapLibre development. It’s a new low-level rendering SDK for Android and embedded systems that better aligns with modern GPU capabilities.

Our primary interest is in those embedded systems. However, we also hope to see an increase in Android’s performance. It’s looking promising.

In any case, we’re about to release a promising pre-release version! We tested the new modularity and added Vulkan support with minimal changes to the toolkit.

MapLibre Development: Planning for 2025

We’ve been successful again this year and have already begun planning for next year. That’s how it works on big software projects. The money has to be allocated ahead of time, so you plan ahead.

We’re considering several ideas for next year’s MapLibre development, including:

  • Further Vulkan optimization, especially for embedded systems
  • Support for the new MapLibre Vector Tile Format
  • Achieving parity between Native and Web platforms
  • Custom Annotation Support
  • Improved metrics and traceability
  • Continued architectural flexibility and expandability

Some of these MapLibre goals will likely receive funding. We’re particularly excited about the potential of the new vector tile format. Beyond just the size improvements, there’s a lot of potential there.

It has been a pleasure contributing to MapLibre development alongside our sponsors and the community. Here’s to another year of innovation!