speced / bikeshed

:bike: A preprocessor for anyone writing specifications that converts source files into actual specs.
https://speced.github.io/bikeshed
Creative Commons Zero v1.0 Universal
1.08k stars 199 forks source link

Disable dark mode switch #1806

Open matthieubosquet opened 3 years ago

matthieubosquet commented 3 years ago

To be able to view specification documents in their regular as opposed to dark mode styles, I need to turn off dark mode in my system-wide preferences.

I would like to have a switch allowing me to disable dark mode just for/within the generated document.

tabatkins commented 3 years ago

This is a good opportunity for me to ask this, since I've been wondering about it for a while - why do you want to view the spec in light mode if your OS is generally in dark mode?

matthieubosquet commented 3 years ago

I am used to reading specs in the “canonical style” and I find reading them in dark mode slightly disturbing. Maybe it’s strange, but it brings me out of my confort zone and I find parsing the documents harder.

To be precise, I don’t think this problem is specific to spec documents though. I find it more soothing to have the UI of applications in dark, generally it’s simple interactions and content that is easy to parse: big buttons, pictures, gestures and sparse content. In that case a dark background brings to light and helps me focus on the important bits. And that’s even the case for the UI of a web browser, the nav bar, the keyboard are discreet with their dark background and it’s easy to distinguish content from UI (see below screenshot).

E97E1B13-AFDD-4573-BB6A-286897622F03

For reading, it’s quite the contrary, I generally prefer black letters on a white background. This preference is further exacerbated when color coding is involved. In the case of specs, you have for example notes on light green background, examples on light yellow and issues on light red. I can’t quite imagine a very dark green yellow or red background on white letters working well. That is actually reflected in the styles where you simply highlight with a band those elements. In general, I think making colours work on a dark background while optimising for text legibility is quite challenging.

As a side-note, I feel like spec documents are easier to parse in reader view on mobile and I don’t find the dark mode disturbing in reader view. Maybe some optimisation of the styles geared towards pure legibility would help me get used to reading dark mode specs. And the light mode might benefit from it as a collateral. But I’m no expert and it already looks great as is!

That’s my two cents on this. Thanks for asking.

bblfish commented 3 years ago

I think an argument may be just the one we came across recently in solid authorization: the dark mode may not render well (bug or other reason), and so it can be very helpful to see what it looks like in the other mode.

alerque commented 3 years ago

@matthieubosquet's explanation is pretty much spot on here. In fact there are more levels at play here:

Which level people prefer a dock mode to affect varies. I personally like the whole stack to be dark most of the time. But I also appreciate there are times when it's nice to have actual content in a light theme even when the UI is dark. Personally I want the first two levels to be always liked: if my system UI is dark I want app UIs to match whenever possible. When it comes to the app's canvas being dark as well, that's much more of a moment by moment preference and providing the end user with a toggle switch makes perfect sense.

npm1 commented 3 years ago

+1 to having this switch, especially given that dark mode is broken right now with the UD mark that makes the document almost illegible.

SamB commented 1 year ago

This would also be useful for checking that a spec is actually readable in both modes, no?