On the Origins of Web Colors
The case for intelligent design
Even though today's newsletter seems to be very technical, it underscores the very human creation of color on the early web.
I disagree with the contention that the people who actually compiled the various lists of colors on the early web did not know what they were doing. If anything, I appreciate their work even more after spending several weeks reading through them.
I've continued my research from last week regarding how indigo became a violet hue. I had traced the shift to the 1990s, and hypothesized a link between the company SGI which had released violet colored computer called the Indigo in 1991 and Netscape.
When I discovered that the connection existed in James Clark, who happened to have been a co-founder at both companies, I thought I uncovered the whole story. Unfortunately, the story is not simple. I apologize to James Clark for the accusation that he hijacked millennia of the cultural history of India just like he looted Cambodian artifacts.
That said, I believe I was correct about which companies were involved, but wrong about how and why.
My new research suggests a complete lack of any malicious or nefarious intent. In fact, there seems to have been no intent whatsoever. The probable reason why thousands of years of color history have been effectively erased is because someone simply unwittingly copied a list of web colors.
If you don't want to read this entire analysis, the bottom line is: indigo is blue, and we should make the web color indigo a dark shade of blue.
If this is the first time you are reading the Colorphilia Newsletter, welcome! Please consider a paid subscription to help support my research, or get a free subscription and consider giving a one-time tip. I could really use a drink.
Note: I do apologize for the technical nature of part of today's newsletter. It's a bit difficult to explain why digital colors are the way they are without explaining what they are. I have tried not to be too technical, which will probably annoy people who would say that I'm missing information.
What is a web color?
Every RGB color on the web has a hash symbol (#) followed by three pairs of hexadecimal numbers (0-9, A-F), representing the quantities of red, green, and blue. In total, you could possibly generate 256³ or 16,777,216 different colors, from black (#000000) to white (#FFFFFF). Another equivalent way to write the RGB composition of white, for example, is 255, 255, 255, which means that it is using the maximum of each red, green, and blue.
While you have millions of possiblities, this isn't necessarily very user-friendly. Why can't you just say "blue" without knowing some code or calculation? From the beginning of color on computers and the internet, people have been creating more user-friendly color-word shortcuts.
The Netscape List, Part I
Last week, I mentioned the 1984 VT240 list, the X11 list, and the HTML and CSS lists. Through my attempt to learn the history of how indigo went from being blue to its current violet hue, I've discovered the earliest version of the 140 CSS colors originally came from the xp_rgb.c file created by a Netscape employee named John Giannandrea in September 1995, which preceded the various sources I mentioned last week.
I contacted Giannadrea, who confirmed he created the file, but he was admittedly hazy on the details of its creation.
That was a very long time ago so I'm not that confident in my answer. I did author that file. I'm pretty sure it was not at all related to the SGI Indigo or SGI's history in helping found Netscape. I vaguely recall someone advocating for adding more Crayola colours to the web at that time, so it may have been given to me as a list to add to the X11 colours. Looking back I don't even recall why we limited ourselves to 140 entries in that list, it seems like an odd number.
If anything, he pushed back on the idea that the idea that they would have a branded color of any sort:
Back then, in ~1994 the majority of renditions of these colours were very imperfect. This was true not only because of 1990's RGB monitors with terrible gamut calibration but also because most graphics displays were CGA and EGA, meaning the actual color rendition depended on dithering. I recall a flap we had because one of our most important customers was MCI and they had a particular orange in their corporate logo that looked terrible when dithered with the available RGB colours. Pressed by management to include the exact MCI rgb as a choice I refused. If I recall correctly MCI changed its corporate logo to ensure it looked better on the low res web!
I spent a significant amount of time comparing the Netscape list to the X11 list, and discovered several things, which made me question Giannadrea's recollection.
As I analyzed both lists, it became apparent what happened. Someone consciously sought to incorporate the X11 list with the 16 HTML color list. In order to understand why, we have to have to understand how these lists were created.
In the Beginning
In the beginning, there were two separate lists of colors: X11 and HTML.
SUBJECTIVE X11
The first was the X11 list we saw last week. It was created to help programmers create software for computers with color monitors.
Its 1989 version included 752 colors, but after removing different spellings and numbered versions, there were ultimately only 133 unique color-names on the list. As an aside, there were more than 100 shades of gray, and 78 colors had 4 additional numbered versions.
As we saw, this list was completely subjective, and I don't mean that in a negative way. There were three different people trying to figure out what the best example of purple should be. And if you didn't like the prime example of purple, you could choose purple1, purple2, purple3, or purple4. There wasn't a correct or incorrect version of purple. It ultimately was about personal preference.
FORMULAIC HTML
The second list of colors were the RGB HTML colors, which were used to design websites. There were 16 colors on the HTML list: black, green, silver, lime, gray, olive, white, yellow, maroon, navy, red, blue, purple, teal, fuchsia, aqua.
While these may seem like very random colors, you'll see below why they are not.
Through a simple analysis of the HTML list, it is obvious that these color names were descriptive, not prescriptive. These were not the best examples of these 16 colors. For 15 out of 16 of the colors, it is obvious that a list was generated by use of a simple formula, and someone chose names to best describe each of the generated colors.
What was the formula? If each color is comprised different percentages of red, green, and blue, then let's just look at the cases where they used either none of a color (0), half of a color (128), or all of a color (255).

We start seeing the issues when we try 100% and 50% of a single color. 50% of green looks more like baseline green than 100% green which looks more like lime green. We can empathize with whoever named these colors, because it is easy to see what they were trying to do.


And it only starts to get trickier to name the colors. But remember, this purple (for example) is simply the color which uses 50% red and 50% blue.


They didn't experiment with 100% of some colors and 50% of others. That would have made things too complex. And that is it. That is how the basic HTML colors were created and named.
All the basic colors, that is, besides silver (#C0C0C0), with uses 2/3 of each color (192, 192, 192). I don't know why they felt the need to include silver. I guess they felt it was a much needed light gray.
The Netscape List, Part II
Once we know this about the X11 and HTML color lists, we can look back at the Netscape list of 140 colors I mentioned above. Spoiler alert: Apart from indigo and crimson, every other change on the Netscape color list from the X11 color list was made in order to conform better to the HTML color list.
The HTML list of colors is: black, green [changed], silver [added], lime [added], gray [changed], olive [added], white, yellow, maroon [changed], navy, red, blue, purple [changed], teal [added], fuchsia [added, identical to magenta], aqua [added, identical to cyan].
Not on X11 List
Out of the 140 colors on the Netscape list, only 8 of the color names (5.7%) do not appear on the X11 list: aqua, crimson, fuchsia, indigo, lime, olive, silver, and teal.
Different hue than X11 List
Four color names in the Netscape list are a different hue than they are in the X11 list: Green, gray, maroon, and purple.
Netscape colors with two different names
And there are two colors out of the 140 colors which are duplicates (meaning, you can use two different color names to get the same color): fuchsia & magenta, and aqua & cyan.
Intelligent Designer
Whoever originally compiled the Netscape list was consciously merging the X11 color list with the HTML color list, out of necessity. You could not have a difference between the CSS color and the HTML color. So they decided that any color on the HTML list would be the primary base color with that name.
The question is, is there a company who would have grappled with this before Netscape in September 1995? It turned out that the answer is: yes, SGI.
I had reached out to Owen Thomas, the former managing editor of Gawker Media's Valleywag, and asked him for any assistance. He suggested I contact an SGI employee from the era, John McCrea.
McCrea kindly responded to my query confirming that there was an additional connection between SGI and Netscape:
I became the product manager of Indy, the successor to Indigo, I led the WebFORCE project that included partnership with Netscape. Oh, and Marc Andreesen and team at NCSA wrote Mosaic on Indy [workstations], and Netscape used Indy for its webservers.
He then shared a link on his blog to a 15-part series in wrote in 2014 celebrating 20 years since the launch of the web. In it, he told the truly thrilling tale of how he pitched the executive team about building the first WYSIWYG (what you see is what you get) html editor, asked for a $2.5m investment to build the product in 79 days, and launched WebMagic, "the first HTML editor for non-techies", by the end of January 1995.
WebMagic would become the tool that built Pets.com, one of the darlings of the late 1990s, which was one of the biggest failures of the dot com crash in 2000.
As an aside, his business school friend who worked at Netscape who had helped SGI become an OEM licensee, went to undergraduate at Harvard University, whose school color is crimson, the only other color on the Netscape list. I'm not saying that this individual was the reason the color was added, but it is understandable that someone who studied at Harvard would want to add the color crimson to the list.
And that makes this list human.
SGI was purple.
SGI was a magical place to work, A+ players hiring A+ players, hottest company in the valley, and huge loyalty. We used to say that "we bled purple". It was our color.
My new working theory is that the SGI team had used the description of indigo to describe the violet shade somewhere, and that Giannadrea or a member of his team compiled the list based on what was available on the WebMagic software. I currently cannot prove this for certain, as the software was not open-source, and I can't find any documentation.
It would explain why McCrea and his team would have no idea that their self-promoting internal color description would be used by Netscape, then by the Microsoft team who was working on Internet Explorer, then be mentioned in a CSS1 working document, and then used by anyone who downloaded the open-source Mosaic browser in 1998.
Conclusion
There were no Crayola colors added to the Netscape list which were not in the original X11 list. And outside of two color names (Light Goldenrod and Violet Red), all other color names on the original X11 ended up on the Netscape list.
Who decided to add indigo and crimson?
I don't know. I can't know. But I do know that anyone who worked at SGI or who had studied at Harvard would have had reason to want to add those colors. And if it was only added in the WebMagic interface, they had no reason to assume that all the colors on the web would be copied from their list.
Should Indigo stay violet?
No. I would like to propose that changing the current name of indigo to "SGIndigo", in order to recognize SGI's forgotten part in the early days of the web.
That would likely be more effective in highlighting the excitement, entrepreneurship, and experimentation in the early days of the web, than keeping the status quo.
The other benefit of returning indigo to its former blue glory is that it celebrates the history and culture of the more than 1.4 billion people who currently live in India. It would give us the opportunity to highlight how wars were started and people were brutally colonized for the sake of that dye, and it would honor all those who lost their lives.
And it's more than only Indian history. It's British history with contending with the dark legacy of the East India Company. It's also America history, as indigo was originally grown as a cash crop by owners of African slaves in the American South before the cotton gin and tobacco proved to be more financially lucrative. It's the blue on the American flag. It's the blue dye that immigrant Levi Strauss used to create his brand of jeans during the Gold Rush during the 19th century.
A violet-hued indigo is not a fait accompli. Millennia should not be forgotten because a single person copied and pasted a list of colors in 1995.
We don't have to choose. We can both celebrate the very human experimentation and innovation of the early web, while remembering the world history of brought us to that point.
Technically Nerdy Addendum
Bits and Bytes
One thing to note is that there is something cool about the HTML colors. While their shorthand is in a 3 byte hexadecimal number (#000000), they are stored and transmitted in boolean, which is a series of 0s and 1s.
A major difference between designing for a computer (X11) or for the web (HTML) was that while storage was expensive, a few bytes here or there didn't really make a difference. By 1994, you were using 1.44mb disks, which could hold a lot. But at the same time, people would be using 2400 baud modems to access the internet, which would mean it would take transmit 2400 bits every second.
The current average Wikipedia article is 716 words, which is an average equivalent of 1432 bytes, or 11456 bits. That means it would take 4.77 seconds to transmit an average length over a 2400 baud modem. (Let's not calculate how long it would be to send this specific newsletter.)
A byte is 8 bits, and each hexadecimal pair, between 0-255 is stored on one byte. Take the number 27 (11011), in 8-bit binary it would have three 0's prepended like this: 00011011.

If you know that the only three numbers you may be sending are 0, 128, or 255, then you only need two bits to represent each of them. Which, I assume, is why the first HTML colors were only comprised of those three numbers, because it would potentially speed up transmissions by nanoseconds.