What Font Color Is Best For Eyes?
juraj writes "What font color and what background is best for the eyes, when you work for a long time? I have found various contradictory recommendations and I wonder if you know about any medical studies on this topic."
If you stare at text all day long, I've found that high contrast (black on white default) and high color saturation (brightly colored syntax highlighting) is very tiring. Turning both down a notch goes a long way for extending readability.
My terminals all use a light white on dark grey scheme, and my preferred vim color scheme has been ps_color for quite a while. (here's a useful site for visually comparing a ton of color schemes (in iframes) all at once: http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/. )
Power to the Peaceful
Our eyes don't work like that -- they don't scan the visible spectrum from low to high, and see blue as the opposite end of red. Instead, we have receptors for certain colours, and base our colour perception on how much each of those get triggered. This is why colour blindness hits red/green or yellow/blue, despite those colours not being adjacent on the spectrum.
Our eyes can differentiate shades and hues of green better than any other colours -- this is an inherited survival trait from when it was important to see predators and distinguish ripe from almost-ripe. Blue, on the other hand, wasn't as important to survival, so we can't tell too many shades of blue apart, nor very far towards ultraviolet. We perceive indigo (the traditional indigo, not the "purple" that's called indigo these days) as a dark colour, for example, because it's at the edge of what we can see.
If you are in a dark room, anything with a white background is waaay too bright, and light color on dark is preferrable. In a bright environment, on the other hand, the you see more reflections against a dark background, so you want to make your background bright, and the font color dark.
Dude, it's just sub-pixel rendering. In the Windows world they call it "ClearType" or something like that. And it only works for LCDs, because their color pixels are spatially separated.
Can you be Even More Awesome?!
Text - background polarity affects performance irrespective of ambient illumination and colour contrast.
and
A study of reading time and viewers' preferences for a variety of combinations of character-background chromaticity for small traditional Chinese characters.
but don't let me do all your clicking for you:
http://scholar.google.com/scholar?hl=en&q=legibility+of+color+combinations+on+screen&spell=1
If you read the follow up you'll see that that is not a feature of Leopard, but the result of sub-pixel rendering. It's a technique for making text look better on LCDs.
Steve Gibson has an interesting article on it here:
http://www.grc.com/ct/ctwhat.htm
Women are like electronics: you don't know how damaged they are until you try to turn them on.
The three types of cones are generally referred to as L, M and S cones (for long, medium and short wavelength peak sensitivity) The S cones peak at what we call blue (~435nm), the M at green (~534nm) but the L do not peak at red. The L cones have a peak sensitivity at about yellow-green (~564nm).
We use red because red is way out the end of the visible spectrum and red light excites the L cones but not the M cones. If we were to use yellow-green we'd be exciting the M cones too much. The average person has about twice as many M cones than L or S cones, (we're very sensitive to green light) so yellow-green ends up exciting the M cones more than the L cones. By adjusting the amount of red (L cone excitation), green (M cone excitation) and blue (S cone excitation) we can replicate in the eye the cone response any visible colour would generate.
The human vision system is not like a camera - the cone response is only one part of a long and complex chain. Afterimages are somewhat a function of photo-pigment bleaching and later stages of visual processing in the nervous system and brain.
Cone response references:
Stockman, A. & Sharpe, L., "The spectral sensitivities of the middle- and long-wavelength-sensitive cone derived from measurements in observers of known genotype'', Vision Research, Volume 40, Issue 13, Pages 1711-1737, 16 June 2000
http://cvision.ucsd.edu/cones.htm
Our eyes don't work like that -- they don't scan the visible spectrum from low to high, and see blue as the opposite end of red. Instead, we have receptors for certain colours, and base our colour perception on how much each of those get triggered. This is why colour blindness hits red/green or yellow/blue, despite those colours not being adjacent on the spectrum.
Yes, we have different color sensors, but this is beside the GP's point. The green response curve overlaps significantly with red and blue. See the spectral response here. Red/Blue flashing lights will cause a significant color contrast as they alternately hit one type of cone and then the other. Even though the response to blue is low, it is still an effective color to use because the human eye's response is logarithmic wrt to brightness (i.e. take the graph I linked above and take the log the y dimension). Even that's a simplification when you add rods to the mix, but that's a subject for another post or later research.
Our eyes can differentiate shades and hues of green better than any other colours -- this is an inherited survival trait from when it was important to see predators and distinguish ripe from almost-ripe. Blue, on the other hand, wasn't as important to survival, so we can't tell too many shades of blue apart, nor very far towards ultraviolet.
This is wrong. We can identify more hues of blue than any other color, followed by red, while the intermediate hue discrimination can be quite low. Green sucks because that cone's frequency response is highly correlated with parts of the other two, and thus it forms somewhat of a degenerate basis for describing a hue with the 3 weights. Google "Hue-discrimination curve" for more info.
The evolutionary argument for this has *no* good evidence supporting it, but has become a very vibrant meme (I won't call it a legend, since it is an unproven theory). Green is bright for a variety of potential reasons: (1) It's one of the easier pigments for synthesize biologically, (2) There's a lot of green light coming from the sun, (3) It's a good baseline from which to differentiate other colors (there's a lot of green in our environment), and (4) yeah maybe it could have to do with rotten/ripe fruit. I'd bank on the first two though, especially noting that our hue sensitivity in the green range sucks. Predators are best to detect via motion (primarily rods), and by non-green cones (predators are camouflaged best against rods, i.e. non color vision, i.e. luminance, which overlaps most with green). You can of course believe whatever theory you want, but please don't start speaking about one as being authoritatively true; I know some evolutionary biologists like to extrapolate really far from the evidence, but it always hurts when they are wrong on some theory that gets discounted, since it gives creationists a hammer to bludgeon all of biology and science with. Please don't give them that ammo, and label speculation as speculation until there's real concrete evidence to show. For evolution of these traits, that means sticking mostly to the "what" and "how", and not claiming "why" except in the most general and statistically supportable terms.
We perceive indigo (the traditional indigo, not the "purple" that's called indigo these days) as a dark colour, for example, because it's at the edge of what we can see.
It's not just that its near the edge, it's more complicated with several factors: (1) The blue cones are not that sensitive, (2) there is no additive luminance response due to the other cones frequency response falling off completely at violet, and (3) the rods don't even respond to it very well (last point only really matters for
I thought military used red on black so you don't lose your night eyes.
red on black is NOT easy on the eyes, as anyone who's owned a virtual boy can tell you.
... if black on white hurts your eyes, there's probably something else wrong there too. Not saying that black on white is optimal anyway, but it shouldn't be enough by itself to give you a headache or tire your eyes.
It generally boils down to: IMHO most people I've seen using computers are doing it wrong for their eyes.
For starters make sure you use a large enough, and clear enough, font so you don't have to squint. If you absolutely need 80 lines on the screen when editing sources, that's usually your clue that there's something wrong with your programming style (and I suspect for some people the short term memory too.) You shouldn't have methods that run over that many lines, unless they're truly trivial stuff. (Like, say, a long switch statement where each line does no more than delegate to a method of its own. Arguably there are better ways there too, but I don't find it to be the end of the world either.)
IDE's also offer a lot of tools to find the method you need, when you need it, and/or collaps/expand blocks so the don't take up screen estate when you don't need them. There's also stuff like showing you the parameters anyway, so you don't have to have a second window in which you look for the parameters to that method. And really lots of other stuff. Use those instead of cramming the absolute maximum lines of text on the screen.
When I see a couple of co-workers squinting at their 6 point Illegible Roman font in VI and doing greps manually in another illegible tiled window, heh, I'm just itching to tell them to move out of the stone age already. We even discovered this funky thing called the "wheel" in the meantime, ya know?
Clean your monitor regularly, especially if it's a CRT. CRT's have thick glass, and your eyes end up focusing back and forth between the dirt on the front side of it, and the letters on the back side of it. But it's distracting and tiresome on TFTs too. And if you need to squint because you're at the point of "is that a 'm' or a 'rn'? Or is it 'rh' behind that speck?" it's long overdue for a cleaning.
Do turn your contrast up, but turn your brightness down to a comfortable level. The monitor is not supposed to be an AA searchlight. Staring into very bright stuff, especially in a dark room, _is_ tiresome. Here especially the TFT's are the biggest offenders. The manufacturers got stuck on bragging about the brightness of their monitors, as if that's something good, and pre-set them to insanely bright levels. Turn that down to where you can live with the white for hours.
And it will be even more important when you have to focus on stuff that's the other way around: white on black. (Some websites love that scheme, for example.) On an ultra-bright monitors that will mean focusing on a mostly black screen, so your pupils are wide open, but some pieces of retina are getting to see some really bright letters. It's a recipe for a headache.
As a side-note, I'm genuinely surprised at how many people do the exact opposite. I've seen too many monitors which are turned to abysmal contrast, and as bright as halogen headlights. I mean, WTF? Some things are barely legible in that configuration.
Ok, so maybe it's good for PC games, where the average dev seems to think that every fucking thing must happen in nearly complete darkness. 'Cause, you know, we have 32 bit colours so we can display all the gamut of "black", "really dark", "dark grey", "room with a broken lightbulb" and "grey stone on a moonless night". But the brightness settings where you see in near dark in games, suck for work or even reading in a browser. If you use the same monitor for games, consider turning up the brightness or gamma up in those, instead of turning the monitor's brightness all the way to the right.
If you're stuck with a CRT, make sure it's a good one and properly tuned. Staring into an unfocused image, especially with small unfocused fonts, is a recipe for a headache.
Again, for CRT users, just because everything idiotically defaults to 60 Hz, is no
A polar bear is a cartesian bear after a coordinate transform.
CRT pixels do not line up precisely with their r, g, and b light emission points, at least on most CRTs. If you look at a single white pixel on a field of black through a lupe, you'll see it's composed of a number of red, green, and blue dots, not one dot for each color. Look at a different pixel, and the exact pattern will be different (shifted a little).
They use a couple of electromagnetic coils in the rear of the tube to guide an electron beam to the right point on the CRT's surface, but it is not so precise on most models (though maybe some really high end stuff for scientific work) as to be able to exactly hit specific phosphorescent spots.
This is why sub-pixel rendering works on LCDs but not CRTs (which turn on and off [or shade] specific color points digitally), because we know the exact shape and color layout of each pixel.
Slay a dragon... over lunch!
Good writeup. Found a simplified reference with a picture. I'm visual, don't you know ;-)
http://www.ndt-ed.org/EducationResources/CommunityCollege/PenetrantTest/Introduction/lightresponse.htm
In terms of raw sensitivity, green produces the most signal at the lowest intensity. I've personally found that is true, and green on black is my usual choice; I've tried them all, yellow is next best, which also fits the curve.
As PP points out, though, the visual system is complex, and the receptor distribution will vary for each person. It's also been found (no reference, sorry) that most people read words as a chunk, not by resolving and assembling the individual letters, so choice of font and kerning probably has more to do with readability than the color of the text.