227 comments

[ 2.8 ms ] story [ 266 ms ] thread
That said I rather like black and white for readability. I've even got a chrome extension to be able to read stuff without all the grey on grey, cool but almost can't read it stuff.
80-90% grey background with 10-15% grey foreground (text) is an ideal contrast ratio/color scheme, for me. It doesn't burn my eyes out at night on my panels, in contrast to white-on-black schemes.

During the day, though, black-on-white all the way.

Now turn off your monitor! Do you see pure black, or maybe you see the reflection of your room and yourself? #000000 might not be pure black.
Agreed 00000 is not black, but the reflection is not from the backing layer but from the transparent glass.

if the glass’ reflection is greater than the emissivity of the actual screen, isn't the screen black for all purposes? After all, even if you painted the back of a pane of glass with vantablack you would still have a reflection of the glass!

This reminds me of some difficulty I've encountered with printing computer images. #000000 often comes out as just-off-black. Computers use RGB while printing uses CMYK, with the K meaning "black". So in some places, like Vistaprint, I would have to specifically set K to a max value to make it look right
Windows 10's dark theme basically has this problem: it makes everything #000000 black, which is not most people usually want. It's really tiring to the eyes and I switched back to the light theme instantly.
Well at least the left explorer windows in a somewhat higher value, so we have that going for us which is nice.
Windows 10 dark mode is unusable.

I don't understand how anyone can read white on black without their eyes hurting.

When I first tried it out I was instantly taken aback at how MS had used full black for their darkmode. Not suprising, considering their inability to implement reasonable design, but ridiculous nonetheless. I can't fathom how no one on their design team stepped back and thought 'maybe there's a reason dark mode is usually a dark grey instead of black'.

> When I first tried it out I was instantly taken aback at how MS had used full black for their darkmode. Not suprising, considering their inability to implement reasonable design, but ridiculous nonetheless. I can't fathom how no one on their design team stepped back and thought 'maybe there's a reason dark mode is usually a dark grey instead of black'.

It is most likely due to AMOLED and their big investment in mobile technology (Surface, etc.) I imagine a lot of them have AMOLED screens, so a pure-black dark mode pays off here. Nevertheless, I can't imagine it would be hard to just let people choose the colour of the dark variant, like GTK / Qt theming systems do on Linux.

If anything AMOLED would make it even worse in terms of readability.
The win is it saves on battery life.
> I imagine a lot of them have AMOLED screens

Not designing for a variety of displays and viewing conditions is frowned upon in general, but should be inconceivable for a company the size of any MS org.

On that note, this is one of the reasons I still use a 1x display as my main. Currently it’s a comically large 43” 4k@1x, so it’s only representative of “normal” usage when I remember to shrink windows, but still.

White text on black is terrible with LCDs, but with OLED it is wonderful. Imagine dimming your screen just right, the only thing you can see is the text you want to read. It is much more easy on the eyes than even paper or e ink devices IMO, as long as the display isn't turned up too bright.
Most applications look very weird on Windows 10 dark mode, especially some older Win32 apps that were not clearly designed around a dark theme. Windows Explorer looks particularly bad IMHO, it's just too dark and the icons clash badly with those almost pitch black folder backgrounds.

I generally avoid dark themes because 1. they are IMHO very ugly, 2. I find that "night mode" apps like redshift are much better for tired eyes, and 3. I noticed that black themes users often end up keeping a higher screen brightness level than me, which counters IMHO any benefit you may ever gain from night mode.

What a relief to click on this and see it isn't a screed against https://github.com/psf/black
Thought the same thing. It’s such a godsend, and the first thing I install on every new machine or virtualenv.
he, he, me too. It really transformed the way I program. No more mental cycles devoted to best formatting.
`prettier`, `black`, `go fmt` and other opinionated formatters must have saved tens of thousands of man-hours.

No more fiddling with getting format juuuust right. Save the file and accept the result.

Sometimes it tries to break long lists that better stay horizontal or matrices into long lists, in which case, wrapping the block with `# fmt: on/off` saves the day.

I don't think the formatters need to be so opinionated. The problem with older tools is that they don't have the capability to fix things even when it is easy to fix in an automated way. For example, I don't really care about fixing line length issues, but I really don't want to sort my imports by hand or fix the line breaks with my blocks.
Funny too because Ian (author of the posted article) designed the Prettier logo
Same here, clicking on the link I was thinking, here we go, one more negative opinion on the opinionated python formatter out there.
Since getting OLED displays I've started using more all black themes. Especially at night it helps decrease the amount of light my phone emits significantly (or so it seems).
At night, I can barely see my finger against the empty Feedly screen. Too bad not all applications (looking at you, Strava and MFP) provide an OLED-compatible dark theme and the "Force dark mode" dev setting does not persist after a restart.
This is why I use black for the background on my own site, and high-contrast dark themes where available.
Light on black severely hurts readability though.
That depends on the background light in the room. In a dark room, light on black is the most readable.
Light on black is wretched for people with astigmatism.
Astigmatism in both eyes and I still use it although my glasses help somewhat. I find that it's usually not all that bad at night when it comes to the halos around text or doesn't really bother me enough vs adding more light by going with a lighter grey theme.
I have pretty bad astigmatism and love white on black in a dark room on an AMOLED screen with the brightness turned way down. It's the only screen I can look at for over 10 hours without getting a head ache.
I happen to have a pretty pronounced astigmatism. I still prefer light (note, not white in the case of my site) on black.
There is the problem of "OLED smearing"[0] with pure black that makes using it somewhat unviable. It seems that some OLEDs are more susceptible than others, though. Also fairly certain that this only happens with #000.

[0] https://twitter.com/marcedwards/status/1053519077958803456?l...

That's only relevant for animations.
That and doom scrolling on on my pure black theme'd apps at night. Although I've gotten used to the smearing and don't really mind it anymore.
Including scrolling, which is an extremely common interaction. I still stick with pure black whenever possible though, despite that.
All LCD technologies have pixel transition times that vary based on the old and new colors and are often larger than the refresh rate, this is nothing new with OLED. Typically these do get improved over time. I've compared the video on my OLED phone and non-OLED monitor and the smearing is not significantly different.
I do the same thing. Black background with white text is by far the best contrast setup for reading hands down, it's better than reading paper or e ink. The only thing entering my eyes is the information I want to see, since I started reading this way I cannot purchase a mobile device without OLED.
And OLED screens power consumption is proportional to how much color/white is displayed, so black uses less power. Good for your battery, and the environment too.

In a dark room or outside at night, black on an OLED is truly black and everything else floats magically in the void, it's a wonderful effect.

Back when we had CRTs where black also meant no light, you could have real dark in the room if you only had a terminal with green on black or white on black on the screen :)
(comment deleted)
Now you have a new problem of no one agreeing on a standard saturation level. I'm noticing this more with "dark themes": everyone has a different idea of dark gray.

Since dark themes naturally lead to subduing all other colors except for little accent pieces, the screen is a collage of dark grays to the point that, instead of the background fading away, the background is now stealing the show from everything else. It's this dismal bouquet of gloomy colors and it's hard to focus on the content.

Contrast this (pun!) with terminals and console apps: your terminal is a constant background color while you're working. It doesn't change its shade of gray as you go so it really does stay as a "background" and isn't distracting.

Finally, I feel dark themes exhibit this more than light themes. I feel years of different subtle paper whites has made me less sensitive to variations.

> everyone has a different idea of dark gray.

There are a few factors causing this:

* People have monitors with different gamma curves, and even if you try to match them slight different output for top white and bottom black. Heck, on bad monitors these things can vary across the screen or if you aren't sitting perfectly head-on.

* People are working in different environments so ambient like that they are seeing the screen against (home & office lighting, light from windows, reflections of those off home/office decor, and so forth) will vary.

* Peoples eyes vary in a considerable number of ways, even ignoring those with variations significant enough to be considered “defects” from the norm.

* These things can all vary over time, over different cycle times.

It doesn't just affect blacks and grays: on a simple dashboard I've created pastel colour backgrounds are used as subtle highlights (used to separate things, guide the eye a little, to indicate status of things (though there are other, less subtle, indicators when this is significant), and to just make it look nicer (as coldly objective as I can sometimes be, even I appreciate a bit of effort there)) that are useful (you miss them if they go) but don't want to be attention grabbing. I've needed to tweak the colours chosen because while they did the job on my screens they were too similar or too almost-not-there-at-all on other people's.

I think the variations are intentional. If I were a designer and looking to match backgrounds, I wouldn't eyeball it. I'd screenshot the target and eyedropper the color - that's independent of panel differences. But maybe I'm old fashioned and not a designer anyway.

"Dark themes" are the new sexy right now and everyone's having a play at making their design palette stand out. I think good usability is taking a back seat to artistic freedom and expression.

And don't forget about the most obvious factor, which is that people simply want their website to look a certain way and don't want all websites to look the same.
> Why does the Facebook Mobile interface feel so nice?

Checks publication date

Ah.

Idk, I really like the contrast against pure black on OLED screens. For some reason it infuriates me on LCD though.
Agree, it's a different thing for OLED displays. Black here can be as pleasant as any other color. I guess it's the same for projectors.
(comment deleted)
Thanks! Macroexpanded:

Design Tip: Never Use Black (2012) - https://news.ycombinator.com/item?id=24303042 - Aug 2020 (162 comments)

Design Tip: Never Use Black (2012) - https://news.ycombinator.com/item?id=17334627 - June 2018 (44 comments)

Design tip: Never use black (2012) - https://news.ycombinator.com/item?id=6581253 - Oct 2013 (63 comments)

Design Tip: Never Use Black - https://news.ycombinator.com/item?id=4357002 - Aug 2012 (210 comments)

Also somehow related:

Never Use White Text on Black: Astygmatism and Conference Slides (2017) - https://news.ycombinator.com/item?id=21367116 - Oct 2019 (59 comments)

Huh, some of this may have to do with the medium?

Where I've done the most graphic design, offset printing, you get 4 colors (CMYK), and you can pay a little extra to run another plate of a spot color.

In that environment, if you use rich black instead of just K, you'll see registration errors that hurt legibility, especially for small print and at any light/dark boundary. I've got this deep, deep muscle memory of checking the separations to see if we used any accidental rich blacks -- fairly common with advertiser art, but also common in illustrations.

Of course on color pages things are a little different -- looking at the separations, and watching how our photo editors edited levels to make them look good in print, definitely made me think hard about how much hidden detail is in the blue part of an image and how colorful shadows are!

But we were usually on a budget and usually stuck in K. This has for sure colored my design choices, and it's helpful to see the reminder to try designing away from pure black on the screen.

Rich black, for anyone wondering, is when you not only use K (black) pigment, but layer on C, M, and Y, too.
Wow, this threw me back to the early 90s when I did print graphic design.

It's common to use one of the Pantone "rich black" options for spot color, because our eyes see it as "blacker" than 100% K. But yep, if you were doing 4 color work, it was a different kettle of fish.

I got similar advise from a graphic designer with a background in printing when I wanted to design my own business card.

Don't tint your black, black is one of the most amazing colors you can choose, there's a reason why it's such a classic.

Whatever. Why throw away 8% of your monitor's color gamut / dynamic range? Tip to the author, just turn up brightness on the monitor, or shine a desk light on it. Or get a monitor that bleeds some backlight or light from neighboring pixels. Unnaturalness fixed.

It's like saying digitized audio should never have complete silence in it because you rarely hear that in nature. Well, you rarely hear that in the room you're listening in either, or your own inner ear. Doesn't mean you have to add those sounds to the audio.

> Tip to the author, just turn up brightness on the monitor, or shine a desk light on it. Or get a monitor that bleeds some backlight or light from neighboring pixels. Unnaturalness fixed.

While I agree with your sentiment, none of those are good solutions. Turning up the brightness influences the bright pixels much more than the black pixels (especially on decent displays). The desk light and bleeding backlight sound like a nightmare.

A much better idea would be to change your monitor's calibration (either in the OSD or in the OS settings), or to use a browser extension for color adjustments.

Monitors have contrast setting for this exact same purpose
Funnily most digital audio is never fully silent for a different reason. Noise is added for the least significant bit, because otherwise you can hear artifacts (deemed less attractive than noise) on silent parts that are close to the threshold of the bitdepth.

https://en.wikipedia.org/wiki/Dither#Digital_audio

Dither works for images too, e.g. for cheap displays that only have 5 bits of color depth. It's hardly a problem for audio anymore which is now almost universally 24 bits (and arguably already wasn't an issue at 16..).
That's the noise floor, which should be below the threshold of human hearing unless you turn the volume up so high that the loudest signals would be uncomfortably/damagingly loud. 16-bit digital audio has a dynamic range of 96 dB. Even in an extremely well-insulated anechoic chamber where we (unrealistically) assume the ambient noise level is 0 db, you would theoretically hear extremely quiet white noise when playing back a plain old 16-bit CD, but that CD would still be able to blast out 96 dB which in nearly all imaginable circumstances would be louder than desired. In a more realistic scenario wearing well-isolating headphones in a very quiet normal room, the ambient noise level is probably more like 30 dB, and plain old 16-bit audio gives you plenty of dynamic range to perfect reproduce any conceivable digital audio signal for the vast majority of use cases. Certainly for things like music, I think it would be quite rare for a recording to have a dynamic range greater than, say, 60-70 dB.
Honestly, I just find this kind of weird. Unless you had a plasma display in 2012 (or a CRT?) you were using an LCD which have a realistic luminance ratio of ~200:1. Even the good FFS/IPS panels weren't better and the rest of the luminance range was taken up in the backlight... and unless you're in a blacked out basement you have reflection/scatter off the screen, which is already additive.

Most screen gammas are/were roughly square law (sRGB=2.2) above a small linear region below 16 (8bit) so green 0xFF is more than 256x brighter than 0x0F. This has changed with HDR and modern OLED and miniLED backlights that in a perfect environment (not your office) can achieve >1000:1 luminance ratios.

Even AMVA3 goes to 5000:1, and that's just a "normal" LCD panel, usually used edgelit from my experience with them.
This 2012 advice has aged poorly, and as with all absolutes, fails to consider context, capabilities, and functional goals.

In the specific case of e-ink, where colour is usually nonexistent (there are some colour devices, these are the exception and have limited rendering), where greyscales are limited (16 shades on high-end devices, and often less), and total foreground/background contrast is limited (restricted more by the dark "white" than the light "black"), the advice to avoid saturated blacks is quite poor.

This is most applicable to text, where the most frustrating experience is reading a greyed-out or coloured text, often on a shaded background. Firefox's Reader Mode is a lifesaver, as is the EInkBro browser. High-contrast text and black-on-white themes are strongly preferred. Ironically, I use the Dark Reader extension to force light themes on numerous websites. The fact that the extension itself features a dark theme for its controls is ... unfortunate.

Generally for e-ink, I'd suggest:

- Use solid blacks and high-contrast whites where possible. This should always be the case for text if at all possible. Reversed white-on-black should be reserved for controls and emphasis.

- Line art and etchings render wonderfully. There's a reason Onyx features these in its marketing and screensavers, they look truly delicious on the devices. See for example: https://blog.the-ebook-reader.com/wp-content/uploads/2019/03... and https://www.e-readerweb.nl/test/data/articles/images/lightbo...

- For photographic and shaded images, halftoned or dithered images are an improvement over shading which is at best posterised. The high DPI (200--300 on most screens) achieves near-photographic quality at a modest viewing distance.

- For icons and UI elements, line- and solid-block art is much clearer and more distinctive than shaded or coloured elements. The top four lines of icons in this image are Onyx-provided applications, the lower rows are third-party apps. Onyx's icons are much better suited to the device: https://sm.pcmag.com/t/pcmag_au/review/o/onyx-boox-/onyx-boo...

- Yes, there are some colour devices available. They're the minority, saturation is limited, and hue fidelity varies markedly from original art. See: https://www.liseuses.net/wp-content/uploads/2020/08/onyx-boo...

Keep in mind that all display systems offer limited ranges of darkness, intensity, hue range, and saturation, and that their best capabilities can be severely degraded depending on viewing conditions. Emissive displays achieve their best results under dark ambient conditions, and become difficult or impossible to read under bright light or sunlight, whilst e-ink devices shine (or more accurately, reflect) at their brightest under direct sunlight.

From Fast Show to artistic advice: I shall have to get the black out.

I just don't know, "never" is a big word. Black can be useful in kind of an absolute, floating in space, NOTHING IS HERE fashion.

Your screen probably can't display black anyway.
Article's CSS:

    --black: #113654
Ok, black enough for me. The problem is when you see shit like:

    color: #555
(or worse)

On text that's supposed to be dark. Tires your eyes and makes reading anything long painful. But hurrrrr it's not black it's modern!!1.

Nice even hex numbers is a telltale of "designed by engineer".
I design in the CSS and always stick to shades of gray until I get the layout and interactions right, which are easy to reason and conjure off the top of my head. I can always tell `#ccc` is lighter than `#cacaca` but it's not easy tell how luminant a color is just by looking at its hex.

Lately, I've been playing with HSL, which makes the calculations easier, but luminescence is still difficult. Hopefully, LAB color space will be useful in that regard.

As an experiment, I edited the body text to be #000 instead of dark blue and it was instantly easier to read.
Except! For backgrounds on powerpoint slides around images. That black on a projector becomes invisible and you're left with just the image, or they just blend with the border of the monitor and you're left with just the image.
For phones with OLED displays, I like to use pure black background for this reason. It feels like I'm interacting with an object, rather than a portal into a 2D world.
(comment deleted)
This is terrible advice for a world with OLED. In an OLED display #000 means the light is off which about as "natural" as you can get.
And suddently, OLED screens become useless
I really like the crispness of actual black.

Note: the font you're reading right now is #000000.