- From: Dylan Schiemann <dylans@yahoo.com>
- Date: Wed, 29 May 2002 15:44:11 -0700
- To: www-svg@w3.org
- CC: www-style@w3.org
Chris Lilley wrote: Well there are objections to the bad design of HSL as well, of course. I proposed a greatly superior solution, CNS, in 1996 [1] which was perceptually even - changing lightness would change lightness regardless of hue; changing hue would not alter lightness, the color steps were evenly perceptually spaced, and scores very well in scientifically conducted usability studies (much better than HSL for example). None of these things is true of X11 or of HSL. However, although most posters to www-style were in favour of it, it never got to consensus, largely due to a poorly-informed critique by David Perrell[2] who thought it was a subset of HSB (later retracted [3] but mud sticks), the lack of online resources (it was fully described, but in a print journal), and a general programmer aversion to color theory, and general indifference to color reproducibility in CSS implementors. It was just too high a bar, too early. Eventually I stopped suggesting it. Instead we went for tying the RGB colors to a real international standard for what they meant, rather than "device RGB" and leaving it to authoring tools to provide color pickers, lists, or whatever they wanted as a user interface. CNS is very cool... I had never read about it before, and would love to read the original journal article. My guess is that it wasn't received more favorably because the math wasn't obvious from a thirty-second glance. In my opinion, CSS color should allow arbitrary color schemes through some sort of custom color mechanism. CSS2 has the following: color: keyword; (inherit, transparent, systemColors, etc.) color: namedColor; color: #ff0; color: #ffff00; color: rgb(255,255,0); color: rgb(100%,100%,0%); CSS3 proposes additing: color: x11NamedColor; color: attr(X,color); color: rgba(255,255,0,1); color: hsl(%,%,%); color: hsla(%,%,%,#); If we are adding color-profiles, why not consider adding color-name-profiles, such as: color: profile(profileName,colorValues,profileURI) with the profileURL optional, containing a translation table to sRGB, or a set of functions (one for each of several commonly used programming languages). Thus, all could be expressed as: color: profile(keyword,inherit); color: profile(html4,blue,url()); color: profile(rgbHex,#ff0); color: profile(rgbHex,#ffff00); color: profile(rgb,255,255,0); color: profile(rgb,100%,100%,0%); color: profile(x11,orange,url()); color: profile(rgba,100%,100%,0%,1,url()); color: profile(hsl,100%,100%,0%,1,url()); color: profile(hsla,100%,100%,0%,1,url()); color: profile(cns,orange,very dark,vivid,url()); color: profile(crayola,electric lime,url()); color: profile(com.dylanschiemann.www.customColorNames,Lincoln Log,url()); Some of these are of course ridiculously longer than using the shorter syntax. Browsers could be required to be able to convert colors using a lookup table for named colors, or read the method for that browsers language of choice to do rgb conversions. I would think this should be optional, but would be very useful for using a standard css syntax for authoring programs. For example, a Dreamweaver like program could offer custom color palettes from a company such as Crayola, create a color picker which would store the colors in this new css syntax, and then offer an rgb export conversion if most browsers did not support this optional color name profile. -Dylan [1] http://lists.w3.org/Archives/Public/www-style/1996Feb/0006.html http://lists.w3.org/Archives/Public/www-style/1996Feb/0020.html [2] http://lists.w3.org/Archives/Public/www-style/1996Feb/0016.html http://lists.w3.org/Archives/Public/www-style/1996Feb/0019.html [3] http://lists.w3.org/Archives/Public/www-style/1996Feb/0022.html [4] http://lists.w3.org/Archives/Public/www-style/1996Apr/0029.html [5] http://lists.w3.org/Archives/Public/www-style/1996Jul/0166.html -- -- Dylan Schiemann http://www.sitepen.com/ http://www.dylanschiemann.com/
Received on Wednesday, 29 May 2002 18:38:28 UTC