Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The definition of grey is totally debatable, but in W3C spec Green = #008000 (instead of #00FF00, which is called Lime?) makes no sense.

How did it happen?



My guess? Most green things you see are a darker green. The extremely bright green (lime according to the W3C) is less useful, so they probably chose the color based on what they thought the user would expect.

Given that RGB is well-known, I suspect their assumption was wrong, but I have nothing to back that up.


Also, green is the brightest primary after accounting for typical human vision and typical monitors. The YUV formulas put at nearly twice as bright as red.

So a normal display has more green than you'd need, and 00ff00 green has terrible contrast against ffffff white


Extra nitpick.. green isn't even a primary colour. Red, Yellow, Blue are the primary colours that our eyes perceive. Perhaps this contributes to why the RGB numbering doesn't meet human perception of green?


Those are primary pigment colors (arguably... Should be magenta, cyan, and yellow). Those remove light to make color. Red, green, and blue are the additive primary colors.


No you have S, M and L cones in your eyes, which represent (roughly) blue, green and red. Your eyes are most sensitive to green and yellow because the spectrum of the M and L cones overlaps. This is why a lot of sRGB is green and why the Bayer pattern has one red, one blue and two green elements. Red, yellow and blue are the primary colors used in art education.


> typical human vision and typical monitors

Examples ? My "typical human vision" is worse than it was some years ago and my "typical monitors" are different with every iteration.


> they probably chose the color based on what they thought the user would expect.

just like everything in SW development in the last 10 years. SW is supposed to be an engineering discipline, not a witchcraft.


A #00ff00 green is gonna be much, much brighter and more intense than a #0000ff blue. If we call #0000ff "blue", it makes sense that the color called "green" should be of similar brightness/intensity to the color we call "blue".

Not that it's very consistent. The color called "red" is #ff0000, which looks brighter than both #008800 and #0000ff IMO. And arguably, "blue" shouldn't be #0000ff, since that's just not a very pleasent color. I think I might've been tempted to go with something like, red = #cc0000, green = #008800, blue = #0055ff. Or maybe go all the way and specify the colors in some perceptual color space rather than using RGB. But oh well.

(The color #0000ff for "blue" is super over used IMO. Most terminal emulators default to it as well and it just makes blue text hard to read in most out-of-the-box configurations. To get a nice blue color, you need some green in there.)


The naming is supposed to make sense for humans, not machines. Technically the "greenest green" from a technical POV is #00FF00, but the humans understanding of "green" is something more like #008000.


> the humans understanding of "green" is something more like #008000

That claim feels wrong. Colours are a concept on the level of the culture, not on the level of the species.


The humans at MIT's Project Athena, then.


In Unity3D Game Engine, "Yellow" as a named color is not #ffff00 but #ffeb04, the documentation says "RGBA is (1, 0.92, 0.016, 1), but the color is nice to look at!". I bet this bit the ass of thousands of developers that used it assuming it would be #ffff00 and then wondering why the output color somewhere was wrong.


This comes from the original HTML 3.2 spec (1996) which defined 16 colors matching the Windows VGA palette, where pure #00FF00 was deemed too bright for general use, so they chose the more muted #008000 for "green" and later kept it for backward compatibility.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: