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.

The evidence

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:

/** Represents fully opaque white.
*/
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.

UPDATE: 2020/09/23 9:14am PDT BY KENT DUKE

Official work-in-progress screenshot of Chrome OS light theme

Kyle from 9to5Google recently activated the upcoming Chrome OS light theme on the latest build of Chrome OS Canary by interacting with a hidden dark mode toggle in the quick settings.

wip_lighttheme_9to5

Work-in-progress light theme. Source: 9to5Google

9to5Google's screenshot looks very similar to the mockup I designed several months ago. As of now, the new light theme is still very early in development, so a lot of stuff doesn't look right quite yet. According to Kyle, "Chrome OS light theme is still a work in progress. For example, the current time is fairly hard to see, as it still uses white text instead of a black or dark gray. Similarly, the launcher and app drawer do not yet respect the light theme setting."

I'll continue to keep a close eye on this. Among other things coming to Chrome OS, I'm most excited about the light theme, and I can't wait for this to eventually land in the stable channel.

UPDATE: 2020/09/25 4:07pm PDT BY KENT DUKE

Light and dark theme updates to the launcher, search bar, and more

Google just released a new build of Chrome OS Canary today, bringing the version up from 87.0.4265.0 to 87.0.4273.0. This update brings several new dark and light theme changes to Chrome OS since we last took a look. I activated the fresh new light theme with a small amount of effort by exposing a hidden dark theme toggle in the shelf quick settings. Take a look:

[imgset]

[/imgset]

We can see a dramatic difference with the new light theme launcher. Unlike the dark and muted color found on the default dark theme, the launcher is bright and contrasts nicely with the black paginated buttons, text, and search bar. Speaking of the search bar, it takes on a new translucent look instead of the old, boring solid white color (it's still opaque when you click on the search bar, though). A few other small tweaks to Chrome OS make it adapt more to the light theme, like changing the power menu from an opaque white to translucent light, a brighter lockscreen experience, and fixing a few texts.

Small changes to the existing dark (default) theme make the overall look a bit darker. Here are some screenshots:

[imgset]

[/imgset]

The most significant change you'll see with the updated dark theme is the search bar. Like the light theme, the dark theme does away with the white search bar and replaces it with a translucent, dark color. Search results are also no longer white; instead, it adopts a dark look with a color tint to match the wallpaper accent color. The power menu gets a small tweak too, which changes the color from white to dark.

Light and dark theme still has a long ways to go before it's ready to ship to Chromebooks. I'll continue to keep a close eye on this and update this post whenever there is a significant change. Among other things coming to Chrome OS, I'm most excited about the light theme, and I can't wait for this to eventually land in the stable channel.

UPDATE: 2020/11/13 8:35am PST BY KENT DUKE

Seamlessly flip between light and dark without reboot

Google has steadily updated the new light and dark system themes on Chrome OS since we last covered the changes in September. The new 88.0.4322.0 build published recently in the Canary channel brings a significant behavior change to the way Chrome OS transitions between light and dark mode. Here's a quick look:

Chrome OS switches system themes from light to dark without restarting.

As we can see, the dark mode toggle in the shelf settings seamlessly flips between system themes. Unlike before, the menu colors, Chrome windows, and various system UI elements will adapt immediately — a massive improvement over restarting Chrome OS. The implementation is unfinished as it doesn't cleanly apply everywhere right away, but it is a good start. I'm hoping Chrome OS will eventually flip system themes automatically at certain times or sunrise, similar to Android 11.

There are smaller changes to the light and dark theme since 87.0.4273.0 rolled out to Canary. For example, the Overview UI and split view border adapt to light, and unlike before, the shelf and launcher are noticeably more vibrant when the system is set to dark mode. I'm happy Google is offering neutral color mode customizations as an option to make Chrome OS less distracting, and overall, the incremental theme changes are steps in the right direction.

There's no denying we're inching closer towards a full light and dark theme for Chromebooks, and the new Chrome OS Canary is proof of it. Seamlessly switching between system themes is incredibly exciting, and I can't wait to use it when the feature becomes more polished in the future.

Source: Chromium Gerrit