OpenSource to the rescue: the future of MapLibre
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 41 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/58213 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
State of the Map US 202225 / 41
1
4
7
8
14
18
21
22
24
27
28
30
37
39
00:00
Open sourceMobile WebWhiteboardSoftware developerOpen sourcePresentation of a groupSet (mathematics)MappingLibrary (computing)Computer filePhysical systemCodeLevel (video gaming)TwitterRevision controlMultiplication signMusical ensembleLine (geometry)CuboidWhiteboardWeb 2.0Decision theoryProjective planeINTEGRALMobile WebMoment (mathematics)SoftwareConnected spaceComplex (psychology)Formal languageComputer fontProcess (computing)Staff (military)Moving averageAssembly languageSource codeWeb pageCartesian coordinate systemVideoconferencingClosed setApproximationMilitary baseTexture mapping1 (number)TheoremDirection (geometry)Self-organizationPatch (Unix)Connectivity (graph theory)PlanningPosition operatorGoogolState observerTerm (mathematics)BuildingType theoryComputing platformAndroid (robot)PlotterLink (knot theory)outputInformationVisualization (computer graphics)Lattice (order)NumberProper mapState of matterMaxima and minimaRight angleGoodness of fitBitInternetworkingKey (cryptography)Computer animation
00:54
1 (number)MereologyRevision controlLine (geometry)Open sourceComputer animation
01:35
Source codeProjective planeTwitterSource codeMultiplication signPosition operatorKey (cryptography)
02:27
EstimationSource codeGoogolGroup actionTwitterNumberMultiplication signLattice (order)Computer animation
03:23
Web browserAsynchronous Transfer ModeDecision theoryWhiteboardCodeCodeProjective planeWhiteboardDirection (geometry)Decision theoryPhysical systemTerm (mathematics)1 (number)Self-organizationMobile WebMultiplication signConnectivity (graph theory)Computing platformNavigationLevel (video gaming)StatisticsComputer animation
05:41
Computer filePhysical systemScripting languageData typeHuman migrationSoftware testingComputer fileCodeClosed setPhysical systemPatch (Unix)InternetworkingBitProper mapComputer animation
06:28
Lemma (mathematics)CodeCuboidComputer animation
07:11
InformationComputer animation
07:31
Visualization (computer graphics)PlotterBuildingLevel (video gaming)State of matterVisualization (computer graphics)Computer animation
08:18
Revision controlTesselation2 (number)Computer animation
08:42
Color managementSign (mathematics)Web pageLevel (video gaming)Cartesian coordinate systemVideoconferencingConnectivity (graph theory)State observerWeb 2.0Computer animation
09:17
DisintegrationSoftware testingWebsiteData typeScripting languageRegular graphOpen setSystem programmingCodeSingle-precision floating-point formatIdeal (ethics)PlastikkarteCurvatureContinuous functionAssembly languageComplex (psychology)Level (video gaming)Video gameFormal languageSingle-precision floating-point formatProcess (computing)Moment (mathematics)Projective planeWeb 2.0Staff (military)CodeApproximationConnected spaceLibrary (computing)Military baseComputer fontComputer animation
11:31
World Wide Web ConsortiumComputer animation
Transcript: English(auto-generated)
00:06
I hope you're having wonderful presentations here in time. How many of you actually have heard of MapLibre? OK, I'm done here. All right, so very briefly, what is MapLibre?
00:24
MapLibre is a mapping library, or actually a set of libraries related to visualizing maps. It's an open source community project. And it all started with MapMops. We love MapMops, we do. And it all started because of MapMops
00:41
creating an amazing architecture. It's a BSD license, and it's developed by containers, open source containers, and companies. So the history, part one. Not sure about the history, part one's here.
01:01
License is everything. One day, we woke up to find out that MapMops was changing its license, and adding a few lines here and there. That happens. Honestly, I cannot blame MapMops. I understand the reasoning there is. There are significant financial reasons
01:21
to do what MapMops did. I am very grateful to MapMops for doing what they did, and dedicating all their initial work, version one work, to open source. So I posted a little tweet, a little tweet that could,
01:40
saying that this is wonderful, but it's time to fork. It's time in every project, when it's grown out to be forked. Eric, who some of you may know, used to be, and I believe, the CEO of MapMops, and still is at the key position in MapMops,
02:04
replied almost right away, saying that the project still welcomes contributors, and is still open to the world, at least the source code is, but not under the same license anymore. We care about writing, I'm thinking,
02:21
but we have to move. Unfortunately, we cannot work with a non-open source code. So then, Peter, who, again, some of you may know, the CEO of Map, Tyler, another wonderful company.
02:47
Is this better? Oh, wow. Yeah, thank you. Thank you. Okay, I'll step back. So Peter, who some of you may know,
03:00
thinking about it, and says, let's get together, that was a good tweet. Time to really organize. And him and a number of other people replied, and we got together. And that's how MapLibre was born. So the first meeting summary was, let's work on this together. Let's settle on a name. And we need more people.
03:24
So where are we now? The main two components of the project are the MapLibre GL.js, technically should not be called GL.ts, and the other project called MapLibre GL.Native. One is targeting iOS, Android,
03:41
and other mobile platforms. The other is targeting the web. The web, I have some statistics for. We're getting over 33,000 downloads per week. I would say it's a quite successful project for one year's worth of work.
04:02
There's quite a few other projects. There's navigational components. There is integration, leaflet, and other components. All of these communities happily working on. Some companies actually adopted some of these projects and very actively working on them. And we're welcoming more companies to join this work,
04:24
especially because we are very liberal in terms of giving out permissions. If you wanna really take the ownership of something, just please do. We don't want to be the gatekeepers. We want community to collaborate as much as possible. Governance. We have a governing board.
04:41
It's an interim governing board until the project has more footing. We're just, the first people who got there got the governing board positions, essentially, the ones who were first organized. But as time goes on, we should get the governing board to be the people who are active in the project. And then there's a steering, technical steering committee. That's the much more open and,
05:04
again, welcoming organization that anyone can participate in. To discuss where we're moving forward, in which direction and what technical decisions we should make. Governing board will be re-elected. It is an elected system. We're planning to do it by the next course for June.
05:21
Community. We have over 80 code contributors by now. Hardly professional, all of them did this amazing map and showing where the contributors are. Changing it, big deal. It's a fun one.
05:43
First major, major patch was TypeScript, which just took all of that GL.js code and made it in GL.ts. It was only 577 files changed in one pull request. It's okay, right? Close to 30,000 added lines,
06:00
close to over 22,000 removed. It was quite a bit of a discussion, as you can imagine, 460 comments in poor GitHub. I kinda feel sorry for that. We did remove Internet Explorer support. I know some of you still kinda miss it, but I know, we have to. Jest, we migrated to Jest.
06:21
It's proper system rather than the old one that was used there that should not be named. 3D, that's the one currently in pipeline. This is where this pull request has been undergoing reviews for the past few months, I believe, actively reviewed,
06:41
and this is what we're hoping to merge soon. It's kinda nice, I think. It's the first big chunk of code that is completely not map boxes. Converting to TypeScript is semi-automated. Writing fun code like this is more difficult.
07:04
All right, I'll let it finish then. Almost there. Okay, we're done. Releases and roadmaps. So, as you can see, we have the 3D roadmapped at sometime mid-2022.
07:22
All this data is public. There's a link, roadmap, maplibre.org. I mean, most of this information is on maplibre.org. Has it been observed in the wild? Yes, it has. Elastic, for which I work, is actively using maplibre.
07:40
Both of these visualizations are done here using maplibre. We're migrating currently to version two. This is the eruption in Cumbria. Yeah, I'm probably mispronouncing it. So you can use Elasticsearch to analyze all the data related to that eruption and plot it in a map like that,
08:02
and it's all maplibre. Another one is using all of the state of the map. Oh, sorry, the state of the map. OpenStreetMap data injected into Elastic and, again, visualizing maplibre plus all the buildings via Elasticsearch, or doing things like, you know, playing with hex tiles.
08:23
Those are fun. And actually, it's H3, originally from Uber technology, and Elasticsearch is integrating that in version 8.1. Moving on. One second.
08:44
There we go. Other interesting observations in the wild. This is the native portion, not the G-L-G-S-G-S, but the native component. Tadej Novak, one of the contributors about the native side of things,
09:01
has implemented this nice map with web map application. I'm having trouble going to the next page with videos. Bear with me. Aspirations, what are we planning next?
09:22
So this is the roadmap, as approximate roadmap. Some of these items have already been checked off. 3D map is next on the agenda. We do want close integration, leaflet, open layers. Possible targets are custom, various other coordinate systems.
09:43
Web Mercator is fun, but it does disturb things a bit. Single code base. This is something I've been promoting. Again, it's very much of a stretch goal, but we have two systems. We have the one written in JavaScript slash texture, and another one written in C++,
10:01
and maintaining two code bases that do the same thing, as some of you know, is not very efficient, especially when you have a community project. So maybe Rust and compile it to web assemblies and to native libraries is one of the ideas. So, plus whatever other ideas you interested.
10:22
So my personal big aspirations are get full-time staff working on the project, because wonderful hero contributions from individuals is wonderful, but then life kind of, their job takes most of their time,
10:41
or other things happen, so we won't continue it yet. So I'm actively soliciting funds for hiring full-time staff to amend the project. And then there's a big problem of outsmarting flat-earthers. I mean, you know how Google, for example, when you sort out, you see a globe, rather than flat.
11:02
So that's, I think we can totally do something like that. One, Rust will roll them all. And multilingual support, that's something that I don't think Netbox has ever addressed. It does not do complex ligatures. It does not do complex fonts for languages that are not, where each character is not by itself.
11:22
The moment you want to connect characters in various ways, you need much smarter software. So I'm hoping that someday we'll have to support for that. So go to netlibre.org or ask me questions. Now or later? Now is fine.
11:40
Thank you.