I want to have a focussed discussion on Dark Mode and how it applies to the map 
layers. 

To be clear, any discussions of user preferences, toggles, dark mode for the 
rest of the UI, etc, are off-topic for this thread.

As far as I see it, there are (at least) 4 options for the maps, and with the 
feedback received so far we have people voicing preference for all of them. 
Each of the options has both pros and cons so there cannot be a single right 
answer that will please everyone.

## Option 1 - Unaltered Maps

For this option we show the maps in their original colour scheme. No filters 
are applied and the maps look identical in both light mode and dark mode.

Pros: 
* The cartography is exactly what you expect and are familiar with
* Some people use dark mode for higher contrast when reading and don't want 
colours or brightness of maps changed
* Cartographers are in full control of the maps

Cons:
* The maps are all have bright, near-white backgrounds, but many people use 
dark mode because they want less light output overall
* Can be quite jarring between the UI and the maps

## Option 2 - Darken the maps

A simple filter makes all the maps darker, but without changing the colour hues 
or inverting the brightness or other changes

Pros:
* A simple filter is reasonable performance on all devices
* The overall light output is lowered, leading to a dark effect
* There's no substantial changes to colour interpretation

Cons:
* Reduced contrast makes the maps more difficult to read
* The colours are still different from map keys or when the maps are used 
elsewhere
* Removes all control from cartographers

## Option 3 - Colour inversions

More complex filters to invert the brightness of the maps, so that light areas 
are dark, and dark areas are light. Typically by using a combination of 
`invert` and `rotate` so the colour hues are restored after the inversion.

Pros:
* Closest to what we've done for colours used on other parts of the UI

Cons:
* Multiple filters have performance impacts for slower devices
* Colour manipulation is not done in a perceptual colour space (for example, 
light yellow to white is easily distinguishable, but the same difference in RGB 
values between extremely dark yellow and black are not distinguishable). This 
can lead to perceptual contrast problems.
* Can have unexpected effects for shadows (e.g. hillshading or building shadows)
* The colours are still different from map keys or when the maps are used 
elsewhere
* Removes all control from cartographers

### Option 3b - Colour inversions with more filters

A variation on 3, but with additional contrast, brightness or other 
adjustments. This tends to be optimised for personal preference or tuned to one 
specific map layer, and has additional performance issues with the increased 
number of filters.

## Option 4 - Full Dark Cartography

The cartographers have a completely separate map rendering for dark modes. They 
have full control over the colours chosen (and these don't need to be 
inversions, for example the Thunderforest Transport Dark style has yellow 
railways instead of the original black or the typical inversion of white).

Pros:
* Cartographers have full control
* Edge cases in contrast or visual perception can be fixed

Cons:
* Requires more work for every style shown
* Some organizations don't have the server capacity for a second map layer 
(e.g. those using `mod_tile`)

### Option 4b Full Dark Cartography with fallbacks

Like Option 4, but for styles without a dark variation, we chose a fallback 
approach, which is then one of options 1,2, or 3.

---

So those are the options as I can see them. If you have another option that 
isn't mentioned above (n.b. no discussions of toggles or similar) then please 
comment below. If you have additional pros or cons, or have seen other pros and 
cons mentioned in other discussions, please comment below.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/5328
You are receiving this because you are subscribed to this thread.

Message ID: <openstreetmap/openstreetmap-website/issues/5...@github.com>
_______________________________________________
rails-dev mailing list
rails-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/rails-dev

Reply via email to