We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

OpenSource to the rescue: the future of MapLibre

00:00

Formal Metadata

Title
OpenSource to the rescue: the future of MapLibre
Title of Series
Number of Parts
351
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
Publisher
Release Date
Language
Production Year2022

Content Metadata

Subject Area
Genre
Abstract
The story and the future of the MapLibre community - the project that continues to develop various browser and native technologies for map tile visualization ever since Mapbox changed their licensing on the amazing Mapbox gl js technology that sadly became proprietary restricted to Mapbox own service. This talk will cover existing lib capabilities, how the project grew to include native, navigation, routing, 3D, and other features. How the project was able to quickly migrate to typescript with lots of additional testing and stabilization efforts. How we became a large non-centralized collective of mapping technologies covering web, android and ios devices. How hundreds of small and large donations from developers and companies have helped with extra incentives. Some possible future projects and ideas will be presented by individual feature owners, including the possibility of uniting all library efforts using a cross platform compilation from the common Rust code (web assemblies + native libs) and additional styling features.
Keywords
202
Thumbnail
1:16:05
226
242
Slide ruleElasticity (physics)Projective planeLevel (video gaming)Elasticity (physics)Perfect group
Source codeService (economics)Mobile WebOpen sourceWhiteboardProduct (business)CASE <Informatik>CuboidInteractive televisionBuildingRepetitionConnectivity (graph theory)Open sourceWhiteboardUser interfaceMappingLibrary (computing)Android (robot)Visualization (computer graphics)Level (video gaming)outputProjective planePoint (geometry)SoftwareComputing platformCore dumpMultilaterationXML
MereologyDialectRevision controlMereologyLevel (video gaming)Chaos (cosmogony)Library (computing)CausalityDifferenz <Mathematik>Software bugLine (geometry)JSONXMLUML
Partial derivativeMultiplication signLevel (video gaming)Open setService (economics)Different (Kate Ryan album)TwitterCuboidObservational studyGeometryWaveSource code
EstimationGoogolGroup actionSource codeProper mapLattice (order)EmailLevel (video gaming)Multiplication signXMLComputer animation
Web browserAndroid (robot)Software development kitJava appletWrapper (data mining)Keyboard shortcutPlug-in (computing)Vector spaceSoftware testingDemo (music)Web pageKey (cryptography)MiniDiscTexture mappingSource codeInteractive televisionCore dumpWebsiteSynchronizationDistribution (mathematics)Keilförmige AnordnungDecision theoryStrategy gameIndependence (probability theory)Elasticity (physics)Meta elementSlide ruleProcess (computing)Perfect groupDifferent (Kate Ryan album)NumberFacebookLevel (video gaming)AuthorizationWhiteboardProper mapLibrary (computing)Projective planeCodeType theoryPlug-in (computing)MereologySelf-organizationTheory of relativityWebsiteComputer animationProgram flowchart
Electronic mailing listPressureMeta elementMachine codeElasticity (physics)CircleMachine visionSlide ruleCodeMachine visionMereologyMixture modelLevel (video gaming)BitLibrary (computing)Computer animationJSON
Source codeUser interfacePlug-in (computing)Standard deviationPlane (geometry)VolumenvisualisierungStack (abstract data type)Assembly languageLevel (video gaming)File formatTetraederComputer fileProjective planeLatent heatMaxima and minimaPoint (geometry)Electric generatorCodeMappingTesselationOpen setMereologyWaveCore dumpWeb 2.0Plug-in (computing)Physical systemDynamical systemAdditionRaw image formatUniform resource locatorAreaComputing platform1 (number)Standard deviationOrder (biology)Point cloudServer (computing)Mobile appWikiVolumenvisualisierungNatural numberUser profileJSONXML
Computer fileLine (geometry)Physical systemCuboidDataflowData structureRight angleType theoryOpen setLevel (video gaming)Software repositoryPower (physics)CodeLine (geometry)Unit testingUsabilityForcing (mathematics)JSONXMLUMLComputer animation
Real numberVotingMaxima and minima
SatelliteLibrary (computing)CASE <Informatik>Functional (mathematics)Software bugTesselationVisualization (computer graphics)AudiovisualisierungComputer animation
VotingProjective planeVotingLevel (video gaming)Physical systemComputer animation
Elasticity (physics)Visualization (computer graphics)Order of magnitudeWaveSource codeAreaBuildingKey (cryptography)Open setLevel (video gaming)Elasticity (physics)Library (computing)MappingJSONXMLUMLComputer animation
Digital filterCountingElasticity (physics)Total S.A.Row (database)Data typeNumberType theoryAreaService (economics)Asynchronous Transfer ModeComputer configurationBound stateLibrary (computing)CAN busHexagonLevel (video gaming)Electric generatorElasticity (physics)Computer animation
Android (robot)Computing platformConnectionismGoogolLevel (video gaming)AudiovisualisierungLibrary (computing)Projective planeAndroid (robot)
System programmingCoordinate systemCodeSingle-precision floating-point formatRegular graphSoftware testingContinuous integrationBeta functionDisintegrationOpen setSingle-precision floating-point formatWeb 2.0Computer fontFitness functionMathematicsFormal languageFunctional (mathematics)1 (number)Goodness of fitComplex (psychology)Multiplication signLibrary (computing)Different (Kate Ryan album)Level (video gaming)Web browserSoftware testingCompilation albumFocus (optics)Product (business)Parity (mathematics)AngleCodePolarization (waves)CurvaturePlug-in (computing)SphereMobile appDialectStandard deviationCoordinate systemNumberPhysical systemAssembly languageXMLComputer animationJSON
WaveComputer animation
Transcript: English(auto-generated)
That's okay. Hi It works It works. Well, I have the most precious commodity to give away for good questions two pairs of socks
From elastic. Yeah, so listen careful We're starting okay. Hi, my name is Yuri. I Hope you can hear me. Okay, both here in remote. Perfect. So where's my clicker the future of map Libre I like map Libre. I really kind of put some effort into it and I think it's a wonderful project project
So I want to advertise it as much as possible. So what is a map Libre? How many of you do not know what it is? three people Wow Impressed I mean like I'm almost ready to just you know Throw in a towel and go because I mean like what's the point I'll try to go in depth then
So we develop free and open source software. That's the whole idea of map Libre To Build tools to go all the way from the raw data To Map visualization map visualization is the core feature. That's the core Product if you will
Library to make it possible for everyone to do it to do all the interactions all the user interface all the little corner cases that we'll get when you develop maps It became as a fork of map box GL GS and Kind of grew from there first. It was map bags GL GS initially even thought of calling map rep map Libre GL GS
But then it's like a you know, one trick pony and then we cannot grow so we will call it map Libre it's JavaScript and now it's there is a native component to C++ that will love and
Allows you to do to build maps for Android iOS and other platforms. There's no I'll get to that later Map Libre, so it's open source community project. It's governed by the open source community ice I was one of the founders of the project and Yesterday, I was actually officially elected as one of the board members as well as some of the original board members
Which means now I have more or less not a self-appointed role which are always fun but a community decided that yes, I should continue messing things up the way I Did before I'm very happy to oblige. It's BSD licensed
It's developed by companies and enthusiasts and we take donations and then we give grants We board does not pay So don't look at me We give grants for wonderful features for just Diligent work to to do all the like issue sorting and dealing with them and whatever. So there's there's some grants to give
The history map Libre part one how to chaos cause chaos in one click Take notes Licenses everything that's how it started map bugs did this little GitHub diff added a few lines here and there the community said holy moly
We need to do something. I was one of that community. Basically I tweeted Time to fork. I'm sorry. We love map bugs, but time to fork because everyone was using my box geo Just it was just like the fact that there's nothing better at the time open layers are cool, though Though just they just have slightly different target audience
eight minutes later The only reply is from the CEO of map box no, no, no don't fork basically well, no, they didn't say that He was actually very very cool Very friendly and trying to say like we would still love people to look at our code and participate in our in our ecosystem As long as you pay for map box services, we said, thank you
We need to fork Look from study a map contacted me immediately on Twitter as well. He's like, yes. Yes. Yes. Let's do it. Let's organize Very next day Peter right there Peter wave to everyone. Yes. He like, okay time to organize I'll send out the email and we got the whole business II and got together and discussed it and
We had a proper meeting notes and summary and we like felt like adults all of a sudden and we produced a memorandum of understanding and Essentially, that's when map Libre I was born. Where are we now?
As of yesterday very late at 2 a.m When I was making these slides We were getting over 91,000 downloads per week Some CI jobs are really busy and that's just the GL GS part There's also native part lots of forks three and a half thousand stars
I mean that for a project that's been running since December. So that's like a year and a half basically Quite impressive I would say I mean, I guess we were just there at the right time because like it was perfect storm type of thing We have a lot of different projects Most of them are plugins or code that's not maintained by the original authors
And we had to kind of pick up the slack and start developing it and supporting it We as I said already officially have official governance and a charter and really feel like adults now With a proper board of five people that got elected by the community
We have a number of steering committees this is a technical steering committee Site is actually slightly outdated. There's more people there and We actually now have more or less two official technical steering committees one for the GL GS and Related and the other is for native because those even though they're kind of about the same thing But they do it in completely different way. So
Them separate we have proper sponsors Facebook has donated 80,000 to us Amazon has promised to become a platinum sponsor like within days. It's like Oh Pretty much signed and everything. So we want to really thank the big supporters for really giving us big grants to give away
To the community to support this effort and the way I see map map Libre the organization is mostly Coordinating and making sure that people don't fight too much but actually try to get to the common goals the end of the day, that's that's what we all want to to get together and move forward instead of just
being issue locked and Debate lock and whenever a huge number of individual supporters made a lot of the small donations But I mean, you know sometimes Percentage-wise to the income those it's much more significant
Contributions than the large donations from larger larger companies simply because like people really feel map Libre is doing something, right? We have a big community pretty much everywhere in the world. I think this even this slide is outdated now It's way more than 80 code contributors now and now I go to the vision This is mostly my vision that is mostly shit in part shared by other map Libre
contributors, so There's a little bit of a mixture there One stack In the sense that we need to go We need to do provide tooling for all the steps of the way you have raw data open street maps
Natural earth wiki data to name that's just a well-known ones But I mean custom data my you personal user profile data data in some obscure CSV file that I really want to merge in and Too busy to convert to any other format
We want to support those so that we need to generate data and planet Tyler has expressed interest in joining our efforts Once they really stabilize the code base and make it about tooling without any specifics of the which schema you're going to use Serve tiles you need to be able to innovate, you know multiple parts of the stack
What if you wanted some addition? What if you we wanted to do? Dynamic zooming because you know some people some areas of the earth are slightly more populated than the other So we kind of want to be able to zoom in and See the little details. Whereas ocean is pretty much ocean everywhere and you really don't need zoom 20 at those locations
Usually unless you're doing with pictures of the waves and they're all different Rendering that's the core value. That's what everyone is expecting from map. We bring JavaScript Native maybe eventually we'll throw both of them out and actually join the efforts and build it in rust so we can compile it to web
Assembly to all the native templates, but this is like a northern star. This is really far out We have no idea if we will be successful at this effort So this is just like really an experimental stage at this point, even though max who is right there on his phone wave He is the one who actually Got gotten that project started and really implemented a lot of show code targeting all these
platforms so one code to fit them all And extras plugins new standards. What if we want point clouds in the system? We want to innovate in multiple parts of the stack and really get them Quickly into all pieces of the code because otherwise if we have to implement in an app Libre
but in order for it to work, we have to wait for ISO to standardize something 10 years in the future. It's not gonna happen. So let's boldly change it Harel who jumped on map Libre pretty early on
Decided to do a pull request 30,000 lines We all love those right especially to review those he's like that's in JavaScript, I don't like JavaScript. How about we switch to typescript? Map box came well some people from map box work. Can we do that too, please? Can we copy it?
I mean, we love our JavaScript code, but we really could use typescript right about yesterday So that one power request really rewrote most of the code not the structure of the code but just like the usability of the code the documentation of the code because it also changed the
From the antiquated. What was it? JS flow and the types and I have never heard of it even of a JS flow before I saw that and Here like single-handedly. Well, nothing. No, there was a lot of community support for his efforts But he was really it was the driving force behind it. Oh and we got rid of IE That's like the the theme of pretty much every
Modern repo first thing we do is Open layers just announced that they're like we just shrunk our code by like five megabytes Getting rid of IE was so easy Just oh now switch to proper just unit testing
We got 3d and let's see if it works So We got this feature in this is something that we're very proud of this a company But mostly it was a max and Peter from I keep forgetting the company's name, please do forgive me
Let's come but they've really implemented all this functionality and contributed to Map library and so now you can do this. It's not fully fully baked It works in majority of the cases But we still consider it a beta feature simply because there are some Visualization bugs like for example some of the really nearby tiles do not load when they should be
So like minor mathematical fixes if you know anything about 3d or just really want to work on a cool project. Well Talk to one of us this is our roadmap Switch to typescript. We did that the 3d we did that
We got the whole community governance and voting in place and the Charter in place That was probably actually took way more effort than I was Anticipating but we got it through and it's now it's it's a proper system So we now can innovate and move forward into more interesting features It has been spotted in the wild one of them is elastic
shameless plug work for elastic Elasticsearch kibana cetera our dashboards allow basically use map library as well to generate to visualize all the mapping and We're very happy with it when we were one of the first large companies to migrate to map library when the switch happened
another example of that A one even better example is probably even is it this it's Elasticsearch and kibana support Hexiles so you can generate hexiles and view them you view your data as taxes all thanks to map Libre
flexibility Moving right along There's another that's not us That's actually a community project to visualize weather maps again on a native device So this is not map library GL GS. It's a map library native on
running on Android I believe with GL native kitty and visualizing weather Whoops too far Aspirations, so where we're going how we doing it and what is our roadmap in more details? We got the whole community stick
The testing We need way more testing in native world native is lagging behind because believe it or not Larger companies are more interested in native smaller companies and individuals love browsers for some reason So the browsers have a very good up-to-date Ecosystem native needs some
And holding and finance and which is I mean totally fine Whenever you have two projects trying to do the same thing from different angles one of them will always lag and So there's a lot of effort and a lot of focus on it for us to get native up to the same standards and
feature parity We do want to work with other ecosystems. Like for example, there is a leaflet plugin for map Libre. There is Hope for what they will do the globe, you know, everyone loves the globe. We all love web Mercator It's by far the best system. We we can agree on that
but when you zoom out web Mercator kind of looks bad, especially in the polar region, so If we can morph it into a globe The way a number of other companies do We would love that same functionality if you know how to do this And I mean all the mathematics has been published for a long time and it's just it's a matter of like Oh, let's just get our hands together and do it. We all want that. So that's one of them
Custom coordinate system. Basically, it's a single code base. That's the thing I was talking about with rust Maybe someday we can join all the code into a single code base I mean, maybe it will be native actually and maybe have compiled to web assembler solve all these problems. I Don't hold my breath on that but it could be done
so we we are looking to fire a full-time staff or like or at least like contractors with considerable time dedicated to Maple brain because some of the features are cool and fun to work on and some are less so So those that are less so should be sponsored should be paid for because since no one wants to do them
We might as well have to spend some money and really employ people to do them like I don't know issue shepherding and pull requests replying and whatever like all these things that any grown product should do We need to turn it a sphere just as I said, I mean flat earth, there's too many flat earth. There's other ways and
font support Right now there's like just very simple fonts that are being supported but we need to really complex ones like my favorite one is the very first that's the the languages in Myanmar
Forgot the name of the language But this is extremely complex fun complex fun complex fun to render Because it's it's not individual letters each next letter basically morphs the previous one into one giant Hairball and That the very very few I think on the harpus
I think that's the name of the library in C++ that really knows how to deal with all that and there's map Libre org is where you go and Participate and look at the documentation and just wave at us there or give up and to that. I thank you Oh you want this picture?