Skip to content

Latest commit

 

History

History
104 lines (67 loc) · 4.16 KB

whats-wrong-with-solarized.md

File metadata and controls

104 lines (67 loc) · 4.16 KB

How Selenized improves on Solarized

I really liked the design principles behind Solarized - it has some great features. However, it has a few problems as well, which Selenized solves:

Better accent colors

Some accent colors in Solarized are confusing or too similar to each other:

  • green is too much like yellow (looks like olive)
  • orange looks almost like red
  • magenta too close to red as well
  • violet is easy to confuse with blue

Solarized and Selenized colorwheel comparison

This is less of a problem on high-end, color-calibrated displays, but on a regular screen (like the one on my ThinkPad from a couple years ago) it can be really difficult to tell some colors apart. Selenized makes the differences clearer.

Slightly higher contrast

Ethan says on Solarized website that he had tested it in a variety of lighting conditions. However, in practice I have encountered numerous situations when Solarized readability was not satisfactory. This is confirmed by Web Content Accessibility Guidelines, which requires contrast of 4.5 for AA grade and 7.0 for AAA grade:

color/color combination Solarized Selenized dark Selenized black
main content (foreground) 4.75 - AA ✔️ 6.07 - AA ✔️ 9.05 - AAA ✔️✔️
fg on bg highlight 4.11 - 🤔* 5.04 - AA ✔️ 7.81 - AAA ✔️✔️
secondary content (comments) 2.79 - AA ❌ 3.23 - 🤔* 3.97 - 🤔*
red (darkest accent color) 3.25 - 🤔* 3.71 - 🤔* 4.79 - AA ✔️

🤔* WCAG says that contrast of 3.0 is acceptable if the font has sufficient size and weight. 3.0 is also the minimum contrast for body text required by ISO-9241-3.

Contrast in Selenized remains moderately low, but it is significantly more readable in poor lighting than Solarized.

Better lightness

Solarized dark may work well when used all by itself, but it's too dark when placed next to a window with high-contrast content:

Solarized next to black&white Wikipedia

This is even more visible when Solarized dark is used for code snippets on a website with white background:

short code sample with Solarized

Selenized dark, being slightly lighter and having more contrast, doesn't have this problem:

Selenized next to black&white Wikipedia

short code sample with Selenized

Better terminal compatibility

Solarized puts both light and dark variants in one color palette, resulting in a weird mapping of ANSI color codes to actual colors. For example, Solarized maps color code meant for bright/bold green to "base 01" (greyish shade used for comments):

color code assignment - solarized

Because of that many command line programs will produce strange or unreadable output (see examples here and here).

Selenized keeps standard meaning of terminal color codes:

color code assignment - selenized