A few days ago, I covered the new wallpaper collections that Google published on the Chrome OS Canary channel. I bring this up because while I was writing that article, I noticed that some of the wallpapers in the Elements collection have light and dark variants. I’ll admit — I was unsure if this suggested we were getting a dark theme soon, but I knew it was coming thanks to several code changes discovered by Chrome Story. I did not expect Google also to be working on a light theme.
You might be asking yourself, “wait, I thought Chrome OS was already using a light theme?” Well, sort of. Technically, Chrome OS is already using a “light” theme, like its file manager and the settings page. But there’s also some random splashes of dark theme elements in Chrome OS, like on the system tray and the Chrome OS launcher. I think the developers at Google realize that having this inconsistent look is not the right play, so they decided to do something about it.
Last night, I discovered several commits in the Chromium Gerrit that point to a brand new light theme coming to Chrome OS. The recently merged commit talks about a light theme for the login screen and updates a few buttons to match the theme. If you dig a bit deeper into the code, you’ll reveal an interesting change in login_constants.h:
// The light mode base color of the login/lock screen when the color extracted
// from the wallpaper is invalid.
constexpr SkColor kLightModeBaseColor = SK_ColorWHITE;
For reference, SK_Color is a function computed by Skia; a graphics library used to render graphics and text on Chrome and Chrome OS. If we examine line 116 of Skia’s SK_Color’s header file, this reveals what SK_ColorWHITE is:
constexpr SkColor SK_ColorWHITE = SkColorSetARGB(0xFF, 0xFF, 0xFF, 0xFF);
The code says that when the light theme is switched on, Chrome OS will use white as its base if it can’t find a way to tint the lockscreen using a color from your wallpaper. It’s different from the current builds of Chrome OS, which specifies SK_ColorBLACK in login_constants.h instead.
Still not convinced? Another commit completely overhauls the launcher colors to adapt to the light theme, like the app drawer background, search box, suggestion bubbles underneath the search box, and expand arrow. The tablet mode shelf also adapts to the new light theme, as mentioned in this commit.
Why light theme is a big deal
It’s been two years since Microsoft unveiled a light theme for Windows, and Apple’s macOS has had a light theme since — well, forever — so it was only a matter of time before Google decided to adopt a light theme too. We don’t have any official screenshots of the light theme on Chrome OS right now, so I created a mockup that imagines what it could look like.
Mockup of a possible Chrome OS light theme — though it may not be accurate to more recent changes.
My mockup isn’t perfectly accurate, but even in broad strokes, these changes are pretty different from the way Chrome OS currently looks. Unlike the dark and muted shelf found today, the shelf and system tray take on a bright white color scheme. The black iconography and text contrast nicely with the overall light theme. (Note: I used Google’s Product Sans to match the typography found on Android’s quick settings, though it probably won’t ship in Chrome OS anytime soon.)
Some of you might look at the mockup I designed and wonder why this is a big deal, and I can’t blame you for wondering. There are many reasons why having a light theme has its benefits — like branding and accessibility — but I will focus on the usability aspects to answer this question.
The UI is more than just a coat of paint; it’s also a framework of creative ideas that try to make the interface more usable. Whether the interface is a light or a dark one, there is one pillar of usability that makes an enormous impact over any other aspect of a good interface, and that’s readability. Readability heavily depends on the level of contrast between the text and background. It’s a big reason why nearly all webpages, newspapers, and sites like Android Police use a black text on a white background (at least, by default). I’ll explain why.
The human eye — specifically the pupil — is sensitive to the amount of light in a given environment. Think of your eye as a camera aperture. When you walk outside on a sunny day, the pupil contracts and shrinks, and when you enter a dark room, the pupil dilates to let more light in. Smaller pupils mitigate spherical aberration — an optical problem where light rays end up in different spots across the optical axis, which negatively impacts clarity — and increase the depth-of-field to reduce eye fatigue. As a person ages, however, the pupil starts to shrink, which prevents an inadequate amount of light from entering it, making it difficult to read or see text in low ambient lighting. Jason Harrison, a researcher from the University of British Columbia, concluded that people with astigmatism (approximately 50% of the population) find it difficult to read white text on a black background. A dark theme has its benefits over a light theme, though, like less eye fatigue when reading for extended periods.
So how does this all tie into Chrome OS? The current “light” theme doesn’t fully take advantage of the contrast benefits I mentioned. I think Google realizes that its best approach to improving its accessibility is to add more white to Chrome OS. Some of you might not like the new light theme because it causes eye fatigue at night, so you’re probably more interested in the upcoming dark theme.
But where’s the Dark theme?
The short answer: It’s coming. The long answer is that some of the parts of Chrome OS are already using dark elements. But it’s no secret that the development of a full-on dark mode has been rough — in fact, this isn’t Google’s first attempt at it. A couple of years ago, several Chromebooks started crashing due to a bug in the dark theme’s code. Google is taking its time to ensure that disaster doesn’t happen again by slowly introducing changes to the Chromium Gerrit.
I firmly believe that the new light and dark theme will ship together, but as of now, we can only speculate when it’ll release. One thing is for sure: Chrome OS has come a very long way since it first debuted in 2011, and adding quality of life changes like light and dark theme makes me that much more excited to see Chrome OS become a mature operating system.