We’ve all heard this riddle: if you dig down deep enough in Windows 10, you’ll find elements that date from Windows 3.x days. But is it actually true? In this article we’ll discover just how many UI layers are in Windows and when they were first introduced.
This is just painful to read. It highlights just how messy, inconsistent, and jarring Windows has become, which is a damn shame, since during the days of the ‘Classic’ theme, Windows was actually quite consistent and predictable. It’s pretty much been downhill since Microsoft introduced the Luna theme in Windows XP, and it’s clear Windows 11 isn’t fixing this issue either.
To dispel a common myth – this issue does not just affect what the various parts of Windows look like – it also affects how they act and behave. There are still scrollable areas in Windows 10 that do not register mouse wheel input, or cramped dialogs and windows that should be resizable but aren’t, all because they were designed in the era of Windows 95 or even Windows 3.x. This is simply inexcusable, and the fact a massive company like Microsoft does not seem at all interested in addressing these issues, preferring to develop yet another five new application frameworks not even Microsoft will use, shows how little they actually care.
This has been a complaint of mine since Windows 10 came out, where if you opened the control panel one way, you would essentially get the Windows 7 one. Open it another way, and you would get the new crappy one that made no sense.
Installed Windows 95 on an old Thinkpad recently. Device Manager is part of the ‘System’ icon in the control panel. Where it freaking belongs!
So true. But it gets worse. As this has evolved, and you know it started where there were things you couldn’t do with the “app” panel, but now there actually things than can only be done in the “app” panel. So it’s a huge disjoint mess.
And that’s just with regards to “one thing”. Overall, the UI is a total train wreck of inconsistencies, a mixture of “do not touch”, “lipstick on a pig” and new things that get deprecated almost as soon as they are released. With every update, you get new things, broken things and weird things. All the while maintaining complete utter randomness in design.
And don’t expect Windows 11 to fix this.
Note sure you couldn’t find much the same in any OS, whether it’s in the evolution of Windows, gnome, KDE or Mac OS.
Being a bit sneaky about how these things get classified doesn’t really mean some OS get a free pass. Whether something is at kernel level or just a system wide default app makes little difference.
True, but KDE and GNOME seem to be better about keeping the number of simultaneous variants in play down. You don’t see KDE 3, 4, and 5 components running in parallel and, from what I remember, the QML-based stuff in KDE 5 only started growing outside Plasma widgets once the KDE 4 components had all been migrated or replaced with successors.
(And, even then, they’ve been careful to make the QML stuff less radically different than Win32 and Metro or Fluent when it’s coexisting with the QWidget stuff… probably because Qt has a history of being themable and adaptable for platform portability.)
While “true”, I’d say the screw ups in design are so heavily present in Windows (which promises a totally controlled “one company” proprietary closed and therefore consistent UI) that it’s not even close. Big difference, the problems bother the Linux community and they work to resolve them. Noting, that unlike Windows, there’s freedom, which means that there will always be compromises. Zero freedom in Windows… so why is it such a mess? It should be the best designed and controlled UI on the planet. And instead, it’s the worst.
Well, used XP using the “Olive green” theme (less Fisher Pricey) tweaking it a bit to look less “fat”. Things were clear, what you can click, what you can scroll, etc. Windows 7’s UI was pretty clear too (and needed the UI elements to be tweaked a bit too). Classic is old-fashioned but do the job at a fraction of computing power (no theming, no compositing).
To give credit where credit is due, most of the “deeper” layers (that is, Windows 2000 and earlier) are UI tools for things other OSes don’t even have a UI tool for (out of the box, at least). Registry editor? Pah… just find the appropriate conf file and edit it manually. Driver installation? Just dpkg the driver manually (I had to do it for a broadcom driver in a netbook on Ubuntu). Manage services? Sure, just use systemd’s cmd utils, and that’s as user-friendly as we are going to get (if your distro doesn’t have systemd you have to manually create symlinks and edit initd files).
So, I don’t blame Microsoft for not making a complete UI overhaul for those UI elements. The fact the OS even has them is awesome. Giving them a flat-theme and leaving them alone (as Microsoft did) is the rational approach in my opinion.
Also, I personally think that Metro and UWP blend into each other rather nicely. Most people don’t notice the difference between a Modernist and International Style building, and they won’t notice the difference between Metro and UWP. If they can update the Metro stuff, fine, otherwise it’s not a major loss.
But I agree that the Windows 7-era banners and Windows XP-era icons need to go in this era of style-consious buyers. That’s just lazy and sloppy.
BTW, I wouldn’t advocate for the “modernization” of Windows Media Player, Fax and Scan and Control Panel. We have already seen the Metro/UWP replacements, and they suck. Which is the problem here. You can’t make a really complex, useful desktop apps on Metro/UWP. It’s the reason Microsoft Office is still a Windows Vista application with a flat theme. Microsoft Office was the application to show ISVs how to make a Windows desktop application, and they just can’t do it with Metro/UWP. Microsoft painted themselves in a corner with Metro/UWP, and even though their smartphone dreams are long dead, they can’t (or don’t want to) escape from it.
The only desktop apps I can think of as kind of doable on Metro and UWP are video players and emulators, and that’s because they are full-screen apps. Of course, the setting screens are always more cumbersome in the Metro/UWP variants, so it’s not really a win.
But anyway, hope springs eternal. Let’s hope Project Reunion is the major backtracking we always expected. We ‘ll find out in a week. In the meantime, don’t complain when apps remain useful by being stuck to the Windows Vista/7 era when it comes to UI layout.
There are multiple different graphical tools in both Qt and GTK for all your examples, generally shipped by default. I have no idea what you’re talking about.
Even if there is something, it’s your usual 3-button Gnome/KDE nonsense that doesn’t help you actually do it on the UI, so you eventually have to drop to command-line.
Let’s take it one-by-one:
– There is nothing similar to the Registry Editor, because there is no standard conf format in Desktop Linux (adopted OS-wide). But anyway, that’s a contentious topic, so let’s leave it.
– I had to use dpkg to install the Broadcom driver that makes the WiFi in my Acer Aspire One work. There was a driver manager tool in Ubuntu called “Additional Drivers”, but it doesn’t let you install drivers, it only manages ones that already installed or bundled. That’s the “3-button Gnome/KDE nonsense” I am talking about… It’s simply not a substitute for Device Manager which:
a) allows you to see all your devices in a nice tree structure
b) allows you to right-click on a device and search for drivers
c) in the rare case it doesn’t find a driver during its search, it allows you to load one by pointing it to a directory, from the UI
d) It also allows you to see the VID and PID in a nice right-click properties window
So, Windows has a massive UI/UX advantage here just by having that tool, even if it has a Windows 2000-era UI.
– A services manager tool that offers the functionality the Windows tool offers is something I am looking for. In most distros, you probably get a tool that manages what boots and that’s it. There is something called systemd-manager (not bundled by default and not even in the Ubuntu software store), which is a thin, mostly useless, scrapper for systemd’s CLI. Again, Windows has a massive UI/UX advantage here just by inheriting the services manager tool from the Windows NT 4.0/2000 era.
And then there are things like Intel’s GPU configuration utility (which allows you to set the RGB dynamic range on HDMI and DisplayPort), which while not part of Windows (and using its own inconsistent UI style), is part of Windows’ UI/UX arsenal. In Ubuntu I have to use xrandr.
There is a reason this order of affairs exists. Windows 9x and NT was designed to be a tool for “power-users” that built their own gaming rigs/workstations but didn’t have a clue how to use a CLI or even code, so lots of UI-driven system configuration and driver management stuff was designed during that era into Windows, and inherited into modern Windows.
to be a tool = to be an OS
– A Linux installation does not need a registry editor because… It does not have a registry? There’s gconf in GNOME, but there are several different easy to use graphical tools to manage it if you really need to.
– Why do you need dpkg? If the driver came in a .deb, it’s either in the repositories of your distribution, meaning you can use use the graphical package management tool, or you downloaded the .deb, in which case double-clicking it will launch the graphical package installer.
– There are countless graphical tools to see all the information about your hardware, similar to Device Manager. Driver installation is almost never actually needed, since unlike Windows, drivers are already part of the kernel and pre-installed. You don’t need to manually install and manage drivers like you do on Windows.
I’m sorry, but you’re talking nonsense.
Well, I had to manually and install that Broadcom driver. Even if there is a deb somewhere, there is no way the OS will automatically find it like the Device Manager does (which it does pretty well, at least for common hardware). That would require Dekstop Linux to have something similar to the Windows Update catalog (the device drivers section obv, which has a list of every driver Microsoft knows about). It’s either in the kernel, or go find it yourself.
Where? I don’t mean a tool to tell me I have a Core i5 at such and such GHz, 16GB of main memory and 3 USB roots. I need a tool that will give me a device tree.
And then give me a right-click menu that will automatically search for drivers like the Device Manager does.
I know this probably doesn’t exist, because Desktop Linux is so heavily CLI-based. This means most such tools are just a box showing CLI output. It’s the same deal as with systemd-manager. Sure, it’s something, but it’s such a thin veneer on top of systemd’s CLI tools and has so little UI functionality that’s it’s not really comparable to services.msc, where you can literally manipulate services from the GUI to the last detail using dropdowns and checkboxes and such (instead of editing a textbox).
Of course, for server stuff (EC2 instances), the fact Linux has put the bulk of the effort in the CLI is an advantage.
@kurkosdr
The problem is that “in the upstream kernel tree” is the Linux equivalent to “passed Microsoft certification for inclusion in the Windows Update catalogue”.
Microsoft just has more leverage to dictate terms to hardware vendors. (eg. Why is everything using the USB Video Class Device driver now? Because Microsoft made it a requirement for Windows Logo certification of webcams as of Windows Vista.)
As for the Device Manager driver picker UI for installing custom drivers, that would grant legitimacy to a driver API model they don’t want to support.
(i.e. Having to jump through those hoops is the Linux analogue to enabling support for unsigned drivers in 64-bit Windows.)
Nah… Microsoft doesn’t get pissy about source code licenses and whatnot in order to give their logo. Linux must the only case in IT where the underdog dictates stricter terms than the incumbent.
Anyway, the fact you do need to load drivers for common hardware like Nvidia GPUs and Broadcom WiFis to work makes your whole point moot. The fact you cannot do it from the UI is just laziness. But hey, they put a workaround just for Nvidia GPUs, so, in typical Linux fashion, they now probably think that the experience is equivalent to Windows Device Manager.
Not to mention there is no tool to see a device tree.
Windows needs to load drivers for that hardware too, and in fact, it just loads some generic, outdated drivers from WU. To get the latest, best drivers, and to unlock all the functionality, you need to know the exact model and revision of the chips in your machine, trawl through garbage OEM and/or hardware maker download sites, and install them manually like it’s 1996. How is that experience better than Linux, where all that stuff is done automatically, without user intervention?
Now you’re just straight-up lying, since this nonsense has been addressed in this thread already. Every desktop distribution, like Ubuntu, Mint, Manjaro, Fedora, OpenSUSE, whatever, comes with a tool to manage proprietary drivers, but you hardly ever need them, since the right drivers are installed during installation and kept up-to-date from there, transparantly, without user intervention, without spending days of every month to manually go through the various terrible driver update tools from NVIDIA, Intel, AMD, your motherboard manufacturer, and so on, praying shit doesn’t break.
In fact, the Linux tools even allow you to quickly and easily switch between multiple versions of, say, the NVIDIA driver, without having to use DDU, and without having to manually keep track of downloads. The driver management situation on Windows is a trash heap, and the only reason you think it’s better is because you know exactly how to find the right device IDs or which specific websites to go to to download them. No normal user should have to go through that shit, and on Linux, you don’t have to.
If by “workaround” you mean “it just works” and “requires zero knowledge”, then sure. Call me when Windows, out of the box, can keep all the drivers on your system up to date (outdated, lower-functionality drivers in WU don’t count) without having to keep track of a dozen driver update tools spamming your systray.
There are. Countless. KDE has one built-in, if I’m not mistaken.
Thom,
> Call me when Windows, out of the box, can keep all the drivers on your system up to date (outdated, lower-functionality drivers in WU don’t count)
This has gotten much better recently. The context is the Windows 10 upgrade model, which means the kernel is getting upgraded once a year. This presents a fairly stark choice:
1. Maintain perfect driver compatibility such that ancient drivers always work on new kernels. (Windows driver compatibility is decent, but this is a very high bar.)
2. Upgrade kernels, and if it means the system starts crashing, look the other way.
3. Upgrade kernels, and disable devices as needed.
4. Leave machines running an old, unserviced kernel.
5. Fix the driver upgrade problem.
Further, the reduced functionality drivers end up with a similar choice. Is it okay to “upgrade” a full featured old driver with a half functioning new one? This is another form of the above choice, but doing so is obviously problematic.
Often you’ll see a new Windows build release which is not available for large numbers of machines for months after release. What’s really happening is typically (5) above – waiting for a driver update so the upgrade can be applied to those machines without causing problems. There are examples of (1) and (3), but people are working hard to avoid (2) and (4). That’s one of the things that telemetry is monitoring for.
So yeah, I don’t have any third party driver update tools in my notification area. The constant upgrade model requires fixing this problem, so there’s a lot of motivation to do better.
Lol, for real? Linux can find non-generic drivers for my devices? Because the drivers you get in the kernel are typically significantly more “generic” than the stuff you get from Windows Update. For example, Windows Update found Dolby-enhanced drivers for my Lenovo laptop’s soundcard and also installed the relevant Control Panel item which controls the dynamic equaliser. Linux gives you generic HDA and that’s it (which is what Windows gave me before you run Windows Update).
And then there are the Intel GPU drivers. Windows Update will find them and install the control panel item with them (for adjusting RGB dynamic range and such), in Linux you get just a driver and have to use xrandr to set the RGB dynamic range.
Also, the “stripped-down” Windows Update drivers for Nvidia are at least on-par with the Nvidia proprietary Linux ones. GameReady drivers are an optional Windows exclusive that doesn’t even exist as an option in Linux.
By “workaround” I mean that Desktop Linux needs some way to load drivers for things like Broadcom WiFi drivers which do not come with the kernel. They don’t have that, so you have to manually look for some package and install it. That obviously makes the experience horrible for users with Nvidia cards, so they hacked together a workaround which involves bundling the Nvidia proprietary drivers with the system and creating a little tool to enable them called “Additional Drivers” (which is useless for loading new drivers for Broadcom WiFi, so the original problem is unsolved).
So, I stick with my original assertion: Device Manager is a UI plus for Windows, even if the design is from the Windows 2000 era.
ROTFL. A week ago I was forcibly updated to an almost 12 month old version of Windows 10 which MS finally got around to adding to their updates. When the laptop rebooted the task manger didn’t work and the laptop rebooted every few minutes. I’m now using a three year old version of Windows 10 LTSC which thankfully is stable and mostly cruft free.
This is not really UI-design related, but I agree that the “rolling-release” model of Windows 10 is bad bad bad. I mean, “rolling-release” is generally a bad idea for anything client-side (because you don’t control the environment), but rolling-release on frickin’ Windows, an OS that relegates so much stuff onto third-party drivers that are not guaranteed to be 100% compatible with the new version and where motherboard vendors something “tweak” their drivers, is a super extra bad idea. Remember how we mocked Linux people when Ubuntu updates broke their Nvidia proprietary driver? This is our life now.
At this point, if some relative comes to you with a Mac budget but wants a Windows 10 machine, ask them if they are frickin’ sure. If they don’t need things like Photoshop or other Windows/Mac-only software, or if they just need a second PC, they may be able to get away with a Chromebook. Or you can configure Ubuntu for them if you are feeling adventurous. And only as a last option, when they want something cheap that runs Windows application, go ahead and inflict Windows 10 on them.
My parents are on Windows 8.1 with Classic Shell Start Menu in case you are asking.
If Microsoft doesn’t back down from this “rolling-release” non-sense in Windows 11, when the Windows 8.1 expiration date comes about in 2023, I am moving my parents to Macs or Chromebooks, depending on the moment’s whim.
But again, this is not UI-design related.
something “tweak” their drivers = sometimes “tweak” their drivers
I do not care!
The truth of the matter is that Windows 11 will allow to run Win32s applications predating Windows 95 while good luck running anything based on GUI in Linux which is older than a few years.
Microsoft understands the value of compatibility and I won’t blame them for that. The only thing which I absolutely hate in Windows 8/10/11 is the two control panels. I’d be really glad if they restored the classic Control Panel because “PC Settings” is an abomination which has to die. I understand it was created because Microsoft hoped that Windows would become a 1st class OS for tablets but that never happened! And barely anyone uses Windows on touchscreen laptops in touch mode while the rest of us have to put up with UI 3.0: a ton of white space, horrible font antialiasing, low contrast, controls which are hard to read and understand.
Microsoft don’t have a clue about Portability->Scalability->Interface. Most developers don’t either. A small surface phone, larger tablet, and desktop are all three different environments which are all used differently for different reasons. There is nothing stopping application X from being created to run across multiple domains but the rules for each domain have general commonalities through to individual specialities. It simply does not make sense nor does it work to try and cram the entiire range of options and contraints into one “rule them all” single domain concept.
The problem with computers is it’s easy to fiddle and fiddle they do. If it’s not Windows 95 era users tinkering their PC’s into the ground it’s Microsoft tinkering Windows 10+ into the ground.
Because they thought they could use their desktop and laptop market share to get themselves into the phone and tablet market. They thought people would buy Metro apps on the desktop and that would create demand for Metro apps.
Some developers (WinZip) took the bait and released Metro versions of their apps. Users looked at the ungainly boxes and the clunky navigation (which made the worst point-and-click adventure games from the 90s look bearable), they barfed, and that was it.
Then Microsoft made the ungainly boxes a bit smaller with UWP (because phones were dead by then) and tried to sell “hybrid” laptops, which went a bit better but not by much.
But never say “die”, you can always patch in some win32 support… which is where we are now (Project Reunion).
tl;dr There is no sanity, just corporate strategy paired with copious amounts of delusion.
If you want to barf yourself, here it is:
https://www.pcworld.com/article/2033880/review-winzip-for-windows-8-is-what-youd-expect-from-a-modern-app.html
From text:
“Cons:
Adheres to the Modern UI, resulting in a confusing experience”
That’s why we love you PC World and keep reading you. Never change!
I am showing to demonstrate there is no objective need for this whole Metro/UWP thing, it’s all a strategic play by delusion.
Microsoft has a lot of great people working for them who if given free reign, I have no doubt would be able to provide users with a much more refined experience. The real issue preventing that is politics, and a disconnect between the people with decision-making power and the best way forward. There are rightfully several stops along a good ideas path-of-acceptance where it can be discarded. That’s supposed to serve as protection against bad ideas ending up in the final product. Unfortunately, people misuse and flat out abuse their positions to be self-serving and/or to prevent others from being successful. There are too many chef’s in the kitchen acting with their own agendas rather than what’s best for the product and the customers who use it.
And yes, users tinkering their pc’s to death is a problem as well. I’m sure this applies to a lot of people here but of all the countless times I’ve accommodated someone’s “can you fix my computer”, I was undoing self-inflicted damage. In some strange way it’s almost impressive how deeply into Windows some people get and doing things that seem hard to do on accident.
It really doesn’t matter, which is why it hasn’t been changed. Microsoft changes just enough such that it won’t matter to anyone to any real degree. Having odd screens that don’t scroll right that most users never see or will use is ok. These all fall into the category of “minor annoyances”. I personally can not rise to be offended by these. There is basically zero impact in my day to day workflow.
I don’t care. If that’s the price to pay for not constantly breaking compatibility, I’ll pay that. I hate non-resizable windows, but that’s pretty much it.
What I care is having an OS that doesn’t annoy me. I used countless Linux distros for almost 20 years, and I’ve been using macOS for a dozen years or so, and at the moment Windows 10 is – for me – much better than the alternatives.
If you want the biggest example of how little they care you need to look at the UI and function of Sharepoint.
%20 spaces, different valid characters in filenames, aggressive hostility towards using File Explorer to perform functions, different messages/dialogues/behaviour for different operations than normal file management, completely inconsistent dialogues for file access control, different sharing/collaboration function (eg. no sharing/collaboration for Excel files), no Autosave function (eg. Word) for Sharepoint files.
If I was responsible for that miasma I would be ashamed.
I neither expect or want UI consistancy.
Yes it is nice with a certain subset of programs.
Do I want it everywhere. No.
There is no OS that does and thats is because people like to do their own thing. This is good.
As an asside. Anyone recomend a good free OS for my server. Been using linux but I would like to move to a free open option (BSD) (also sorry linux peeps, linux does not meet my definition of free).
Carrot007 the reality is I cannot tell you what BSD will be best. The problem here is all the different BSD kernels have different hardware they support and it less than the Linux kernel.
https://www.reddit.com/r/freebsd/comments/i3yw5n/hardware_support_in_freebsd_is_not_so_bad_over_90/
This here is kind of deceptive this is based off a database
http://linux-hardware.org/
In the database only database of 308789 tested parts for Linux yet only 38926 tested for all the BSD combind parts yes each different model of hard-drive is counted individually. Yes 90% coverage sounds like a lot until you look at the base numbers. Basically the numbers say that you have about a 90% chance of freebsd working on that list of hardware in that database because what is need to support freebsd appears to be there but the catch is less than 10% will be really tested.
Next thing is if you are after a major vendor making a freebsd server that is certified to work you are basically out of luck they don’t exist. There are many parties that make Linux server hardware that is certified to work by the vendor who makes or atleast commissions the hardware to be made. Freebsd at best you end up with a party who is buying the hardware from some major vendor rebadge it and label it freebsd compadible of course this means a critical firmware update may not be able to be applied because it breaks freebsd but is fine with windows or Linux because the real maker tested with windows and linux but not freebsd. This is a bigger problem as well as a person can test X motherboard report on a forum that it working right with freebsd you go and buy X motherboard new but it has been factory setup with different firmware that is now freebsd incompatible.
Please note there is hardware that netbsd and openbsd will work on that freebsd will not as well.
The major advantage of Linux over the BSD options is the hardware support. This difference can be critical you need a new sata controller board because it died for some reason with Linux you can fairly much grab what ever of that is on the shelf put it in and it will work in over 99.9% of cases freebsd or any of the bsd you don’t have this. Result can be a lot longer server downtime and a requirement to store more spare parts to try to prevent this problem.
If you are going into bsd accepting the fact that some of the hardware you buy will not work even if it has reviews saying it does and you will need to maintain and test your own stock pile of spares it can be a decent solution. If not go in accepting this I absolutely would would not be recommending you use bsd or any other alternative OS for a server but to get over your definition of free and just use Linux because its hardware issues are bad enough where you will buy the odd item that just will not work and having to go back to the store and buy a different one that does with express post this can put you down for a few extra days. Do note the freebsd problem can be really bad that the parts you need to get your system back working can be simply not on the market at the time you need them resulting in you system been down for a month or two. The difference between Linux and freebsd hardware support is major.
TrueNAS (former FreeNAS) maybe?