“This is my rifle. There are many like it, but this one is mine. My rifle is my best friend. It is my life. I must master it as I must master my life.” -The Rifleman’s Creed
Walk into a room of coders and ask what the best tools of their trade are—keyboards, text editing software, etc,—and you’re bound to start a war.
But in a world where programmers are fanatically divided, advocating fiercely for their favorite window managers and text editors, there’s one thing many engineers agree on. It’s called Solarized, and for four years, it’s reigned supreme as the color scheme of choice for many coders and the text they have to stare at all day.
Solarized was designed by aesthetic obsessive Ethan Schoonover to be a bespoke color scheme just for programmers for whom staring at black text on a white background is simply not an option. When Mr. Schoonover hunkered down for half a year to hand pick the 16 colors, he knew he was going to have a hit on his hands.
The result was one of the most meticulously developed, well-documented and beloved color palates in computer science history.
Mr. Schoonover is a true obsessive when it comes to design. He tried his hand at being a Bhuddist monk in Thailand nearly 20 years ago, but had to give it up after a great struggle with the decor of his concrete space.
“The core problem of my entire life is the struggle between minimalism and aesthetics,” Mr. Schoonover told the Observer. “One of the more jaded monks said it was probably not the life for me.”
The project began in 2010. Mr. Schoonover, who’s been a designer, coder, marketer and photographer, had just gotten back to the U.S. from a seven-year stint running a photo studio in Hong Kong. He switched to a new text editor, and arrived at the mouth of a rabbit hole where so many programmers find themselves: He was unable to find a color scheme he liked.
He immediately began work on Solarized, which took him six months of research and tweaking. He’d never seen a color scheme that exhibited any “design rigor,” so he set out to make something that would be beautiful and soothing, and would work with any programming syntax.
Certain colors presented unique challenges. Solarized’s raspberry red, for example, only appears very sparingly as a zest, and red is particularly difficult to work with for optical reasons. Because of how computers display red, and how the human eye sees it, it’s tougher to discern different shades of red than other colors.
“I spent probably three weeks looking at red,” Mr. Schoonover said, “I would get very, very focused on A/B testing different reds, just booting up [my text editor] and tweaking.”
Not everything about Solarized is a necessary choice, per se, in that any one color is objectively the “best” choice. Solarized’s base colors of blue and yellow aren’t somehow better colors than any other. Those are just Mr. Schoonover’s preferences, and the justification behind those particular choices is extremely personal.
The pale yellow taps into Mr. Schoonover’s narrow synesthesia—it’s a color he associates with pleasant sounds, shapes and pieces of music. The deep blue, when viewed at 96 percent opacity, taps into one of his long-held phobias.
Speaking of aesthetic beauty, we're currently living through the Golden Age of art in indie games—click here for the full story.
“I have a very strong, long term fear of death by drowning and this correlates to what I imagine is the green blue of deep ocean
The combination of the two, he says, is a sort of “pleasant, fearful symmetry” that reminds him of his childhood, which was partially spent living near a forest lake.
Eventually, he settled on eight hazy monotones and eight hazy background colors. The color scheme is built for “syntax highlighting”—a sort of labeling system that colors certain elements of the code—and has a light mode and a dark mode, so that you can switch between them depending on the ambient light in the room.
When he finally released the project into the wild, it reached the top percentiles of Github projects for the week.
The World is Solarized
Since 2011, no other color scheme has been able to supplant Solarized as the crowd favorite. Wherever developers go to congregate on the web and ask what the “best” color scheme might be, the answer is usually something like, “It depends on your preferences, but probably Solarized.”
It’s an astounding feat to create something so ubiquitously liked for a community often at odds with itself over any number of issues. Still, Solarized pops up everywhere, and it’s hard to find a large development house that doesn’t have its trademark pale yellows and blues on at least one of its screens. In a recent commercial for Facebook, if you look closely at the monitors, you can see their engineers working on Solarized text editors:
Solarized has been made a default settling for text editor Sublime Text, and shows up baked into certain apps as the native color scheme. It’s become almost a special cue to other members of the initiated—people have customized their keyboards with Solarized paint jobs and even created Solarized-inspired nail art.
And as Solarized has become the most popular bespoke color scheme of all time, it’s also come to publicly define Mr. Schoonover more than any of his other works—he is forever known as The Guy Who Made Solarized.
“You’re kind of doomed by your last success,” Mr. Schoonover said. “I’m happy to have that as an issue.”
The project is totally open to the public and available for free download. Mr. Schoonover receives offers for donations all of the time, but he doesn’t want to even feel as if anyone else has a stake, or can demand that he work more on the project, make changes or update Solarized.
After all, coders have, well, rather extreme thoughts about things like color schemes and text editors.
“This is close to people’s hearts,” Yale Spector, a senior developer for WeWork, told the Observer. “People take this shit real seriously.”
In the quest to maximize performance, no feature of the engineer’s workspace is unworthy of examination. In a world where “monotheism” is more the dogma of monospaced typefaces, battles over fonts like Monaco versus Inconsolata can be tense.
“It gets heated,” Aaron Brocken, a program director for HappyFunCorp’s coding academy, told the Observer. “Developers by nature are pretty opinionated, but you get into text editors, and people will be like ‘If you work with that, you’re a fucking idiot!'”
There are color schemes to fight over, but then there are the text editors themselves—BBEdit, Vim, Sublime Text, Emacs—each with their own zealots.
Oh, and it doesn’t stop at text editors.
“This is… an enormous topic,” Josh Schneier, a freelance developer from Brooklyn, told the Observer. “There are literal holy wars fought over window managers and multi-monitor displays.”
Sure, not everyone participates. There are exceptions to the rule, coders who couldn’t care less either way. But a tricked out workflow is as much a focus of obsession as it is a signal that a particular coder is wonky enough to be particular about their craft.
“Sometimes I’ll see coworkers in default black text over white,” Mr. Spector said. “I judge them, sure, but I also pity them. Like, do they even know about syntax highlighting?”
At this point, you’re probably asking yourself, “Why, why do these people care so much about the most minute details?” It’s because coders, who are also just very particular in nature, have no other tools of their trade but their computer and their mind.
“Text editors are where we live, where we spend so many hours in our day,” Mr. Spector said. “It’s so personal to us, it’s our home. When you get a house, you spend time making it comfortable, because you’re going to be there a long time.”
And, as Mr. Brocken puts it, it’s not just hot rodding—or tricking out your equipment for the sake of ostentatiousness. No, this is about building the perfect tool.
Developers may be overly opinionated, but they are also, by virtue of their work, obsessed with efficiency. For programmers who are building programs and designs right from their imagination, every additional advantage in their work environment is one less barrier between their mind and the machine.
“If I use my neighbors computer, there’s dissonance,” Mr. Spector said, “But on my own computer, there’s zero friction between my mind and my screen.”
Mr. Spector and Mr. Brocken, for example, use Vim as their text editor—their respective coworkers mostly use Sublime—because using Vim allows him to code without switching to their mice, a small change that Mr. Spector describes as giving him “super powers.”
And it accounts for the success of Solarized—ultimately, the color scheme is meant to be pleasant, easy on the eyes and, eventually, disappear completely.
Mr. Schoonover, for his part, added keyboards to the list of things coders told us were essential to their performance. To build his keyboard, Mr. Schoonover dremeled out the circuit board of the one he had and installed a new microcontroller with custom coding outsourced by other obsessives in Japan and Missouri.
“I spent several evenings on it,” Mr. Schoonover said. “It still is ‘just a keyboard,’ but now it’s also more of an extension of my mind when I am coding.”
Still, we’ve spoken to managers and CTOs who wish that their teams would stop obsessing over their terminals and just get to work. Mr. Schneier used the term “yak shaving” the describe the endless, futile nitpicking in lieu of actually being productive.
“People can get caught up with doing things the ‘right’ way,” Mr. Brocken said. “But the only right way to do something is the way that’s most productive.”
Mr. Schoonover makes no apologies for this kind of obsession, and sees no point in shaming developers from squeezing every inch of efficiency from their workspace. To him, the best coders are like Olympic athletes—sprinters for whom each minuscule increase in performance means the difference between a good developer and a truly great one.
“It may looks ridiculous to the outside observer, but it’s about eliminating that invisible barrier between you and the tool that you’re using,” Mr. Schoonover said. “It’s the carpenter making his own work bench.”