That is correct that normally, without a lot of design debt, it would not be a lot of work. The problem in this case is that the way the Wyze app was structured initially makes this different than most of us with programming experience are used to designing it (I have also done some software design/programming). The foundation of the app created a huge design debt situation and won’t easily allow them to add layout toggles to allow someone to simply switch all of one layout to all of another back and forth depending on each user’s own preference. It was not designed effectively that way from the start is part of the problem.
This is actually not extremely uncommon for apps that weren’t initially well-structured or modular, making different parts of the app not easily separated from each other which can make it hard to change colors of the app without affecting other parts of the design… Also when there are a lot of custom colors in a large and complex app, some of them may be hard-coded or scattered color values and variables, it can end up being a nightmare if it wasn’t organized well from the start. Anyone who has software or programming experience can attest what a nightmare it can be to pick up and look at someone else’s spaghetti code if they didn’t document it well or organize it well from the start. In some cases it can even feel almost impossible. We definitely can’t say it’s simple to do this when we haven’t seen the code. I have seen code that would make this almost impossible to do without starting from scratch. Then, Wyze especially being an app that uses a lot of video and images, this is known to make things more difficult too especially with unoptimized or incompatible images, icons, and shadows, potential contrast, saturation, brightness of colors, and accessibility issues. I know the foundation of the app started with a lot of third party code, and that they have also integrated some Open source code. Some of it is likely not well documented since I’m sure they weren’t initially planning on becoming so large. From what I have read from some of the engineers, I take it that there are inconsistent or outdated UI components, styles and patterns playing into this issue. Who knows all the countless other edge cases that could be involved here that I have read about other companies struggling with in similar situations. They could be facing some or all of these challenges, or others that I didn’t even outline. All we know is that they have said they really want to do Dark Mode, and the Founders have talked to the devs, and the devs had an AMA about the issue too, but they keep explaining that the design debt has made it more complicated than most people understand and they will have to convert partial modules at a time now without an option to toggle between layouts, at least until they can refactor the codebase, update their UI components and retest the app. It’s not that they can’t convert to dark mode (they are doing so), it’s just that it takes time to work through each module.
However, the good news is that they have started transitioning parts of the app to be dark mode anyway. People who prefer light mode won’t get to use that anymore though. Wyze has already converted several products’ individual UI’s to be dark mode compliant and they just barely announced that the latest beta app has been updated to convert the Events tab to dark mode:
And they have told us that more is on the way as they take the time to convert the individual modules over to dark themes. So they are working on it little by little.
We’re certainly all anxious for more to get converted over ASAP.