Why did it take so much time to introduce dark theme on the most common platforms? And why do companies act like it was such a difficult task to realize it?

1.52K views

I mean, when they add dark theme it seems to be the biggest revolution in history, instead of saying “we are sorry it took 10 years to accomplish this pathetic color change”

In: Technology

19 Answers

Anonymous 0 Comments

You make something. You invest a lot of time in it. Learning all the how to do this before you ever get to the level of “I think I can make one better myself” It takes weeks or months, years even to perfect it. You control everything about it. It is your baby. It reflects you, your preferences, your style, your methodology. Everything is the way you feel works best for you. Decisions were made based on previous decisions, each building on the one before in order to maintain cohesion and allow the thing to function. One day you sit back and say “I wonder if this can help anyone else out there, surely there is someone that thinks like me and will see the value and purpose of this.” Finally after many years/tears you release it to the world.

It worked beautifully in your home, but in someone else’s home it is a little off. They ask if you can make it work for them too. Some one else doesn’t think exactly like you and so they don’t understand intuitively how to make it do the thing you said it is amazing at, so you tweak it, make it so out in front that it hides the cool ways it can be tweaked to be perfect for everyone. Someone else this and someone else that, but it is all so that they can use the thing you made. You do it because you find that you kinda of get a kick out of simply being able to help.

Years later, it finally works for everyone. Now the only thing left is to create a new function to change to colors of everything. It’s the only thing anyone is complaining about now because you made everything else work. Some people noticed your work fixing problems and some didn’t. Some people complained about things that were fixed 11 months ago and waSte your time making you think the problem is back, all because they were too lazy to get the new one.

But that is the past, everything is done. This color change doesn’t make your thing do different stuff, or fix anything that didn’t work which is why it took years to get here. Yeah, it could have been done sooner, but then the actual broken things would stay broken longer. But the people who couldn’t do what you did are getting loud, and you are so very tired on the complaints about color.

So you make a very big deal about this change. A whole new version, from 1.9.3 to 2.0. You want everyone to see this change…

It’s the only way to get them to be quite.

Anonymous 0 Comments

It didn’t take 10 years though. It’s such a non-essential thing that only some folks seem to strongly care about. It’s not like they had developers on it for 10 years, or even that it was on the backlog of work for 10 years. It got done presumably because they developers didn’t have much else to do or they just happened to get a wave of complaints from the niche who actually cares about it and felt like it might be worth doing.

The way you phrase it, dark mode should have been a thing from the get-go, and anybody who ever didn’t support it must have been doing so intentionally. When the reality is, it’s a trivial cosmetic thing, not essential to most software, so most developers pay no attention to it.

The reason dark mode is not enabled by default, or is not universally supported, is because it makes text harder to read for human eyes. It’s truly a cosmetic thing only

Anonymous 0 Comments

Working with the product of one of the big companies, we’ve been going at it for at least 6 months in order to enable dark mode for our app.

It starts designing the new chunk of code that would allow the rest of the system understand the theming requests in a common way since every microsystem is independent from each other. Building this backbone took about three months to get it up and running from design based on existing architecture and conversations across teams to get everybody aligned and agree on the design since not everybody thinks the same and there’s always going to be that one person that doesn’t quite like the design. Implementing it the design took about a week.

About three months up to here.

Then we needed to come up with conventions for naming different areas of UX to make it easier for everybody to understand, things like `buttonBackground` refers to the background color of a button and not the color of the login animation. This took a couple of weeks since there were way less conversations needed and the implementation was pretty simple.

About 3.5 months up to here.

Then we got to the fun part of mapping all of UX to the new conventions, this took an initial effort on the development area coming up with mappings that would sound OK and wouldn’t have conflicts. You’d need to scavenge through all of the code looking for things that our UI, this in itself can be quite a burden if the code is not well organized. This part of work was purely documentations of the proposed design since it’d need approval from the design team for such mappings, this part took some more time just because people are busy and it can take some time getting everybody to read/agree with the designs.

About 4 months up to here.

From here we’ve had to be pushing changes ok each one of our sub systems to actually used the selected naming conventions for UX theming. This required lots of different _small_ changes that needed to be reviewed by the teams that actually wrote that code initially just to make sure everything would work. This, of course, would trigger lots of questions that have already been answered but not everyone has heard about earlier regarding previous designs. Theming is now real thing to when someone else is touching the code that you wrote.

About 6 months up to here.

Up to here there hasn’t really been any visual change so far, now we need to make the places where our product renders use the backbone to tell the entire system “_I want `buttonBackground` to be `yellow`_” in case some dark mode flag is enabled by the user. And that’s after designing and implementing the UX to enable such a flag.

Fun stuff…

Edit: typo

Anonymous 0 Comments

Product owner here: dark mode costs a lot more time and effort to implement than you might expect.

So for me there was always another feature that brought more value for less effort.

(Untill it didn’t, and than you introduce dark mode)

Anonymous 0 Comments

Why is dark mode such a big deal anyways?

Anonymous 0 Comments

There were a lot of dark theme websites in the 1990’s made by regular people. They looked very amateur.

To look professional you needed to go with what all the big businesses were doing which was plain and boring.

Its just taken a long time to get out of that mindset that dark themes are low effort

Anonymous 0 Comments

TL;DR branding.

Many good answers that don’t really address one very important part (apart from ROI, complexity, etc) which is branding.

For Netflix it’s easy to design a dark app, red letters on black background. For Facebook, white letters on blue background, not so much.

If something is important for a corporation it’s branding. They have teams dedicated to this and even trademark their colors.

Anonymous 0 Comments

Imagine you built a house with just your red Legos, and now you realize you actually wanted a blue house, so you have to change each piece of Legos with the blue one instead!

Oh but then when you changed it to he blue Legos, you realize that the orange colored window doesn’t look as nice anymore, so you switch it out with the white window! And then you realize that the chimney doesn’t look as nice in green with blue, so you change it to a different color!

When you change the base color of something, it affects quite a lot of other things, so it’s a complete redesign. I’m assuming a lot of websites are still made with tons of individual files of code, so after your conceptual redesign where you’ve decided the colors, now you have to go into each of the files (Legos) to change the color slightly.

Can’t think of a Lego analogy for the toggle between light and dark theme though. Hmm.

Anonymous 0 Comments

Because it WAS difficult.

I had a guy mention to me that my design didn’t work on his dark-mode pet project. I pointed out that our branding doesn’t support dark mode, and all our art and colors will look bad that way.

He didn’t complain… because turns out when you work with professionals they understand that projects like that take months and involve coordination with quite a few people. There’s never unlimited time or money – being good at your job means understanding what to prioritize. It’s only ever armchair critics like OP who think it’s easy.

Anonymous 0 Comments

Imagine you have a white button up shirt. You need to go attend a funeral in the morning, which means you need to wear black.

You can’t afford a new shirt so you decide to paint your shirt black. Easy right? Well, let’s say you found out you had a wedding right after the funeral and needed to wear white?

You decided to be clever and paint the inside of the shirt black and make it reversable. So you have a “dark mode” and “light mode”.

You then find out the problem isn’t as simple as you thought when you notice that when your shirt is reversed, the buttons are backwards, your collar looks weird, the logo is missing, and the tag is popping out.

This is the same with software, it’s not as simple as “painting” things black. Some parts need to be redesigned in order to make them interchangeable, as well as making sure they don’t look “weird”