61 comments

[ 3.6 ms ] story [ 129 ms ] thread
Yeah, switching to dark mode automatically on `prefers-color-scheme: dark` also matters.
I'm in the minority: I've tried numerous times (and combinations on macos + vscode) but writing code with a dark background makes me dizzy in about 30 minutes.
I always prefer dark mode but I'd guess you're actually the majority, otherwise we wouldn't have dark mode this late in the game. What I observed around my personal circle is people who started wearing glasses at a young age are more likely to prefer dark mode. I'm not sure if it is coincidence or a real cause.
Do you happen to have an astigmatism?

I’m not sure if my personal anecdotes will apply to you but I’ve found dark color schemes with gray text over a blue background (ex. Solarized Dark) to be infinitely more usable than something with a black background with white text.

Yes. It has been getting progressively worse over the past decade to the point where I can no longer wear contacts. I use Solarized Light on all my editors, and tried solarized dark. Still no dice. I think some of the sibling posts to yours explain a few things, like the amount of light available to rust-old eyes. :)
Same here. I tried multiple times (low contrast, high contrast) because I love the aesthetic and also I usually write code in dark but when looking at a dark theme for more than 5 minutes I start to get dizzy, my eyes hurt, I get a headache. I always assumed it was because if my astigmatism, even got correcting glasses but no luck. I ended up with light theme, low brightness and Flux.
(comment deleted)
You are not alone. I've tried several times to use dark themes and dark modes. I just can't do it, I feel less productive because I'm hunting for UI elements to click in programs more often, and the lower contrast between text and background makes everything just that much harder to read for me.
Likewise; it's particularly bad when I view a light on dark website, I often have to use reader mode or invert the screen colors.
This makes it even worse: most websites don't support a dark mode, so popping open a browser in Dark Mode, only to get hit with a full white viewport is like someone waking you up with an airhorn at point-blank range.
yes - it will lead to eyestrain.

Less light means your pupils will dilate.

When your pupils dilate you must flex the physical lens of your eyes to focus on the screen. Less of what you see is in focus, especially up close.

Constantly focusing and refocusing can lead to eyestrain and headaches.

Meanwhile a brighter screen allows your pupils to contract, and with small pupils more of what you see is naturally and optically in focus.

This is depth of field and is most familiar to folks who have set the aperture and focus in a DSLR (or SLR in the old days)

This is less noticeable to younger folks because their lenses are much more flexible. But as people age, their lenses become less flexible and it is harder to focus up close. It might be like squeezing a tennis ball for an hour. This is why people buy reading glasses - to set the natural focus of their eyes closer to them.

If you buy reading glasses it's quite common to get a higher correction for very close like an ipad ~ 18" and a different lower correction for a computer ~ 24-30".

For regular reading I can deal with light mode, but for code I can't make it work at all. Because of how much less syntax coloration "pops" against a light background, the code all runs together into a mush that's difficult to read at any reasonable speed.
> Also, Dark Mode helps to reduce exposure to Blue Light

What. No. Most of the harmful blue light comes from LCD backlight (of course it does not apply to OLED as much).

This kind of misunderstanding is why there have been so many dark mode or low contrast themes (like zenburn), which is a failure to recognise that what you have to turn down is screen brightness.

Like loudness wars for music it may be more pleasant to have nice brightness for a couple of seconds, but here’s my take: set brightness to a satisfactory value, then turn it down (a bit, maybe more). Your eyes will adapt. Over the course of a day facing a screen (which is basically a flashlight) it makes a massive difference. As a bonus when unplugged this saves crazy battery life.

> Since not everyone can see well with Dark Mode, some mobile devices provide the option for Blue Light filters

Huh. f.lux & al are not an alternative to dark mode, one should definitely use such settings, even with dark mode.

Final tip: pay attention to ambient and bias lightning.

The trick I found was to use your phone camera. If the preview pointed at your desk washes out, your monitor is too bright. Mind blowing that I now have my monitor at about the lowest setting. Don't know how I used to deal with it at the brightest.
I don't understand your counter argument. Dark mode blocks most light, so dark mode does reduce exposure to blue light.

(Not that it is designed for blue light blocking per se).

It doesn't actually block that much light, all told? Especially if you then keep the brightness up, you just have smaller things that are super bright. Probably compounded, as your eyes are adjusted for less light. At least in light themes, your eyes completely adjust to block more light.

Though, again, the point is more that even with dark mode, turn down the brightness. (I think. Not original poster.)

> It doesn't actually block that much light, all told?

It does. I'm using a dark theme for HN with a background of #222 and text of #CCC on my Dell U2412M display with the brightness at 100%. I measured with the ambient light sensor in my old Nexus 5 held up to my head. While lux values from smartphones are uncalibrated, it's the ratios that matter.

Dark theme, backlight 100%: 1 lux

Light theme, backlight 100%: 54 lux

Light theme, backlight 0% (not actually off): 7 lux

What is dark with backlight down? I'll try the lumen sensor when back at a computer. Where do you see the values?

And my hypothesis was more that the bright parts are still bright. It is obviously less overall, but the small things are still hitting your eyes. Potentially worse, as your eyes aren't dilated correctly for the brightness.

It reads zero from eye distance when dark with the backlight down. Here are readings from contact distance:

Dark 100%: 5 lux

Light 100%: 103 lux

Dark 0%: 0 lux

Light 0%: 14 lux

Someone is going to ask for a wavelength soon, so get ready to calibrate for 450–485 nm :)
If anybody wants to buy me a spectrophotometer, I'd be happy to take measurements. Those things are pricey.
For my part, thanks for the measurements! I do intend on trying this when back at a computer. At face value, not seeing anything suspicious on these numbers. Bottom line, do not run a bright screen in the face. Darker colors do look to help, but so does dropping brightness. If worried about your eyes, do both.
In my HDR mode settings, tuned for bright conditions, it is:

0% PQ: 0.12 nit

0% SDR: 0.2 nit

100% SDR: ~120 nit

100% PQ: 570 nit

It works better in dark mode than your low contrast. The screen does not support local dimming.

I missed what pq and sdr stand for. :(
> Dark mode blocks most light, so dark mode does reduce exposure to blue light.

This is completely false and the very raison d’être for developing OLED (plasma had this for TVs but the power consumption was ludicrous). See my sibling comment.

completely false?

I can see how it is marginally false, say with a blue-themed dark mode.

Or maybe marginally false, with a cheap LED screen with a terrible contrast ratio.

Or completely not-false, with a non-blue-themed OLED dark mode.

Or mostly non-false possibly with local dimming.

but calling it completely false is completely psuedodoxical.

:)

The dark portions of the screen block the backlight, so the darker it is, the less light gets to your eyes.

In a low luminosity environment, you will get better contrast with less emission if you have most of your screen dark and slightly more backlight than with most of it lit and less backlight. You will want to adjust the light anyway, but the dark mode is theoretically a gain.

But all of that is moot anyway, because the web doesn't work in dark mode. So if you try to go with it you will keep being exposed to high brightness at random, what is much worse than any alternative.

> The dark portions of the screen block the backlight, so the darker it is, the less light gets to your eyes.

On (S/AM)OLED screens the black colour (true dark) is simply zero light.

It seems the "excepting OLED" clause is taken for granted? (shrug)
The web works in dark mode if you have Dark Reader.
Kinda. There have been a lot of improvement since last time I tried it. But images are still a problem, and I don't think that will ever change.
> The dark portions of the screen block the backlight, so the darker it is, the less light gets to your eyes.

If you think it blocks enough backlight you’re deluding yourself. Display a pure black image (with a small white square in the middle to defeat dynamic contrast) and turn off the screen. From TVs to laptops, as long as it’s LCD the difference is obvious.

I've tried lowering brightness multiple times, but the decreased contrast and color vibrance that causes on backlit LCDs always bugs me too much, and then I crank the brightness back up.

On my phone it's a different story, since it's OLED. Especially in lower light reducing brightness has little impact on contrast and vibrance.

Can't wait for OLED or microLED to become the standard in desktop and laptop displays so we no longer have to deal with the drawbacks of backlights.

I see both of these as transitional technologies until SED and its laser variant are up and operational en masse.

These are superior in color, brightness and smoothness much like CRT, without most drawbacks.

Once I 'switched over' Dark Mode completely 'light mode' is very visually jarring to me. In fact when I opened this article I found it ironic that it was in light mode until I noticed the switch at the bottom left corner of the page. I have even taken to using registry hacks to make SSMS.exe display in dark mode. For the most part it works flawlessly, but you end up with a few context menus that have black text hardcoded so they are hard to read. Im hoping that will eventually become an officially supported option soon...
That's exactly why I never switched to dark mode. I don't have a strong opinion either way but I don't like the inevitable light mode surprise when using dark mode.
I love the look of horror I get from folks when I say that my emacs starts with a random theme. Half are dark.
True chaotic neutral.
Some people just want to watch the world burn. :)
Disagree with a few points in the article, but I’m here to evangelize anyway.

Background: I’m a huge fan of dark mode, I use it all the time, I even have plugins to make things that aren’t dark dark.

But I do want to point out something slightly unfair now that things have become so nice for dark mode users: many apps are hard coded to _only_ support dark mode, like Spotify.

The dark mode process that happened over the last few years (I came to love it in Windows Phone 7 Series, so over a decade ago by now) has revealed that some users do in fact prefer light mode.

I argue that just as developers give users the option to choose dark mode, if your design is currently dark only, you should consider a light option.

Perhaps even more important, you should consider a high contrast option. At least Windows has good support, even if many apps don’t. Sadly the web support (outside of olde IE) really doesn’t seem to be there for high contrast. High contrast is an accessibility feature; I don’t need it now, but I know of people who do and that may be me in the future.

> has revealed that some users do in fact prefer light mode.

I think that I am the only human left on earth that prefers light mode, please don't shoot :)

I can't explain why but I actually have trouble understanding code on a dark mode editor, especially if it has a lot of other colors for variables / key words etc

That is pretty normal, pretty sure research showed that comprehension is higher for dark on light text.

It wouldn’t surprise me if there is a evolutionary reason for us being better at resolving small dark things better orso ;)

Later research showed that on average people read better on lighter backgrounds because mild uncorrected astigmatism is very common, and more overall illuminance reaching the eyes causes the pupils to contract, which helps mitigate the astigmatism.

I'm not sure if there has been a study done on people confirmed not to have astigmatism.

I am the same. For me there are a couple of factors.

I have astigmatism which makes colored text look a bit off on a black background.

Additionally, matte screen + dark mode + sunlight on screen is hard for my eyes.

Most people prefer light themes which is why almost everything popular is light theme by default. For example HN, facebook, reddit, google, facebook, youtube, microsoft office, windows, iOS etc etc.

Everyone preferring dark themes is a meme and not a fact.

Dark mode matters, but so does light mode. I think the option should always be there for your users, since it seems like the population is split pretty evenly in their preference for one over the other. Evangelizing for only one mode is missing the point in my opinion.

On a side note (and not to come off as spammy), but I built a front-end framework specifically to make it easy for web devs to include dark mode (along with light mode) in the tools and dashboards they build: https://www.gethalfmoon.com/

Light mode is, objectively, better for your eyes and helps you to read text more clearly.
Personally I agree, especially when reading long documents, but that is obviously subjective. However, I swear I have met people who always turn on dark modes, regardless of the type of content they are consuming.
Dark mode keeps me relaxed and focused rather than making me want to get up and do physical tasks.

As OP said, both matter. Each excels in different qualities. You choose what works for you, I'll choose what works for me.

The fact that centuries of printing settled on black text on white background tells me that that is very likely how humans read best.
This probably had more to do with the practical fact that ink is black
We can and do make ink of any color. Black is just the most popular. And we could make paper of any color.

But it's probably true that printing white ink on black paper is harder.

Then again, if that was the best way to read, we should see some, if expensive such books.

The problem is that black paper would still have some reflectance depending on the surrounding lighting, potentially rather higher than reflectance of black ink.
Traditional off-white paper lit by ambient illumination is not the same as an active emitter of light with a color temperature well higher than ambient. FWIW modern paper is actually brighter than white (it fluoresces).
> Providing the users of a product with the option of a Dark Mode is a good business decision, especially if the application requires users to spend lots of time on the application.

I just got done correcting ten exception requests, and this kind of blithe assurance is why I empathize with the compliance guy who insisted we had to explain why we needed these, in particular, how not approving them would impact our business.

They provide a pretty reasonable example of where a dark mode makes sense: a streaming service where people are likely to be in a dark room watching mostly your video.

It is not self-evident that adding an option for dark mode is a good business decision in general, though.

Let me present a counter example: when I receive a package in Amazon Hub, I recieve an SMS (but it's really an MMS) with a six-digit code and a barcode image. The Hub lockers have a barcode scanner and a keypad. I have gotten the barcode to scan a few times, but it almost always fails and I just punch in the code.

The Pixel is usually in dark mode when I scan. It has worked in light mode. I'm not inclined to hang around the package locker for ages messing with it, though.

Granted, this is already stupidly broken, but the dark mode option introduces additional uncertainty as to whether it's the cause of this seemingly unrelated process being broken. Is framing the barcode in black going to interfere with a scanner? Maybe?

Before you claim that it's a good business decision, you need to at least confirm it's a net benefit to users:

1. if it's an option, do they find the option? How does it interact with the system option if any? Is it consistent between platforms?

2. if users toggle the option and a year later want to toggle it again, do they find it again? Or do they complain to support? Or do they delete the application in frustration?

3. are you going to properly test two sets of UX?

4. did you test uncommon cases, e.g. toggling it while the application is running?

5. looking back to my example, will it interfere or appear to possibly interfere with unexpected use cases?

Then your business case is tangible benefits (greater sales) + intangible benefits (trust, reputation, delight) - tangible costs (testing, design, support) - intangible costs (confusion, frustration).

If it's a core use case, e.g. streaming video, or if you can do it simply, especially via the native widgets, then it's likely a good business decision. Otherwise, it gets dicey.

Dark mode is not a good solution, from my point of view. The initial problem, is merely that the white default background of Microsoft Windows, is simply not appropriate : What is appropriate, is Sepia background, like in Amazon Kindle reader for PC. I really don't understand why Microsoft did nothing for that, as the solution is so simple to implement. In Windows 98, you could choose another color for default Windows background.
Designer 2 cents here: Contrast is needed to reduce eyestrain, actually the problem with light mode is colour in code editors, colour is better perceived on a dark background. But if you a reading long form text with no colour in general you will have better contrast on a white background. If you are using light colour theme in your editor, try to tame the whiteness of your background, 80 to 70% grayscale (you can warm it up with a little yellow tint). The next important thing is your font selection and linespacing.