gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.51k stars 813 forks source link

Guidelines on adding new icons #660

Closed matthijsmelissen closed 6 years ago

matthijsmelissen commented 10 years ago

There are quite a few requests for adding new icons (#591 #540 #570 #487 #456 #452 #450 #419 #418 #336 etc), and even more features that we currently do not render, but might be nice to have on the map.

How do decide which POIs we render as icon?

Do we want to increase the icon set, or keep the set of icons small?

@gravitystorm you indicated in the past that you are in favour of an approach that doesn't involve hundreds of new icons. Could you give some more background to that statement?

A large icon set might give more information. But having too many icons might also make the map unreadable. We should also make sure that all icons are understandable.

kocio-pl commented 8 years ago

@nebulon42

In that vein I think the department store is horrible, although I have so far no better alternative to propose.

I admire this icon simply because it managed to squeeze so much things, yet I can read it easily. But I don't think it couldn't be made in a different way. Maybe you could try with two other left/right halves (half the basket, half the shirt for example)?

I refrained from changing that because that was already SVG and didn't want to give the impression that I wanted to change everything to "my" icons.

Just my position: I don't have a problem with the authorship - if I like it more than the previous one, it's just better, but if I think it's not readable enough (this is the only thing which I don't like in some of your drafts), I will try to propose something different or vote the change down. In general you gave this style a lot of visual consistency, and that's what I like here a lot. And sometimes just your fresh idea is what helps to make a progress.

In a nutshell: don't be shy (unless you just don't like to discuss another item to death :wink:).

matthijsmelissen commented 8 years ago

I have been thinking a bit more about the principles behind this. I think there are about three uses of icons in cartography. With each of the uses, I have indicated some questions map users might have, and how the map could answer them.

In addition, in the context of OSM, it is also important to be able to check whether a particular feature has been mapped already (mapper feedback loop).

All these uses are probably somewhat conflicting. For example, schools will not be often used as a target, but as a landmark they can be quite handy. Probably (and hopefully) they also lead to common requirements.

In my opinion, our map is not that useful for using icons as targets. Because there are so many different types of icons, it is really hard to find, for example, a bakery in a fully mapped city centre. On the other hand, because a user might have so many different types of targets, it is also not that easy to get this right on a static map like ours. We could improve on this by dropping icons for features that users are less likely to search for, such as mobile phone stores, and maybe even clothes stores etc. Also a smart use of colour could contribute. Because of maps with dynamic icons and search functions (in OsmAnd), using icons as targets will likely become less important in the future.

I think we are doing slightly better with using icons as landmarks. Up to z16, we only render icons for things that tend to be more important as landmarks on a larger scale, such as churches, museums, and theatres. We could still improve on this by not rendering very minor museums and theatres based on area size on z16. On z17, icons in big cities are not so useful as landmarks, because there is just rendered too much, and it is impossible to tell what is important. On this zoom level, for this purpose it might make sense to drop some types of icons. I would say that from z18 on, things get a bit better again, because at that scale, any shop can serve as a landmark.

I think we are also not too bad with using icons as area descriptors. One of the problems for this use, is that icons like mailboxes, water taps, etc. are unnecessary on z17 and maybe even z18.

For the mapper feedback loop, it would be useful to add even more features. For example, public_buildings, artworks, and social_facility's are currently not rendered at all. However, rendering them only at (very) high zoomlevels would suffice.

Probably other/smarter people have been thinking about this before me, does anyone have a recommendation where I can read more about this topic?

kocio-pl commented 8 years ago

Great analysis, thanks!

In general I support your observations. I also think we're not able to act effectively in terms of "targets" - we should give it up to the other, dynamic tools. I'm not sure what is the difference between "landmark" and "description" - I guess it may be about easy to spot objects (landmarks) vs general properties and both deserve our attention.

I was thinking lately about dropping some objects from z17, which tends to be the most busy level and causing most of the discussions. The easiest action would be to demote specific shop icons one level down and instead show just the dots on z17. This would be consistent with my idea of using z18 for smaller amenities and z19 for "the rest", because just dropping shops completely from z17 would not allow us to show the scale more accurately.

Yet my idea of having some system was neglected by @imagico and I have no idea what to do with it. I wanted to use a typical size as the most neutral measure I could think of, with importance as a "modifier", because it's more subjective and harder to rank, but unreasonable to completely avoid it. So we're stuck with it currently, because no other system was proposed, just a subjective list of important objects, which unfortunately is completely different.

I could also think of of adding more features in z18 and z19, which are rather safe from the danger of being overloaded, to satisfy mappers' needs, but for example @matkoniecz says he just doesn't like having more icons (no matter what the zoom level). So while I have an idea how to render artworks (which can be landmarks in parks for example), I don't know if it won't be just wasting my time trying and I'm stuck here too. The same for education icons, which are now ready, but I had some technical problems rendering them properly, so I gave up for the same reasons.

In my opinion lack of any system is the most important obstacle for adding anything now. It looks like the coding side makes it also hard (more code lines and performance issues, which was reported by @pnorman lately). Some problems with icons could be solved by taking the context into account, but it also was rather not welcomed because of expected complexity.

So, I share your vision, but there are multiple practical problems I don't know how to solve.

Tomasz-W commented 6 years ago

We have detailed discussion about each icon in certain tickets. There is also a guideline in contributing.md https://github.com/gravitystorm/openstreetmap-carto/blob/master/CONTRIBUTING.md#map-icon-guidelines There haven't been new comments here for more than 2 years, so I think this issue should be closed.

kocio-pl commented 6 years ago

It can be extended to cover more problems from original report, but let's reopen it then - or open more specific discussion, since guidelines is strictly related to discussing policies.

kocio-pl commented 6 years ago

BTW: there's a set of raster icons from (ex-)Mapzen to help designing new shapes: https://github.com/tangrams/icons