Dark mode in macOS Mojave shows just how much the Windows one sucks

Windows 10 has had a dark mode since the Anniversary Update was released in 2016. Apple's macOS is only just adding such a feature, but the company seems to have nailed it on the first go. The first developer preview of macOS Mojave has a dark mode that's super consistent across inbox apps, using the same shade of dark and being applied basically everywhere.

It's been two years since Windows 10 got its own dark mode, and things aren't as peachy. (macOS Mojave isn't expected to be widely released until this coming fall.)

Windows vs. Mac dark mode

Unlike the new dark mode on macOS, Windows 10's dark mode is inconsistent across all the areas that it is applied. It's also not even fully universal, with a couple of inbox apps not switching to dark mode by default or not supporting it at all. For example, switching to dark mode in the Settings app on Windows 10 will make all the inbox apps switch to it ... except for Edge. Microsoft Edge, for some reason, has its own theming switch that doesn't listen to the system option.

And in the current version of Windows 10, dark mode doesn't get applied everywhere. File Explorer is still blindingly white when dark mode is enabled, as are context menus, but only in some areas. Context menus on the taskbar are dark, but context menus on the desktop are light. This issue is being resolved with Redstone 5, coming later this year, but there are other issues with dark mode.

The consistency of the shade of dark you use is important. macOS Mojave nails this by using the same shade of darkness across all its inbox apps. It makes for a pleasing user experience more than anything else. But on Windows 10, every inbox app has its own idea of what it thinks dark mode should be. In some apps, it's OLED black. In others, it's a dark gray. Why can't inbox apps share the same shade of dark for a more consistent experience? Why do some apps need to do it differently?

Windows 10 light mode is part of the problem

The biggest issue I have with dark mode actually has nothing to do with dark mode, but rather, the light mode. Windows 10, by default, is set to light mode (see above image).

You wouldn't think this was a "light mode" would you? Well, it is. And the light mode is even worse than the dark mode when it comes to consistency. System elements such as the taskbar, Start menu, and Action Center simply ignore light mode. They're permanently dark. So, in light mode, you get a rather consistent light mode in apps, which clashes with the Windows Shell because it is dark all the time. But in dark mode, you get an inconsistent dark app experience, that matches the rest of the Windows Shell.

In a perfect world, the light mode would make all UI areas light, including the most prominent, always-on screen parts of the experience, or the Windows Shell. In this same perfect world, dark mode would be consistent across inbox apps and available in all of them rather than "most of them." Microsoft is currently working on implementing a new design language in Windows 10 called Fluent Design, which should hopefully help with the inconsistencies.

We also know that Microsoft is working on CShell, which will feature light mode in areas such as the taskbar, and Start menu. Right now, though, CShell is pretty far away from hitting desktop devices, meaning for now we're stuck with this inconsistent experience.

Some people may not care about all this, but as someone with an eye for design, this stuff really gets to me and it's one of the reasons why Windows 10 always feel unfinished. The elegance and consistency of macOS Mojave make it all the more noticeable.

Zac Bowden
  • This is a lot easier to do on macOS because Microsoft cannot chuck Legacy away and revamp things to conform. macOS is like Avid Media Composer... Apple conforms everything to the OS - even butchering functionality in the process if necessary - which makes it easier to implement things like a system-wide theming engine. Microsoft is more like Premiere Pro, which more readily lets you throw any CODEC on the timeline and work with it. This means that Windows still has a lot of Win32 Applications and .NET Applications/Components that use different toolkits for development - with UWP running on top of that. This makes it a lot more difficult, since the theming engine that the Calendar and Mail app uses is not readily usable by something like Windows Explorer (which is not something you want to mess with haphazardly, similar to Finder on macOS). Dark Mode for File Explorer is coming in the next Windows Release. Microsoft needs to start deprecating and removing (from Visual Studio) old toolkits to move developers to either UWP or WPF - that's it. If they want to use MFC or Windows Forms, they can stay on Visual Studio 2017. At some point, .NET 2.0-3.5 needs to come out of the OS and be replaced by .NET Core, and eventually .NET 4.x needs to be removed altogether. The same way Windows NT killed MS-DOS and Win16 applications. I think Microsoft is a prisoner in their own market. The Enterprise market is calling the shots, here, and that's why some things are becoming a lot harder for them to do than Apple; who can change things drastically without much "hurt" due to them largely avoiding that market. Microsoft needs a roadmap to give developers an end-game for those legacy development platforms (the 1st-party ones) and egg them on towards the two that should matter - UWP and WPF. They need to start pulling things from Visual Studio, and deprecating things. Personally, I don't care much about Dark Mode, because I find multiple dark mode windows to have bad contrast when overlaid. It's easier to look at a desktop with Light Mode and dimmed background windows, etc. and immediately see things. Dark Mode - not so much. Yes, it looks pretty in pictures, but I prefer to limit it to Applications where it is most useful. I'd have preferred if Apple had improved the Window Management in macOS - Window Snapping, better Full Screen Mode and side-by side applications, etc. Those are the areas where Windows (sic) is clearly superior. At least they aren't killing Automator? Also, I'm saddened that they haven't put a Disk Optimization tool in Disk Utility for HDD-only Macs. macOS running off a HDD degrades in performance worse than any version of Windows I've ever used. You basically have to do a wipe and restore every few months on these machines (and after every major update) to keep them performing well, or deal with awful I/O performance. This is literally 1 click on a Windows Machine. My iMac requires a ton of maintenance to maintain its performance, compared to any Windows machine I've ever used. The same machine performs flawlessly in Windows, because I can just click a button to keep the Windows Partition optimized. So I'm thinking about deleting macOS altogether and just installing Windows 10 on the iMac, Lol.
  • The reason why macOS is such a great OS, is that it gets rid of legacy items and conforms things to the OS. I remember the early days of Android, its UI inconsistencies and how every app looked different. This isn't how you build an OS, or any piece of software for that matter. It's like building a website with a separate stylesheet for each page, everything ends up inconsistent and incredibly difficult to maintain, heck Microsoft wouldn't know what DRY code meant even if it hit them in the face. macOS's window management seems to rely on the fullscreen mode, and most likely if they make any improvements to it, it will solely be for the fullscreen mode. If you do want the Windows functionality there are various applications which give you identical functionality with no downside, so this isn't too much of a worry. The I/O problem is an interesting one. I had terrible I/O issues on my HDD MacBook Pro, and my friend's HDD iMac is really slow as well. I'm not sure how much APFS changes things, but surely there is a way to solve this problem without wiping. Maybe a third-party app or terminal command? I'm more used to repairing Windows machines, there are still a few things I'm trying to work out on the Mac, like speeding up I/O for example.
  • The only way to solve this issue without wiping is to pay $99 for a Disk Optimization tool. And I'm not doing that. Not when I can install Windows, ignore macOS, and just press one button in that OS to do literally all of this automatically. Apple should have put a tool for this in Disk Utility. It's inexcusable not to have this, if you're using HDDs in your computers. The performance rot is massive This is a complete non-factor in Windows. It's 1 button click. Windows also schedules this to run once a week, automatically. It will Trim SSDs and Optimize HDDs by default (it won't let you defrag an SSD, for example). --- I doubt APFS will change things. It doesn't help that Apple used some of the worst, cheapest, 5,400 RPM drives in their machines either. I'm so regretful of getting a Mac. I could have gotten a Windows AiO with a 7,200 RPM SSHD and never had to deal with the sh*t performance this machine gives me. This is not (and was never) a machine I needed an SSD or Fusion Drive in, so I wasn't going to waste money on that. 14 seconds to launch Microsoft Word is inexcusable (iTunes, Pages, Numbers, etc. aren't any better - before we try to blame Microsoft). If I install Windows on it, in Boot Camp, the problems go away because I can press one button, walk away for 15 minutes, et viola. After a major update, I just press that button on my HDD machines, let it Optimize for 20 minutes, and get on with my life. Performance as good as new. I will look into things to see if they're a way to completely replace macOS with Windows 10 on this machine, so that I don't have to put that OS at the back of the HDD. At this point, I have no need for this OS on this machine, and being able to completely repurpose the hardware without ever having to deal with it would be FABULOUS. --- Window Management in OS X has always been sh*t. Full Screen Mode is awful, and not very intuitive. This should be a drag and drop affair, and you shouldn't have to grab hold of a specific tiny button on a window to do it. It's easier to just install Windows than to deal with all manner of 3rd party applications to bolt on basic functionality and conveniences to this OS, at this point. A Windows Home License costs the same as a decent Disk Optimization Application for macOS - $99. Operating System choice doesn't matter that much to me. I'm very fickle when it comes to these things. I got the Mac largely for convenience, because I have been using iPhones, but I'm willing to ditch the iPhone and switch to Android if it means improving my QoL on my desktop OSes... I don't even use my phone that much, to be frank. --- To your first paragraph... You're not making any sense. There are many iOS applications that look completely different and don't even resemble the apps that Apple develops. You cannot control how developers design their apps, you can only set guidelines and "reasonable" requirements. Windows has always had UI guidelines. People followed those guidelines. The issue is that Microsoft has changed the core design language, and application developers do not completely refactor or rewrite their applications to jive with that. This happened at Windows 95, XP, Vista, 7, and 10 (less drastic changes at Me and 8). Microsoft IS conforming the OS and its applications - they always have. Vista redid almost everything, for example, and then 7 saw a lot of those things redone again. The issue is not what Microsoft is doing, primarily, but the fact that Windows developers tend to ignore this. A lot of this has to do with Microsoft keeping things around too long. My point is that Microsoft could "help this along" if they'd start deprecating SDKs/APIs like Windows Forms and MFC, instead of keeping them around to please some Enterprise Developers. Android is still a hodge podge of design languages. This is how things go in an Open Ecosystem. Not everyone wants to use UWP to build their app. Some people want to use Qt, for example. The same thing happens on macOS - developers use toolkits like Qt, Xamarin or wxWidgets because they want their app to run on something other than iOS and macOS. Some applications simply want to look different, to... differentiate; and many need to look different do to how the application operates or is used... This is something many Mac Fanatics don't understand, because they've been living too long in the echo chamber where anything that "looks different" is bad by default. Even Apple's macOS applications have clashing design languages, because some applications simply need to clash to make sense.
  • macOS and Android's design languages are nowhere near as bad as Windows, take a look at this:
    https://www.askvg.com/too-much-inconsistency-in-windows-10-context-menus/ And that's just the tip of the iceberg really, there are an abundance of old icons and other elements in Windows that have been left there and never been updated or made consistent with everything else. Windows 10 still has the old control panel tucked away behind the new one, which obviously doesn't conform to dark mode or any of Windows 10's design language. "It's easier to just install Windows than to deal with all manner of 3rd party applications to bolt on basic functionality and conveniences to this OS, at this point." What are we talking about here? The window management is completely fixed through a single application which only requires running it, and then it works like Windows. What other "basic functionality and conveniences" is the OS missing? Going back to the I/O and optimising hard drives, since I hadn't used the optimise feature before on macOS, I've just realised that it's referring to defragmentation. And that's a very important thing to mention, since macOS doesn't really suffer from fragmentation due to its file system, you'll rarely ever need to defrag a Mac hard drive. As to what causes the I/O issues, it's either the RPM or another cause which I'd have to dig deeper to find out. You might doubt AFPS would change things (although I've yet to test) but AFPS is a modern file system and improves on many issues present in the old one, so a lot has changed in which case it could speed up I/O. Originally you were annoyed at the I/O speed, but now it seems you're just ranting about macOS or Macs in general. The window management is fixed by just using something like the Magnet application (which is just a one-click run and then you get the same functionality as Windows). I don't know what other problems you're having with macOS, but it seems the main problem is one I just need to find a solution for, and there has to be one since plenty of people use HDD Macs on a daily basis.
  • The new dark mode for macOS Mojave sucks in the current beta. Windows have a light white border, which looks terrible. The traditionally bad font anti-aliasing works even more bad in the dark mode - UI text looks ugly and is partially hard to read. A problem which exists since more than a decade wasn't removed too: The distinctness between active and inactive windows - it's still annoying. Yet the dark mode looks more or less like a smart color-inverter - not like specifically designed. The black is a bit too black - which causes harder contrasts. This might be good for people with handicaps - but it really tires eyes quickly (and that's the opposite from what it should do). A carefully thought dark theme like darcula for different development environments might be for some people still to close to a "light mode" - on the other side contrasts are much better balanced at such a theme than it yet was made for macOS Mojave. The good is, that it works almost for most default apps - in this point is ahead of Windows 10. On the other hand, older apps may still come with the "light mode" design. So you have also the annoyance of mixed appearance like on Windows 10.
  • "The traditionally bad font anti-aliasing" I thought this was a Windows-only problem. Font anti-aliasing on Windows looks like crap, but I've always found it fine on Mac, or at least it's fine on Retina displays with grayscale anti-aliasing. You can always try unchecking the "Use LCD font smoothing when available" option in System Preferences under General. I'm sure Dark mode has a lot more improvements to come, and the "annoyance of mixed appearance like on Windows 10" will be much rarer on macOS. Any apps using standard UI elements will be automatically updated, and many apps that don't use standard UI elements already have their own dark mode.