OpenStreetMap logo OpenStreetMap

Bolder - Starting a new client-side OpenStreetMap style

Posted by pnorman on 30 April 2018 in English. Last updated on 1 May 2018.

I’ve started work on a new client-side style for OpenStreetMap data, and feel it’s reached the point where I can release it to the public. My goal is to make a style that shows a rich selection of the data OSM has, and to make use of most of the colour space, rather than a style designed for overlaying other data on top of.

As a new style, I’ve been able to approach a lot from scratch, looking at avoiding mistakes of previous projects, and using best practices while building on existing work. All the components are open-source, and no assumptions are made about using closed-source software or particular commercial solutions.

You can get the code on GitHub Bolder example image

Technical overview

The style is rendered with Tangram, which allows for client-side rendering. Server-side rendering is possible but is a secondary target. Closely coupled with the client-side style is a set of vector tile definitions, handled by Tegola, a vector tile server. It pulls from an osm2pgsql database in the OpenStreetMap Carto schema, with additional data like ocean polygons loaded in by a script.

Cartographic target

The goal of Bolder is to be a general-purpose style, filling a target similar to OpenStreetMap Carto, while also being a better “default” for people wanting an OSM map. Being a client-side style, it’s easier to turn off classes of features like some POIs if a map with fewer features is needed.

The style should still be useful for mapper feedback, and some ways will become more useful. Vector tiles can associate OSM feature IDs with objects in many cases, helping debugging “where did that label come from”.

Setup

The style has two arts that are installed, one for the vector tiles, and the other for displaying the client-side style. The documentation for both of them has been tested by users who hadn’t seen it before, so it should be possible to set up for anyone reasonably experienced in style authoring.

Limitations

As a new project, Bolder has limitations. The biggest limitation is that only a small number of features are rendered, and many things have to be added. I’ve also been doing lots of new stuff with Tegola, and have uncovered a number of critical bugs, most of which should be fixed next Tegola release.

Location: Quayside, New Westminster, Metro Vancouver Regional District, British Columbia, V3M 6H5, Canada

Discussion

Comment from kocio on 30 April 2018 at 12:25

Great, nice to see new approach here!

The announcement lacks the link to repository in the prominent place, I have found it through the issue ticket link in the last section.

The announcement also started a discussion at Dev list (just one comment currently):

https://lists.openstreetmap.org/pipermail/dev/2018-April/030217.html

Comment from ndrw6 on 30 April 2018 at 14:22

Can you expand on “Server-side rendering is possible but is a secondary target”? To me, anything that requires Open-GL capable client should not be considered as a candidate for default style on osm.org.

I really like the rendering. Current Carto style indeed looks a bit washed out, so a bolder style would be welcome. Do you have a roadmap for matching OSM Carto features?

I hope such transition is not ultimately about aesthetics, though. There is so much we could improve usability-wise: user-defined language, transport overlays, foot paths, cycle paths, clickable POI overlays etc.

Comment from JayAreJay on 6 May 2018 at 23:03

I haven’t looked at your work at all, but I do wish you the very best with it.

I’m writing to comment that, if you have not yet done so, you may want to consider any necessary accommodations in the style for people with limitations to their vision. The most obvious one that might be needed would be for people who are color-blind in some fashion (or who perhaps cannot see colors at all), but I can imagine there are other possible accommodations which might be needed.

Since you write that this is being client-side rendered with vector tiles, hopefully any such accommodation can be made by the user just clicking on one (or more) toggles to enable whatever it is they find necessary.

Be well.

Joseph R. Justice (doesn’t have any visual limitation applicable to this, but knows people who do)

Log in to leave a comment