Biz & IT —

“Tomato” versus “#FF6347”—the tragicomic history of CSS color names

Inspiration runs the gamut for colors like “lemon chiffon" and "rebecca purple."

The “Named Colors” section of the CSS Color Module Level 4the latest specification for color values and properties within the Cascading Style Sheets language—are 141 standard colors. Each has its own name, so beyond the essentials of “black” and “white” are shades like “papaya whip,” a warm orange pastel; “lemon chiffon,” a faint, milky yellow; and “burlywood,” which has likely made an appearance on a safari tour guide’s shorts.

At first glance, these names seem fluffy, and they bear connotations of sugary, whimsical romanticism. Where do such abstract names come from, and why are they a part of something as methodical as writing code?

The answer to these questions begins in 1980s Massachusetts. Originally, the colors were a product of the X Window System (X), a graphical user interface (GUI) released by MIT in 1984. In June of 1986, the first list of GUI colors, which was tuned to the DEC VT240 series terminal, shipped with the third release of X’s tenth version (X10R3). It comprised 69 basic shades, with 138 entries to account for different cases in the color names (e.g., lowercase with spacing like “dark red” versus camel case like “DarkRed”).

In 1988, X11R2 arrived with the addition of three colors, including the identical shades “gray" and “grey.” According to Austin-based developer Alex Sexton, discussing the colors at a JavaScript Conference last year, programmers at Hewlett-Packard couldn’t remember the proper spelling (which was originally with an 'a'). Including two names, it was thought, would prevent errors.

The most substantial release, created by Paul Raveling, came in 1989 with X11R4. This update heralded a slew of light neutral tones, and it was a response to complaints from Raveling’s coworkers about color fidelity. (In the ‘80s, colors could vary dramatically from monitor to monitor, depending on the machine vendor. As if to illustrate this, a particularly baffled employee exclaimed, “That's Wheat???!!!” upon the sight of the hue in the previous text file.) In this version, programmers were introduced to the aforementioned “papaya whip” and “lemon chiffon,” as well as other loftily-named hues like “blanched almond” and “peach puff.”

Raveling drew these names from an unsurprising source: the (now-defunct) paint company Sinclair Paints. It was an arbitrary move; after failing to receive sanctions from the American National Standards Institute (ANSI), which issued standards for Web color properties, Raveling decided to take matters into his own hands. He calibrated the colors for his own HP monitor. “Nuts to ANSI & ‘ANSI standards,’” he complained.

Later that year, X11 gained a set of bolder colors thanks to another programmer, John C. Thomas. Just as Raveling’s update tweaked shades to assuage user confusion, Thomas’s addressed the following written objection from coworker Bruce Schuchardt in 1989:

“[I] am still shocked and horrified by the default colors in the rgb database. The ‘pink’ color in particular looks like the flesh-tone of someone who has been puking for several hours and would really rather get a bullet in the head than go on living.”

Thomas agreed. Frustrated with inconsistent displays, he started to find it futile to standardize color names. In response, he stated in an e-mail that he “sat down one evening with the handiest standard of subjective color names, a box of 72 Crayola crayons." That birthed "aquamarine," "orchid," and "salmon," to name a few.

By 2001, the World Wide Web Consortium (W3C) published the first working draft of the CSS 3 Color Module that would include the colors. In light of evolving technologies, the colors had fallen out of use, but the W3C claimed the goal was to “codify current practices.” Every browser supported the colors at this point, consequently, the W3C had been using them in compatibility tests. Incorporating the colors into CSS, then, would prevent sites from breaking.

“It was like a backwards-compatibility thing. They thought, ‘We’ve accidentally been doing this, so we might as well just not break it,’” Sexton told Ars.

Backlash ensued. The color database had been subjected to the whims of so many different programmers that it became deeply disorganized, leading some to argue it had no place in CSS. Critics attacked its naming scheme: “dark gray” was lighter than “gray”; there was a “medium violet red” but no “violet red”; “light goldenrod yellow” had no corresponding “goldenrod yellow.” In total 17 colors had dark versions, but only 13 had light ones. Color distribution was also uneven, skewing toward reds and greens and away from blues.

Perhaps the most vehement denunciation comes from a 2002 e-mail written by programmer Steven Pemberton: “The X11 colour names are an abomination that should have been stifled at birth, and adding them to CSS is a blemish on the otherwise excellent design of CSS. To say that the X11 colour set and their names have been 'designed' is an insult to the word ‘design.’ It is just a mess.”

Another point of contention was cultural exclusion. Some programmers took umbrage at the region-centric nature of names like “dodger blue” and the potential racial undertones of “navajo white” (from Sinclair Paints) and “indian red” (from Crayola, though the crayon has since been renamed in response to the same concerns). Others considered the English-only names alienating.

“I'm not a native English speaker. Imagine my reaction the first time I saw the ‘gainsboro’ color  or ‘papaya whip,’” Daniel Glazman, co-chairman of the CSS Working Group, told Ars.

Ostensibly, these repercussions could have been prevented. In the ‘80s, X system programmers had the option to identify colors the way many developers do today: with a hexadecimal value (AKA hex value, e.g., #FFFF00) or an RGB color code (e.g., 255,255,0). These options allow a greater degree of choice and precision, and they’re based on schematic, objective, globally legible systems. Why weren’t they used in the first place?

“It was a recognition that almost nobody likes using the numeric values. People don’t think in terms of F5B as a particular shade of color. Using a name is more natural,” said Jim Fulton, a student at MIT at the time of X’s creation and manager of Raveling’s and Thomas’s files. However, he conceded, “Not every idea works out well.”

In 2014, however, an unexpected event cast the color list in a more favorable light: a new shade. “Rebecca purple,” was introduced to honor the life of Rebecca Meyer, the daughter of Eric Meyer, a respected programmer and CSS writer. Rebecca died of brain cancer at the age of six; the hue (#663399) was chosen to reflect her favorite color. (A few developers opposed the addition, maintaining that a set of standards was no place for an emotional tribute. They were dismissed as curmudgeons.)

Still, the general consensus is that these colors’ utility is minimal; they’re best reserved as placeholders (it’s easier to type “tomato” than “#FF6347” when you need a color quickly), for beginner-level design projects, or as the butt of a joke.

“I view it with amusement that the colors seem to have migrated into CSS. I just laugh at it,” Fulton told Ars. “I think if someone were to go and crawl over the top 100 or top 1,000 sites and take a look at how various colors are specified, I’m willing to bet you’d still find close to zero percent using color names beyond ‘white’ or ‘black.’”

“If I’m doing an example to show people how to use an editor or a framework, I use hex values like #C0FFEE or #BADA55. It’s about as useful to use #C0FFEE as it is to use ‘papaya whip,’” Sexton added.

Should the colors have been left without standard names then, sparing the development community from a series of angry e-mails and micro-controversies? According to Fulton, probably. Then again, as programmers navigated the uncharted territory of color-displaying GUIs in the ‘80s, it was only natural to experiment any way they knew how.

“At the time, we were dealing with, in some ways, the very beginnings of the graphical home-computer industry,” he said. “For color devices especially, this was the very beginning.”

Julianne Tveten is a journalist specializing in science, technology, and social equity.

Channel Ars Technica