Share this project

Done

Share this project

Done
A free and open source visual editor for Mapbox GL so everyone can design their own beautiful map.
A free and open source visual editor for Mapbox GL so everyone can design their own beautiful map.
A free and open source visual editor for Mapbox GL so everyone can design their own beautiful map.
58 backers pledged CHF 6,906 to help bring this project to life.

About this project

Maputnik - Visual Map Editor for Mapbox GL project video thumbnail
Replay with sound
Play with
sound

Maputnik - Visual Map Editor for Mapbox GL

CHF 6,906

58

Mapbox GL is one of the biggest innovations the GIS world and is the first cross platform framework to display maps on the browser, mobile applications and the desktop. Maps are styled using a JSON style document described in the Mapbox GL style specification which is difficult to edit by hand. The missing piece in the puzzle is a visual style editor that is easy to use, free and open source!

Maputnik is an intuitive style editor with immediate feedback which will target both GIS professionals as well as enthusiasts to create Mapbox GL styles. Maputnik is free and open source, does not require a cloud based deployment and will run on your local machine (just like TileMill).

The main goal is to create a free alternative to the cloud based Mapbox Studio and allow businesses and individuals to create their maps without tying themselves to services of a single company but still profit from the amazing Mapbox GL ecosystem.

This Kickstarter project will enable me to take time off from work to devote my full attention to this project.

Current prototype: https://github.com/maputnik/editor
Demo: http://maputnik.com/demo/

Immediate visual feedback in editor
Immediate visual feedback in editor

Background & Rationale

The Mapbox ecosystem consists out of many amazing and innovative technologies by some of the smartest people in the GIS community. And for the most part it is open source and under very business friendly licences.

There are however two obstacles if you want to create maps in the Mapbox ecosystem without tying yourself to Mapbox the company.

  • It is very difficult to get started to create your own custom map if you don't have the map data (the vector tiles) available for free as well.
  • You cannot effectively style a Mapbox GL map without resorting to the cloud based Mapbox Studio

The first problem has been adressed by our OSM2VectorTiles project where we worked over the last year to create a free OpenStreetMap friendly alternative to Mapbox vector tiles.

The second problem with Mapbox Studio is that it is not open source and you have to upload your data sources to external servers and essentially are locked in the Mapbox ecosystem. By reusing existing proprietary base styles you legally tie your style for use with Mapbox services and it is difficult to use other data source like OSM2VectorTiles, Mapzen or Kartotherian or even your own custom vector tile sources.

In contrast to using a styling language like CartoCSS the JSON format is difficult to edit by hand and much more suitable for editors. So in order to be able to create independent Mapbox  GL styles we should rally behind and build our own free and open source style editor for the Mapbox GL style specification.

Planned Features

The following features suffice for the core editing experience of styles and are within the means of the basic funding goal of this campaign.

  • Create, edit and delete layers
  • Add custom vector tile sources
  • Choose and filter data for your layers from the vector tiles
  • Editing of the various layer types (Fill, Background, Line, Symbol, Circle, Raster)
  • Order and organise layers (grouping)
  • Ensure map history (CTRL+Z support) so you will never loose your data
  • Ensure it works as single HTML bundle page and locally so that it never requires a cloud hosting

The other features should be defined by the actual stakeholders! You the backers and users - which is why we will do in open planning and development as in previous projects on GitHub where everyone can collaborate. For an example of a already existing simple style editor take a look at ArcGIS vector tile style editor.

User Interface

I haven't devoted much time to user interface design yet and this is one of the most important issues to get right in order to make the editor both approachable and effective. In order to make it easy to organise layers possible UX solutions might be a layer search or grouping the layers together. Each layer has different properties that can be tweaked and added.

Other UI components consist of a source editor (adding new vector and raster tile sources) and a data picker (to choose which data from vector tiles you want to incorporate into your layers).

We want to learn from the weaknesses and strengths of Mapbox Studio but not imitate it.

Prototype of different editor UX components
Prototype of different editor UX components

 

Prototype of layer property editor
Prototype of layer property editor

Technologies

Maputnik is written in ES6 and is using React, Immutable.js and Mapbox GL JS. It is possible to build a single HTML file with the JavaScript and assets bundled together. This allows future expansion as Desktop tool with access to the filesystem and better integration with Git.

Luckily React and MapboxGL make it easy to give to only update the part of the map the value property affects and build an immersive editor.

Team & Community

Open Source
Maputnik will be completely free of charge and open source with a business friendly license (MIT). We know how to effectively work in OSS and collaborate with others to reach the best solution and the challenges associated with it.

Maintainer

Initially, the lead developer and maintainer will be me, Lukas Martinelli. I've spent the last year working in the Mapbox ecosystem and am able to realise this project and provide a solid foundation.

I've experience in building several used open source tools  and know how to collaborate and design OSS projects together, how important documentation is and I am very effective in realising software projects and finishing them. I'm a software engineer who fell in love with maps and their ecosystem and spent the last year working on making it easy for everyone to get data for their custom map styles.

Steering Group
I don't want to dictate the direction of Maputnik. This is why the steering group will consist out of the major sponsors (which will be the biggest stakeholders) so we can ensure the users will get real value.

Roadmap and Goals

This Kickstarter campaign not only allows me to validate the demand but most importantly let's me take time off from work to devote my attention to this project. I contribute to many OSS projects and without fixed days during the week it is very difficult to make progress.

Base Goal: Core editing experience (~$4,000)

With the minimum funding I am able to build up the core editing experience (with the features listed above) of Maputnik and provide a solid base to continue adding features later on.

For the stretch goals the proposed additional features can change depending on the needs expressed by the backers - the actual stakeholders.

Open Layers 3 Support (~$6,000)

With this budget we can extend Maputnik with basic support for OL3 styling. This is possible by translating the Mapbox GL style spec into OL3 style functions (demo).

Zoom Function support (~$8,000)

Mapbox GL supports zoom functions for optimising layers for different zoom levels (required to fine tune roads and label sizes for example). With extended funding it is possible to add first class support into Maputnik to deal with zoom functions (and perhaps property functions as well).

Above and beyond (~$10,000)


There are many more features a style editor profits from. With more funding we can define and implement more features together and guarantee progress over a longer time. One of the disadvantages of Mapbox Studio is that working source controlled styles is impractical. We can develop a system to better integrate with local filesystem and integrate better with GIT.

Risks and challenges

Maputnik faces three major challenges, given a successful Kickstarter campaign which we all plan to address and think ahead.

1. Fail to provide a good style editor experience within the given estimates
2. The editor will not be adopted by potential users
3. Copyright issues with Mapbox

To eliminate risk #1 the initial prototype shows how fast we can get good results. By limiting ourselves to the core experience at first we can avoid feature frenzy and guarantee both simplicity and a working product at the end.

Through the real backers of this project we know we can validate this idea of the editor and that people are willing to invest in it. Therefore we get a good headstart for risk #2 and then will continue evangelising at conferences and writing good educational material about it to bootstrap a healthy user base.

To avoid risk #3 and avoid copyright issues we faced as in OSM2VectorTiles we will take extra care of not violating any copyright principles and not affiliating the editor with Mapbox as company.

Learn about accountability on Kickstarter

Support this project

  1. Select this reward

    Pledge CHF 24 or more About $24

    Supporter

    Thank you for your support!

    Includes:
    • Listed as individual sponsor on repo and website
    • Eligible to vote on upcoming features
    Less
    Estimated delivery
    29 backers
    CHF
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge CHF 49 or more About $50

    Stakeholder

    For the price of a monthly standard subscription of Mapbox you invest in a free alternative.

    Includes:
    • Listed as individual sponsor on repo and website
    • Eligible to vote on upcoming features
    • Receive Maputnik laptop sticker
    Less
    Estimated delivery
    Ships to Anywhere in the world
    13 backers
    CHF
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge CHF 149 or more About $152

    Influential Stakeholder

    As someone who really cares about Maputnik you can influence the direction of the process better and take part in roadmap discussions.

    Includes:
    • Listed as individual sponsor on repo and website
    • Receive Maputnik laptop sticker
    • Eligible to vote on upcoming features
    • Propose new features
    Less
    Estimated delivery
    Limited 6 backers
    CHF
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge CHF 499 or more About $509

    Company Silver Sponsor

    For the price of a monthly Mapbox Premium subscription you invest in a free alternative and
    ensure the project will benefit you.

    Includes:
    • Medium sized logo and link to your company on project website
    • Eligible to vote on upcoming features
    • Propose new features
    • Remote consulting session to help you and find out your needs
    • Take part in monthly development Hangouts
    Less
    Estimated delivery
    Limited 3 backers
    CHF
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge CHF 999 or more About $1,019

    Company Gold Sponsor

    As company sponsor and official sponsor you invest in a free alternative and will have influence over the future direction and architecture of the project.

    Includes:
    • Big logo and link to your company on project website
    • Eligible to vote on upcoming features
    • Propose new features
    • Remote consulting session to help you and find out your needs
    • Take part in monthly development Hangouts
    • Influence over direction and architectural decisions
    Less
    Estimated delivery
    Limited 3 backers
    CHF
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (30 days)