piskov
13 hours ago
> My eyes will thank you
Sometimes I think the most hate for light mode is from people without autobrightness in their displays. Or from those who don’t know how to change it easily.
Sure, if I were to constantly blind myself with 10k lux, I would hate white background too.
But it isn’t supposed to be like that: make it the same brightness as the surroundings and voila.
I’ve never met a person saying they hate books and wish they were white on black.
Also with glossy display (like 6k xdr) the only way I can deal with reflections is by always using light mode. Alabaster code theme is my favorite.
If you don’t have auto brightness, there are many apps to change it easily via UI or keyboard instead of manual knobs of your monitor — most of them for the past 10 years support control via hdmi/displayport
—
I don’t see people complaining “I hate listening to most music because my headphones are always at 90% volume — every soundtrack should be lounge cafe del mar.” Or “I use this browser extension to make everything 5% loud.”
Well, just turn down the volume knob, dummy.
port11
13 minutes ago
There’s plenty of research about the fatigue and damage caused by displays, with brightness being a factor. Most displays I’ve used, at the lowest brightness, will still be fatiguing. The human eye has never been exposed to this much direct light at close quarters, lots of it being in the blue+ parts of the spectrum.
Needing light themes to offset display reflections seems like a very good case of form over function. Nano-texture Apple displays largely address that, but then they’re much more expensive. The idiocy of fashion-driven design…
Aside from the LG Ultrafine, I’ve never owned an external monitor with auto-brightness.
Example meta reviews:
https://link.springer.com/article/10.1186/s12886-024-03721-1
itopaloglu83
12 hours ago
Not everybody own $4k monitors, so automatic brightness isn’t always available.
Regardless though, due to the design inconsistencies of the system, one screen is too bright that causes to reduce the brightness and another one uses literally 1/1,000,000 contrast difference between tabs to distinguish the active one, so it’s impossible to get a base brightness correct.
I’m using a MacBook Pro M4 and as I move around the house, automatic brightness either tries to blind me despite I’ve been in a dark room for a minute, or simply refuses to turn the brightness up when the sun is shining down into the room. It’s certainly designed for a certain environment, but not definitely a home.
layer8
10 hours ago
Monitors used to have easy rotary buttons to adjust brightness and contrast. Though I don’t remember it actually being necessary that often. Of course, the monitors rarely changed location.
illiac786
7 hours ago
In assuming you are not using your keyboard to set brightness because it’s an external display plugged into a laptop? Search for a DDC application for your desktop, it’s amazing, the brightness controls of your laptop will then control the external display as well. I use lunar on my MacBook, it was a revelation.
treffer
4 hours ago
Or switch to HDR if you have a capable display.
I was pleasantly surprised that HDR also means you can control brightness - it is all software I that case!
And the brightness keys on an external Apple keyboard work.
Diti
2 hours ago
According to my (limited) testing, you can only control brightness when the transfer function used on the HDR content you see is HLG. When it is PQ, the luminance seems to be “absolute” and ignores the display’s brightness settings.
piskov
10 hours ago
If it helps, you can disable auto brightness in accessibility settings so that only manual change remains
godelski
3 hours ago
I'm writing this comment at night, on my phone with its absolute lowest brightness; it is still too bright.
Maybe, just maybe, people aren't "holding it wrong"
Unlike screens produced light. To make them the same brightness as ambient would make them unreadable in my current situation. Yet a black background is much more pleasant. Why? Because the light being produced is less. You're right that the contrast matters. Black background and white text gets us closer to ambient light level while providing contrast. You simply cannot do same with black text on white background. I mean go to a dark room, put down the phone and ask yourself what the natural background is. It's black. That's the ambient level
cosmic_cheese
12 hours ago
I use both auto (when available) and manual brightness adjustments, and the environment in which I do most of my computing gets ample natural light.
The problem persists, however, because as the linked posts notes light mode is far brighter than it used to be, and now if I crank brightness down low enough to feel comfortable I'm sacrificing contrast and color vividness to such a degree that (for me) it's actively distracting. So, dark mode on high brightness it is.
For code editing, I've always tended towards dark themes ever since they became readily available in IDEs in the late 2000s simply because syntax coloration "pops" so much more strongly than is possible with a light theme. When I use a light theme for code editing it feels almost like staring at a sheet of undifferentiated text in comparison.
piskov
12 hours ago
> because syntax coloration "pops" so much more strongly than is possible with a light theme.
That’s why I mentioned alabaster: the only thing it highlights is comments and constants.
Nowadays I can’t stand “normal” themes even for a minute: they are like blinking Christmas lights for me, too much distraction.
Imaging reading the book where each word has different colors for nouns, verbs, what have you — nuts! :-)
cosmic_cheese
12 hours ago
Feels like a difference in mental structures. Without robust syntax coloring, parsing code is considerably more difficult for me. In more human terms it feels kind of like trying to communicate without being able to use adjectives or something.
piskov
12 hours ago
It took a couple of days 10+ years ago to see what the fuss is about (I was an avid “christmas-lighter” before), and I never came back.
Also check this: https://tonsky.me/blog/syntax-highlighting/
D-Machine
11 hours ago
This is a pretty awful post, the problem is his example uses a horrible syntax highlighting scheme that makes use of far too few colours and no other text decorations.
In a competent highlighting scheme, you have enough differentiation that every distinct type of thing indeed has a different way it pops.
piskov
11 hours ago
Why though?
You don’t see a for loop? Or don’t know where is the variable and where is the method? The list goes on. Never in my life I need a color to differentiate between a class name and a variable (they already differ in first-letter case). Or between language keyword and a variable (I’m not 5, I know those keywords by heart).
There is a reason we use nouns for variables, verbs for methods, stuff like isReady or hasAccess for booleans and what have you.
Color is overrated (or rather very nice for stuff that matters: like comments).
I like cursive though to highlight variables that are assigned more than once (bold cursive if it is a parameter, god forbid): instant attention to what is usually a code-smell.
D-Machine
10 hours ago
Code can be read without any syntax highlighting or text decoration, obviously. But adding those things is an additional information stream that makes processing faster and more reliable (redundancy in general has this effect).
As you said, it is especially useful for making certain code smells instantly visible at a glance.
I also find that different kinds of code will get different "color rhythms" (e.g. low-level algorithmic code vs. high-level code that calls a lot of functions vs. code that does a lot of operations / mutation of object or class properties) when syntax highlighting is properly semantic. This makes scanning for certain types of things (where objects are being mutated, where variables are introduced, etc) extremely fast, since you don't even need to read the characters.
I also find that rich syntax highlighting makes the codebase easier to remember, since the color (along with things like the line-lengths) gives each function a sort of unique visual texture.
Of course, all of this is personal preference. I am a very visual thinker so this kind of stuff helps a lot for me. Some people are far more verbal in their mental imagery or may remember code chunks solely based on semantics. Then, obviously, a bunch of color and/or text decorations might not matter much, or even just be a distraction.
cosmic_cheese
10 hours ago
In my usage, the coloring allows my eyes to “snap” to relevant chunks of code and restrict scanning to the bounds of those chunks.
Functionally it seems similar to spatial memory where landmarks are used as navigation shorthand and is impaired in circumstances where everything looks the same (e.g. in one of those sprawling suburbs with 100 of the same house).
genocidicbunny
10 hours ago
I remember colors better than I remember names. It's a difference in how I process text, and for code where there's already 'types' of syntax, colors help differentiate between all those. It's not that I can't find the for loop, it's just that visually it becomes more distinct to me if all loops are a certain color. And class names are a certain color. And those colors tend to stand out better on a dark background than a light one. Reading light themes, or even unthemed code just feels like an additional chore that's solved pretty simply by using a dark theme.
satvikpendem
11 hours ago
No one needs it, but it's nice to have. It's the difference between being partially or fully colorblind or not being so, in terms of being able to distinguish parts of the codebase more easily. That is what the parent means by "easier to parse code."
> I like cursive though to highlight variables that are assigned more than once
Exactly, everyone is different, as personally I'd hate cursive and ligatures. Think of it as, what works for you doesn't work for everyone, and what works for them (color) doesn't work for you. But let people have their preferences.
piskov
10 hours ago
> as personally I'd hate cursive
Exactly the reason to fix the code so that there is only a single assignment and therefore no cursive :-)
satvikpendem
11 hours ago
Agreed, they should be using color schemes that are TreeSitter compatible so for example "React" and "window.React" are not the exact same color, as they are semantically two different things.
chausen
10 hours ago
99% of vscode themes are like the one he showed. IMO, the best themes do typically have minimal/functional highlights, which results in more text that is the base color.
D-Machine
9 hours ago
I'd need a citation for that statistic, and I'd also need to see which themes are actually used.
> IMO, the best themes do typically have minimal/functional highlights, which results in more text that is the base color
And IMO, those are the worst themes.
These things are just preferences, but it is an objective fact that a good highlighting scheme makes certain information immediately visible, without requiring the reader to parse the actual characters. Whether or not this information is something you find helpful or annoying depends on your processing styles and preferences.
robocat
6 hours ago
Imagine some words, or even sentences, beginning with SHOUTING. Initial caps are nuts too -- B Dark.
D-Machine
11 hours ago
Seconding this, light themes cripple syntax highlighting, which in turn makes it far more annoying to quickly scan through code and glean structure. You can make up for this to some degree with text decorations, but, well, with dark schemes you have that too.
namibj
10 hours ago
Ehhhm, just use solarized light if you need a good light theme...
D-Machine
9 hours ago
I have about 1500 lines in my VSCode settings.json dedicated to custom syntax highlighting and text decorations (this could be trimmed, some is from before the days of semantic highlighting), but regardless, the amount of differentiation I can achieve with this is simply not possible on a light background. I've tried! (Solarized light is a nice theme though)
topspin
10 hours ago
> I’ve never met a person saying they hate books and wish they were white on black.
I've never seen a book actually radiate its own light. Perhaps if there had been 600+ sq. inch self illuminating books, we might have invented dark mode long ago.
During the early days of CRTs, dark mode was the norm. VT50/100/220, 3270 etc. were almost always dark with illuminated characters, and even when not, they were only ~12-14" diagonal, and there was only one. Most PC/DOS machines were the same. The moment raster displays appeared, everything went "light mode," but they still weren't very large. Then, displays got huge and multiplied, easily able to overwhelm human eyes with excessive power.
The ~30-year detour into Apple/Microsoft's paper-mimicry is ending due to basic ergonomics. No need for your tut-tutting.
layer8
10 hours ago
Books reflect ambient light. Monitor brightness should be set to a similar light level. You can hold a book next to the display and adjust accordingly.
ronjakoi
9 hours ago
That's an unreasonable ask. I'm not gonna fiddle with the brightness of my monitor throughout the day, thanks
Alejandro9R
7 hours ago
I mean, if you have a modern digital display you might be able to change the brightness through the DDC/CI protocol and a simple app or extension, available in every much every OS. With a keyboard shortcut or two clicks you change it. Fiddle with monitor settings is painful, but that protocol is a godsend. Even one of my cheapest 13 years old monitor supports it.
topspin
9 hours ago
> Books reflect ambient light.
Thanks! I always wondered how books worked.
VerifiedReports
11 hours ago
No, it isn't. Making your entire screen dark for all content isn't a solution for a dumb GUI color scheme.
"Back in the day, light mode wasn’t called “light mode”. It was just the way that computers were, we didn’t really think about turning everything light or dark. Sure, some applications were often dark (photo editors, IDEs, terminals) but everything else was light, and that was fine."
Several incorrect statements there. "Back in the day," computers displayed white text on a dark background (usually a blue background) out of the box. This was deemed the most legible. The opposite was called "inverse." The Atari 8-bit and Commodore 64 computers (and possibly others) even had dedicated keys that toggled between regular and inverse text; it is called that in the manual.
Word even had a checkbox option in it entitled "Blue background, white text." It wasn't removed until 2007, concurrent with lots of other UI regressions in Windows. Microsoft also removed the color-scheme editor from Windows, with which people had been able to set up global color schemes (including "dark" ones) since 1991.
When people finally realized how dumb it is to read dark text off the surface of a glaring light bulb all day, companies had to run around slapping hard-coded "dark modes" onto everything... after abandoning better solutions (user-defined system-wide color schemes) that had existed since the early '90s on every platform except the vaunted Mac.
So how did we end up suffering through decades of inverse GUIs? I've always attributed it to
1. The "desktop publishing" fad of the late '80s / early '90s, which sought to make the screen analogous to a piece of paper.
2. The Mac, which imitated Xerox's GUI, which was inverse. Possibly related to #1.
3. Windows defaulting to an inverse scheme (although it provided a way to easily change the global scheme), as it imitated the Mac.
cosmic_cheese
10 hours ago
> after abandoning better solutions (user-defined system-wide color schemes) that had existed since the early '90s on every platform except the vaunted Mac
Even classic Mac OS (pre OS X) had thousands of third party themes via the very popular extension Kaleidoscope and later the built in Appearance Manager. Kaleidoscope schemes especially ran the gamut, with looks ranging from cloning other OSes to green on black “Hollywood hacker” to Star Trek LCARS to shiny chrome to a pair of blue jeans. A great number of those themes were dark.
The loss of user control over appearance like that is tragic.
orbital-decay
11 hours ago
>"Back in the day," computers displayed white text on a dark background (usually a blue background) out of the box. This was deemed the most legible.
That just prevented CRT degradation and it had less ghosting and flickering, especially as most CRTs in the home computer era were just terrible home TVs, and CRTs in the mainframe era were equally terrible. The saturated blue background was absolutely insufferable and I had ghosting and shifted color perception for minutes after using NC and Borland software for a long time. I loathe it till this day, just like garish CGA colors which were an assault on my eyes.
80's and 90's had a general concept of a desktop with windows as paper documents, because the first real use case for personal computers and workstations was assisting office jobs.
Funny how you call the normal light scheme inverted. IIRC PC text/graphics modes used this term for dark backgrounds.
VerifiedReports
8 hours ago
It was not a screen-saver. Less ghosting? Most likely. But the fact remains that reading text off of a light bulb blasting in your face all day sucks, and once upon a time people knew that... but "forgot" it when vendors shoved inverse color schemes on them by default.
"80's and 90's had a general concept of a desktop with windows as paper documents"
Yes, I noted that; but the analogy to a piece of paper fails because paper does not EMIT light.
Everyone with sufficient computing experience calls "light" schemes inverted. This was even documented in instruction manuals from the early PC era: https://imgur.com/a/aLV8tn0
orbital-decay
7 hours ago
Anyone experienced remembers that any 60Hz CRT is a flickering mess, especially computer monitors that used shorter-lived phosphors, and any old TV had terrible burn-in. That's why you want to reduce the amount of bright pixels on it. That's not a legibility thing.
A display is not a light bulb if you aren't specifically making it a light bulb against the poorly lit environment. There's no difference between reflected and emitted light, what you actually need is much better lighting in the room, so your display doesn't stand out when used on a brightness level that provides sufficient contrast (and just because working in a poorly lit room is unhealthy).
Moreover, a light scheme in a well-lit environment is less eye-straining, because your pupils contract and adapt to the light. If you're using a dark display against a dark background, your eyes adapt to the dark and then you're hit with the bright text. If you want to display more than just text, dark mode becomes a problem because most of the content (e.g. pictures, videos) is not largely dark.
tl;dr avoid excessive contrast and flickering. Everything else is individual eyesight differences, opinions, and snake oil.
Quothling
12 hours ago
It's probably also because a lot of people sit in rooms which are poorly lit. Part of it is probably because it's really hard to establish proper lighting with modern LEDs. This is anecdotal, but our lamps haven't really changed in the way they are designed, We now have six lamps where we had three before, and there is still "less" light in our living room because LED's create and emit light differently.
I usually work with darkmode at home, and light mode in the office because our office is basically the surface of the sun.
D13Fd
12 hours ago
Have you tried high-CRI LEDs? I find that they are much closer to the incandescent lighting feel.
barrell
3 hours ago
I’m personally a high fan of light mode, and rarely use dark mode. That being said, the comparison with paper isn’t very apt. LCDs produce their own light, and OLEDS exacerbate the difference by only emitting light for the background, and none for the text. It’s very different from using ambient reflected light.
If you take a non backlight e-ink display and put it next to a light mode OLED with the same brightness as the environment, the difference is (slight pun intended) night and day. There’s no configuration possible on my phone to make it more legible than a book it sits next to in low light conditions.
Also after years of having light mode only Phrasing, I recently added a dark mode. Not to look cool in dark mode, but because it’s often the first thing I use in the morning and last think I use at night. After a year of minim-brightness still-squinting at the screen, it was truly remarkable the physical difference a #000 background made in the dark with an OLED screen.
doodlesdev
11 hours ago
> I’ve never met a person saying they hate books and wish they were white on black.
That's because paper used to print books isn't always white. Most of the books I've read this year and last year had a somewhat yellow-ish tint to them (they were newly printed). I know I'm not the only person bothered by pure white paper in books.I absolutely agree about setting brightness correctly, though. It's very usual for me to instantly reduce brightness whenever I have to use someone's computer. No idea how people use their screens so bright.
Krutonium
12 hours ago
>I’ve never met a person saying they hate books and wish they were white on black.
I love books. But I also have a brain-vision disability that makes it so that I physically struggle to read black text on a white background.
If I could get books inverted, I would.
152334H
8 hours ago
> I’ve never met a person saying they hate books and wish they were white on black.
Wow. This is the most insightful statement I've read today.
It's finally clicked [U+2014] why I prefer e-ink to hardback, in spite of the alluring texture of plup across fingers.
It's because it should've been white-on-black, not black-on-white. It makes so much intuitive sense.
illiac786
8 hours ago
Autobrightness only works for screens which are against a wall. Your eyes care about what is behind the screen, not in front of it, and that’s one thing autobrightness never took into account.
I used to jailbreak my iPhone 4s to get some dark mode.
Normal_gaussian
11 hours ago
The pages in books are a range of colours, very few are gloss white. I've just flicked through a few on my shelf; the whitest book I have is the wiring regs and they are notably less white than my wife's artists paper. Most of my books are a kind of murky brown not too dissimilar in mental feel to the HN background.
layer8
9 hours ago
That’s why display brightness should be set such that it is similar to how a book page would look in comparable ambient lighting. “White” isn’t a specific brightness level.
Kerrick
9 hours ago
> I’ve never met a person saying they hate books and wish they were white on black.
Plenty of books are printed non-bleached paper, which is more of a cream color, to reduce the contrast and reflectivity of the background.
nitwit005
11 hours ago
If you turn down the brightness, the background and text will become more similar in color, as both will move closer to black.
A dark background reduces total brightness without that effect.
topspin
9 hours ago
Exactly. Contrast or, more precisely, the dynamic range we desire, is ruined by dimming displays enough not to cause pain and fatigue.
It's a dumb solution, and we may all safely ignore it, knowing it won't occur. "Dark mode" haters will just have to cope as dark becomes the default.
troupo
13 hours ago
> I’ve never met a person saying he hates books and wishes they were white on black.
Books don't emit light. They reflect it. That's the difference.
piskov
13 hours ago
It doesn’t matter what the source is (unless you have crt days flicker, bad tn panel polarization or what have you).
Irritation comes from the difference in brightness.
Krutonium
12 hours ago
Reflection means it's got no difference (or a negligable technically) difference in brightness.
orbital-decay
11 hours ago
My mirror disagrees.
adrianmonk
12 hours ago
I think that reinforces their point if anything. With reflected light, you have a natural, inherent form of auto-brightness because the amount of light coming off the page depends on the amount of light in the room.
jchw
11 hours ago
Books are not designed to reproduce colors though, and monitors are. If you have aggressive auto-brightness settings, that wouldn't actually make a monitor appear more like a book, it would just make it so the stuff that is actually supposed to look blisteringly white is merely mild. Which, sure, is an improvement for eye strain, but it's more of a workaround than a solution, and since it would muck up color reproduction a lot of users couldn't do this all the time anyways.
Retr0id
12 hours ago
The retina can't tell the difference between reflected light and emitted light
cwillu
12 hours ago
Unless you're in the habit of reading your books with a flashlight, the context makes it very different.
taneq
10 hours ago
> I don’t see people complaining “I hate listening to most music because my headphones are always at 90% volume
Volume and loudness are different things (https://en.wikipedia.org/wiki/Loudness_war) and pervasive loudness is absolutely a thing. Just turning down the volume doesn’t fix dynamic range compression.