Hacker News new | past | comments | ask | show | jobs | submit login
State of the Windows: How many layers of UI inconsistencies are in Windows 10? (ntdotdev.wordpress.com)
501 points by spideymans on June 19, 2021 | hide | past | favorite | 327 comments



Disclaimer: I work at Microsoft, but not on Windows (and I deal with a SaaS at MSFT). I am a FreeBSD committer and help maintain FreeBSD's GNOME packages and (very recently) the graphics drivers.

The reason why Windows is full of UI inconsistencies is (largely) because of one thing: backwards compatibility.

While backwards compatibility has it's perks, it also means having lots of old code in Windows that can't be touched very easily without breaking compatibility, And that means many old UI elements may stay, that's a side effect.

While desktop Linux/BSD isn't exactly well known for it's UIs, I found GNOME 3/40 to be more consistent UI-wise than Windows 10, being a user of GNOME 3 on FreeBSD at home (which I am typing this comment from), and helping port GNOME 40, while (unsurprisingly) using Windows 10 at $DAYJOB.

But then GNOME, KDE, Apple, et al. is more willing to break things than Windows is. They aren't as bound to legacy compatibility, so old UI elements can be shed easily.


I work on the core OS.

This is the answer. Now it could be done to maintain backwards compat and have everything completely up to date, but the juice is not worth the squeeze and there are more important things to focus on (such as making the OS work/build in such a way that there won’t be inconsistencies in the future).


Asking the obvious question: why aren't the UIs in newer Windows versions not "just" different themes over Win32 widgets? Instead the UI theme seems to be tied to UI frameworks which seem to be created and discarded annually at Microsoft, so each time some genius decides to overhaul the UI, a completely new sediment layer is created instead of letting some UI designers tinker with a theme editor.

I don't get it. Functional UI changes should be different from visual fluff, yet Windows seems to the only OS where the two aren't separated.


This was historically the case, it's why despite the article calling out winver, folder properties, the run dialog as being from the win9x -> win2k period, they didn't look remotely as out of place in win7 as win10.

Of course there are limits. iirc Windows 7 RTM had an obviously 3.1 derived file picker make it into the add fonts dialog until it was replaced in SP1 if my memory has the timing right. Despite using win32 widgets which had the correct theming, that didn't look native at all


FWIW: I consider fixes like the improved environment variable editor in the "old" system control panel in Win10 much more important than the entire new settings panel mess. The same type of improvements would make a lot more sense for the rest of the builtin UIs instead of creating entirely new "construction sites" all the time, which will be left incomplete and outdated in a few years time as the current people are replaced with new people.


There is no such thing as canonical “win32 widgets.” There have always been several different UI libraries even for win32. The original win32 styling you get with CreateWindow doesn’t support modern font rendering, high DPI, doesn’t work well with touch, is only software rendering, doesn’t support latest accessibility features, etc.

The newer stuff sits on top of DirectX.

The latest UI framework (XAML/WinUI) sits on top of a better rendering architecture (compositor) that itself wraps DirectX tech.


There's no reason why the old Win32 window and widget foundation couldn't have been lifted on top of a modern rendering architecture though, there was certainly enough time to achieve this. This would also reduce the need for creating entirely new UI frameworks every year (or even better, higher level UI frameworks could be built on top of a modernized but backward compatible Win32 widget foundation instead of doing all their own rendering directly on top of DirectX).

(TL;DR: the Windows UI mess looks to me like an organizational problem, not a technological problem. From the outside it looks like as the old guard is leaving, the new people coming in discard all the old code and instead prefer to start completely new projects, which of course is destined to fail, because the new people are repeating the same errors which had been identified and fixed decades ago).


If you listed out all the requirements a modern UI framework needs you would find that the original Win32 UI API’s are not viable. Especially if you want to support more than just C and C++.

So much code is required to do things we now take for granted that the resulting patterns became new frameworks.


The Apple APIs date back to NeXTStep at the end of the 80s, yet they managed to mostly keep them fresh.

Win32 is old and unviable because Microsoft hasn't bothered making comprehensive upgrades for it and never laid out a gap-free plan for how to move off it. They could have upgraded it more smoothly but never did.


My experience with apple has not been smooth at all, it has been one of deprecating without concern for compatibility.


> The latest UI framework (XAML/WinUI) sits on top of a better rendering architecture (compositor) that itself wraps DirectX tech.

WinUI/UWP still uses CreateWindowEx and good old WndProc for event loop message handling at the top level on Windows 10.


I guess one challenge with this is that old school Win32 doesn't really support anything resembling automatic / responsive layout. All controls are of a fixed size in a fixed pixel location. This means you can't for example change the default font, add margin or padding or do any other significant changes without essentially breaking all existing applications.


That's not quite true. Win32 apps that use CreateDialog use absolute positioning for widgets, but the "dialog units" used for that purpose are specifically defined to scale with DPI and font size (one DU is defined as "average width and height of characters in the system font").


We had layout managers in the 90s, perhaps not in the 80s.


> I guess one challenge with this is that old school Win32 doesn't really support anything resembling automatic / responsive layout.

It gives you all the building blocks to implement it yourself.

Remember that Win32 is not UI framework but OS API which allow you to build yourself one (wxWidgets, QT, SWT).


> Now it could be done to maintain backwards compat and have everything completely up to date, but the juice is not worth the squeeze and there are more important things to focus on

You state that as fact, but I believe the poor UI situation is holding windows back from gaining market share. It’s not just the way things look, but uniformly communicate a single experience. Microsoft used to be very integrated and had an entire ecosystem that was uniform. Letting this go has really hurt the brand IMHO, and creates a very low bar for third parties.


The ecosystem was never uniform. In the 95/2000 days there was a lot of 3.11 UI everywhere, in the 7/8 days a lot of XP UI. Office always had its own UI conventions, often being the playground where new ideas were tested.

It's not so much that microsoft let things go as it was taken from them. When computers became networked we needed ways of easily distributing applications across that network in secure, reliable and always up to date ways. Windows never had a good solution to that (not even today), because every install was fraught with peril, and every app had to roll its own update mechanism. Meanwhile the web was sandboxed and up to date by definition, dramatically lowering the barrier to entry for networked software. Anything that could move to the web did move to the web, which opened the door for chromebooks, which in turn fragmented the OS market, which made it uneconomical for companies to invest in a windows native codebase. Microsoft could have stopped this had they leaned hard into the concept of an app store and sandboxing around 2000, and hadn't stumbled so badly when it came to extending windows to mobile.

I'm pretty sure that modernizing the entire windows UI doesn't change a thing for windows market share. But the reason to do it is not because it makes economic sense, it is because they should have pride in the products they make, and want them to be well-made.


> I believe the poor UI situation is holding windows back from gaining market share.

I'm having a hard time believing that. While some Mac users who are used to a more integrated user experience might be deterred, I'm not sure that the os's ui esthetics really affect windows adoption. My feeling is that most people who use Windows do so because they're either (a) told to use it or (b) they choose to use it because it's the shortest path to doing what they want to do.

I'm sure Microsoft know this and understand the tradeoffs very well


I use it because it supports any bit of hardware thrown at it, with little fuss.

I tried to go all Linux many times, gave up, I just wanted something that works.


It doesn't always work. I have two machines, one that has issues with a north bridge, which initially prevented shutdown and prohibits, suspend and hibernate. And another where the Bluetooth dies until reboot on an Intel wireless card. Another machine wouldn't upgrade due to a wireless card, that took about three days of troubleshooting. My Linux boxes glitch too. I rarely have stuff that just works.


Hardware vs software issues right there.


The exception to this is older hardware. My ATI Radeons are still useful as 1080p graphics adapters under Linux, but they are totally unsupported by Windows. My laser printer is in a similar situation.


Most people use it because most people use it. It's what's compatible and widespread, and comfortable and known. It's the reason that people send docx files.


I send PDFs, but always generated from docx files. I did the Open/Libre Office thing for about 15 years and if you do a lot of work in these you’ll find that MS Office is simply superior. You can still use a mostly compatible version of odt with it. There’s just too many handy things about MSO that I’ve learned it’s worth paying for. One example is opening PDFs with Word and having it do a surprisingly good job at converting it to a Word doc. Very handy stuff.


> I'm sure Microsoft know this and understand the tradeoffs very well

Microsoft understands keeping their customers. That is why backwards compatibility is king with Ms.

Windows is not growing in adoption. It is under attack by Google (Android killed Windows on phones and Chromebooks are eating away the education market), Apple, and on the server, Linux.


Windows user from 3.1 to Win 7 here. Once I saw the MacOS experience in 2012, I never looked back. an engineer might say the juice isn't worth the squeeze, but to a consumer, and a power user, the swath of UI and UX inconsistencies is what keeps me away from Windows.


For the price of the absolute cheapest MacOS running computer (Mac Mini, with a monitor) one can get basically 2 entire Windows computers.

For the cost of the average computer running MacOS, one could buy a TV, a console, a desktop Windows computer, and a laptop. Or whatever it may be. ($1500 on an iMac could be $400 console, $500 TV, $500 computer. Or whatever your break down is. For the lower middle class and working class, trying to 'gear up' their family and make their kids happy and be happy with their home, this is real math they have to do).

While it is true that for those who are wealthy or who can justify the cost, the experience is very nice and justifiable, the cold hard facts of living in the western world is that most people would need to spend irresponsibly to use MacOS regularly.

It is what it is but it's no surprise that the cheapest mass market OS has 90% market share, and anyone who thinks that "UX" is the reason instead of cost doesn't understand the industry fundamentally.


> the cold hard facts of living in the western world is that most people would need to spend irresponsibly to use MacOS regularly.

A $900 MacBook Air would probably have lasted far longer and needed less time troubleshooting than a $500 computer made with subpar components. The amortized costs are far lower with Apple products (or other products using higher quality components) compared to buying the cheapest devices made with the lowest quality components, so there is no point in comparing the two.

And most people only need 1 computer, if that. I would actually bet most people can do everything they need to with iOS and an iPad would suffice. And other than the smaller screen size, I can see people make do with an iPhone even, especially if all you are doing is consuming.


> A $900 MacBook Air would probably have lasted far longer and needed less time troubleshooting than a $500 computer made with subpar components.

I've never seen a more-true statement on this site. Years ago, my wife was using a $500 Acer laptop, which was a cheap plastic POS, which broke after a couple of years. I bit the bullet, and bought a pre-owned Air for $900. She is still using it, 11 years later. I used to have to fix something on her Windows computer every other week. Now I hardly ever have to help her with anything.

A year later, I bought another $900, used Air for my daughter. She is still using that, 10 years later. I bought a new MBP, and gave my son my 7-year-old version. I expect him to get many more years out of it.

People who have never owned a MacBook expect that they "wear out" like a $500 laptop, but they just don't. They cost much less over the long run. It's like hiking boots. You can buy cheap ones every year, or bite the bullet, and pay 3 times more, and have a pair that lasts for 10 years.


That 11 year old Air can't run a recent OS that supports modern web browsers including security patches.


For most users who are emailing, reading some web forum, social media, and maybe office that matters very little.

Even fully up to date there is always another zero day, so for individuals doing nothing of particular importance the best bet is good up to date backups of the important files and when your software tools are working well to help you get whatever it is you do done, don’t change them, and don’t update them, because odds are there will be some regression, some feature removed, a change to a subscription model, some functionality now depends on the Internet, or some level of telemetry/spying.

Software has become hostile to users. Everything is nearly malware now. Easily snap shotted and sandboxed VMs are just about the only way to maintain some level of consistency over a 5-10 year span where you are depending on the software to just keep doing what it is doing.


But, not surprisingly, "For most users who are emailing, reading some web forum, social media, and maybe office that matters very little." don't understand or know how to do rolling backups or operate a VM, so keeping their OS up to date is the best option. Denying them that, regardless of how little they use the internet, is reckless at best.


Assuming it's 11 years old (late 2010 model), it can run up to High Sierra, which both the most recent Chrome and Firefox will support.

If it's the Mid-2009 model (the next older model), it can still run El Capitan and therefore the newest Chrome.


To be fair, every single Acer device I've ever had contact with other than my display was conspicuously unreliable, and their support/service has not been that great, either.

I have good experience with Asus laptops, though, I still have an EeePC from 2008, and it's still working fine. Slow as a snail, of course, but still working. ThinkPads, too, although they can be a bit pricey.

There's the software side, of course, macOS is much more pleasant to use than Windows. But I found after using a Mac Mini for about three years that I actually prefer GNU/Linux on my desktop.


Perhaps it would have but the Boots theory of wealth from Terry Pratchett still applies.


I don't understand how your views on cost-value are related to my views on the user interface and experience.


I don't understand how your views on the user interface and experience are related to the Microsoft engineering tradeoffs you commented on.


Really? It seems very obvious. This is a discussion of how "UX is why Microsoft is losing market share", which is what you replied to.

I'm reminding some tone-deaf wealthy users that COST is the #1 factor behind OS usage, and the rest is basically irrelevant window dressing except to the upper class.

Is what it is, but you'll struggle to find a more privledged and clueless group of commenters than here. Part of the charm, I suppose.


Cost is not the same as value. Apple hardware routinely runs better, lasts longer, and has longer software support. This is reflected in the incredible demand and higher resale values.

This actually helps makes new devices more affordable as the cost is amortized over a longer and more useful lifespan, while the secondary market serves others very well.


Incredible demand? Are you referring to their stable ~15% market share? And decades of uninspiring market performances? The company which didn't experience its meteoric success and growth until after the computer, with the smartphone?

Interesting. I figured the people here are completely ignoring maybe half of all users, but you seem to be ignoring about 85%!


Billions of people only have a (cheap Android) smartphone as their only computing device, if that. They're not buying consoles, computers and TVs.

So given your example which already excludes most people on the planet, I was replying to the fact that Apple hardware usually has a lower total-cost-of-ownership given the longevity and resale value. Of course not everyone sees it this way, nor can they afford the upfront price, but it is what it is. Anyway, the company certainly didn't get to a $2T market cap from a lack of demand.


What market share is left there to gain? Ok 17% Mac OS, maybe 5% would switch to Windows?


Strategically, worrying about the low end “worse” competitor is more worthwhile than the higher end competitor. Eg IBM were not undone by a better mainframe.

In Windows’s case the “worse” competitor is ChromeOS and Chromebook, and Microsoft’s basically thrown in the towel when it comes to native apps, so with time everyone who doesn’t need pro Photoshop or AutoCAD could just use a Chromebook.

Note that you can run Word for Android on Chromebooks full-screen already.


You forgot about PC gaming. Kid growing up with Windows is a huge advantage. I think it cannot be overstated and Mircosoft played this game well.


I know stadia is so poorly managed that it is not even a worthy competitor but the concept is sound and nVidia’s GeForce Now and Microsoft’s x cloud will eventually work well enough on Google Chrome that between that and Proton, Windows’ gaming advantage should become a little diminished over time?

I haven’t used android games on chrome os but things like candy crush should work just fine in chrome os by now?


The problem is the massive gulf between "works well enough" and "pleasant experience". Console users would still balk at the terrible performance of Stadia... let alone PC users that are used to being first class citizens in terms of experience and responsiveness.

Assuming you have a really low latency to a Google datacentre, the Stadia experience is not particularly compelling enough to ditch running the game on bare metal.

All of the above is moot though if you are not within a few ms latency of a Google datacentre though... which for most of the world is absolutely the case.


Interesting thought. Is it really stadias management to blame or are there other limits hard to overcome?


I would say that happened unintentionally, given how hard they tried for years to undermine the PC gaming market in favour of Xbox.


MS put a lot of effort in DirectX, did not loose focus with the rise of mobiles and still is ahead of all other graphics apis.


They still have good APIs, but everyone use D3D because it's has larger market share and not because it's superior. Decade ago many developers still used whole DirectX package: input handling, sound, network. Now it's mostly just D3D. It's was possible for Microsoft to grow DirectX mindshare by adding more components: physics engine, particles and effects, advanced networking or server management pathfindding and AI, VoIP, matchmaking, etc...

Instead they were focusing on Xbox and let their PC ecosystem rot. Now Nvidia, Valve, Epic and other middleware vendors consumed this market. They tried with GFWL, but it was a dumpster fire.

They now try again with Game Pass for PC, but again they just want to push Xbox ecosystem instead of Windows gaming as whole.


I doubt anyone in finance will be moving off excel anytime soon. Yeah it's on Mac, but why pay more for that.


That would be for the USA or Canada. Everywhere else, macOS is perhaps a rounding error. ChromeOS gains some traction and is probably more popular than macOS in the education market at least. Windows is still king at least in the world we consider as somewhat developed.


Maybe is not about gaining but stop losing users to MacOS and Chrome os.

And one day Google will release desktop Fuchsia.


I think this inconsistent experience is what is opening the door for competitors like Apple and Linux.


I use Apple because their OS is a Unix AND their hardware is nicely built and well integrated with the OS.

I use Linux because it’s a way to run a good Unix-like OS on non-Apple hardware.

The overwhelming majority of people who use Windows (or macOS) is because their computer came with it. As long as it mostly works, people don’t care about which OS they are using.


The overwhelming majority of people on Windows are there because Microsoft bent over backwards to give businesses what they needed so that they could beat out Apple and IBM to win the desktop wars of the 80s and 90s. If businesses had never used Windows, nobody else would have and computers wouldn't come pre-installed with it. Personally, I use all of them for different purposes.

I like Windows because it's more compatible than other OSes with any hardware that I can throw at it. It's also more stable than any other OS. My Macs have been broken multiple times throughout their life by simply upgrading to the next version of macOS, but Windows has always just kept on trucking along year after year. Another reason I love Windows is that it's got a high degree of flexibility. While Apple hides APIs and does everything they can to prevent you from doing things that they don't approve of, Microsoft does the exact opposite and publishes APIs to help you get it done. Mostly though, I just love the Windows UI and the Windows way of doing things. I find it to be very simple and obvious. The things I don't like are largely unseen, like the forced telemetry and updates.

I use my Mac when I need to build or test something for iOS or macOS. Outside of that, I just can't stand the way they do anything. I find the UI and the UX of macOS to be absolutely hideous. The fact that you have to install third party stuff just to get basic features like "decent window management" is simply beyond the pale to me.

For work, I started using a Linux desktop a few years ago because Windows was annoyingly slow when doing anything with npm/yarn/node_modules or Docker and I was doing more and more work with NodeJS and less with .NET/SQL Server/etc. So, I installed Manjaro with XFCE and that's when I found out that XFCE does a minimalist Windows style desktop better than Microsoft does. They have all the Windows features that I want, like Window snapping and none of the Windows features that I don't want. They even have a feature that I usually installed 7+ taskbar tweaker to get: They let you middle-click taskbar items to close the window (also you can drag/drop them), similar to how Chrome treats browser tabs. I've had Manjaro installed on multiple systems (desktops and laptops) for years now and I haven't seen any of the issues that people complain about here, like having to fiddle with their system to get it to work. Everything just worked for me since day one.

Now I just use Windows for entertainment - I've got a NUC style PC at every TV and I have one gaming PC.


You must not have been around for the 80s and 90s' "desktop wars." Microsoft did everything they could to undermine innovation and they didn't help businesses, they locked them into inferior technology that cost more and undermined productivity. The Microsoft you grew up with was not the Microsoft of Gates and Ballmer. Those were dark years.

That Microsoft created new APIs, runtimes, and frameworks not for technical reasons but in order to lock customers in or disadvantage competitors. That's a big reason why Windows is an unmanageable mess of inconsistent interfaces and DLLs--they were short-term tactics, not well considered approaches.


> You must not have been around...

No, you.

> they didn't help businesses, they locked them into inferior technology that cost more and undermined productivity.

In order to lock people in to something you have to have something of value to offer... so, your argument defeats itself.

> That's a big reason why Windows is an unmanageable mess of inconsistent interfaces and DLLs...blah blah blah

Pfffft. Yeah it's so unmanageable that every single IT department on earth is running Windows all day every day. Even my personal PCs are running perfectly without so much as a hiccup. What a mess!


> The overwhelming majority of people on Windows are there because Microsoft bent over backwards to give businesses what they needed so that they could beat out Apple and IBM to win the desktop wars of the 80s and 90s.

That’s one case of “it came with the computer”.

But Microsoft was really clever at giving all the functionality companies want for their corporate issue computers. In the mid-2000’s very few companies offered Macs as desktops because of that. I only have a work MacBook because it can authenticate against AD and has all the management automation required by my employer. That’s also why a Linux laptop wasn’t an option.


> That’s one case of “it came with the computer”.

No, that's the reason why it comes with the computer in the first place. You don't think that PC manufacturers just decided for everybody do you?

Microsoft won for a one reason - they have products that solve problems better than anything else.


Oh come, Linux's UI is completely inconsistent, between toolkits, desktops, distros and the like.


The only way of MAYBE having a consistent experience on linux is to only use applications written for the DE of your choice isn't it? Use firefox on KDE and the consistency is already gone.


Is that any different to Firefox on macOS? In a way Firefox's current UI design aligns with the win 10 modern stuff, but that's more luck for MS than Firefox making a big effort to fit in, since it's mostly the same everywhere


Android had a pretty consistent UI experience.


No it hasn't. Just buy a phone from let's say Samsung and install any Google app. Google app will have a different UI look and feel than rest of the system.


what? people are going to switch to linux for a more consistent UI?

UI consistency just isn't that important to most people.

See: electron applications.


> I believe the poor UI situation is holding windows back from gaining market share.

Big companies just love to jack around with Windows, and do things like prevent users from changing their desktop backgrounds (in the name of "security," of course), and Microsoft has always bent over backwards to give them the ability to do any stupid thing some corporate IT drone can think of, so they continue to be loved my companies around the globe.

There's a _fundamental_ difference in the way that Microsoft and Apple have approached making an operating system. One treats it like a layer of software in an entire stack that someone else owns and controls, and the other makes PERSONAL devices. And it shows.

And, of course, the Microsoft-slobbering trade press can't imagine a scenario where they don't try to prove that YOU should be running Windows because the numbers -- inflated by the Fortune 1000 -- says it's what "everyone" is running. Meanwhile, more than half the people I know now run NOT-Windows for their personal computing.

Let's break out the corporate purchases from sales data, and then let's talk about actual, personal market share, and whether better UI/UX would help Microsoft in a heads-up battle against macOS or ChromeOS.


I have been in the corporate environment for more than 6 year more on the administrator/ engineering side of things. Currently, I am about a year at OrgPad - a very small and quite alternative startup. Two extremes so to say. ;-)

In my experience, Windows is still the target for most specialized or business software. Most of these things also demand a Windows Server component. Typical suspects are: "Personalmanagement" timesheet software basically (accounting working hours, vacation, bonuses etc. and making sure the right receipts are printed at the end of each month and more, like when somebody leaves the company, is ill or the is "Kurzarbeit" because the union with the employer settled on this). Another suspect is software for insurance and taxes, energy management (which in a stainless steel foundry is an important piece of software and keeps at least a handful of people fully employed), logistics software (usually also with needle printers that are able to still print "Durchschlag" carbon paper https://en.wikipedia.org/wiki/Carbon_paper which is fast and handy for the drivers). There is special software for measurement and production with complex machines, ovens, mills, spectrometers, microscopes, x-ray machines etc. Oh and then there is the internally developed application, that keeps running the company and will be replaced sometime during the next 10 years with a different Windows native app if it is ever finished. And there is the MS SQL administration in addition to group policy for all the Windows computers everywhere that also is best done from a Windows computer.

People are used to Windows, older generations in middle and slightly eastern european countries (former east Germany/ DDR included) especially. There just were no Macs in any company besides maybe a top design studio in the capital or regional hub. This is a big factor. In most companies, ordering certain behaviour just doesn't work in practise.

In companies, every purchase is oriented towards "Abschreibung" or the amortisation period that is determined by "Abgabenordnung" if I am not mistaken - basically the tax. To be most efficient on paper, you have to use the device at least for the duration of the period determined by the state tax books, else you will have a bad tax audit etc. Anything that hasn't followed the rule will raise an eyebrow and somebody will have to explain otherwise you will likely pay more in taxes or whatever. I don't understand this stuff at all but I was told it works something like that and therefore you do so much accounting stuff such as inventory of basically everything that costs at least X, every piece of software, where you also get Microsoft and Oracle and other audits from time to time...

If you are not in the business of selling/ writing enterprise or specialized software in some capacity, you don't really have to care. Most things work using a web browser nowadays, even some enterprise software some companies use. Some software is just more performant or can access certain APIs that aren't available in the web browser. Also, it is very hard to support anything for 10+ years in the webbrowser. Stuff just breaks too frequently on the web, even compared to Windows 10.

In the end, people usually buy Windows, because it really is the only platform that actually works for 99,9% of things. You can spend a long time to support the CEO's Mac, because it is the CEO. Of course, most things running a web app or supporting infrastructure can be Linux or UNIX-based without an issue, but the OS on people's desks just is Windows and it will stay like that for a long time. There are few companies that have the resources to support something else on the desktop as well. I bet, these are in the software or hardware development or creative/ design/ art business and not much else.

Education is a very special market, really anything goes there. Simple things tend to win, but what simple is changes school to school. :-) There are schools that it seems don't know what to do with their money and have dedicated IT department, supporting anything Apple, Google, Adobe, AutoDesk and Microsoft is not a problem there. There are schools that cannot even equip one IT classroom and students have to share computers each with a different OS and updates barely work because the internet connection is flaky.


For the first half I thought it was sarcasm.


> creates a very low bar for third parties

The bar for third parties was always nonexistent. That was precisely the advantage of Windows which permitted the boom of development for it in the 90s–2000s.


Holding Windows back from gaining on their 90+% market share?


> It’s not just the way things look, but uniformly communicate a single experience. Microsoft used to be very integrated and had an entire ecosystem that was uniform

Their Office suite may have been internally consistent, but I did a bit of software for Windows 2000 (back when it was the latest version), and I found the UI of Windows (in general) inconsistent, scrollbars would e.g. have subtle difference between applications.

I ended up using Qt for my own work, as I couldn’t figure out what was the official / dominant style to follow.


All this, plus the fact that Win10 has become increasingly unstable for me in the last 6 months (random restarts, nasty performance problems with WSL2 etc.) that it simply isn't worth the money anymore, unless you have some apps that only run on widows (e.g. games :))


Honestly, it sounds like you have faulty HW.


It could be. I only use it on my Lenovo idea pad S540 AMD / Ryzen 5. However, the overall user experience with Win10 just doesn't click with me, compared to e.g. Ubuntu Desktop. The thing feels slow, bloated and unstable. Not to mention the tendency to always stay connected and report telemetry of many kinds (you notice this when you are on a slow / intermittent connection).


    I believe the poor UI situation is holding windows back from gaining market share.
I hope you jest. Windows has far bigger problems than the uniformity of their UI - there's the whole forced update thing, the whole "we really need to spy on literally everything you do on our OS" approach, online advertisement built and integrated with the OS (based on the spying) ... these are the major issues that they need to fixed urgently if they wish to retain their userbase. Windows has been a continuing shitshow since Windows 8 ...


I tried win 10 recently on older hardware with 2gb ram. Long story short: totally unusable. Turned on Win 8.1 on machine with 2gb ram. That was pretty usable and almost pleasant by comparison. I used to think that distro was a stinky turd. The UI in 8.1 was very inconsistent and gave me hives. 10 has changed markedly already between big updates.


The juice is absolutely worth the squeeze. Everybody and their grandmas think Windows is a mess, yet theres no real alternative for most people, so there’s no real incentive for MS to make it better (or for a start, stop making it worse with telemetry, forced restarts and adware).


From MS' point of view I doubt it is worth thr squeeze. You have to consider that the average user and their grandma make very little revenue for them. They buy a license with their computer and that's mostly it. Pro users, companies are a big part of the Windows revenue and for them, backwards-compatibilty is the biggest sales point. I agree this is super bad and confusing for many users, but the majority of them probably never go past the latest design Win10 screens.


> yet theres no real alternative for most people

I just don't buy that. Everyone I've ever persuaded to buy a Mac or iOS device comes to prefer it to Windows in a couple of weeks, and I stop needing to fix something for them every other month.


I actually did that for my parents and in-laws and it went as you said. But there’s no alternative to Windows for a lot of professionals and gamers and that’s an issue. There’s no need for Windows to be better because they own that segment. Also, as much as Windows Desktop dominance sucks, Linux just isn’t there yet and I don’t want to see the walled garden dystopia that a majority of Mac desktops would bring us.


Stating that the UI consistency issues are due to backwards compatibility is stretching the truth to the point of outright deception.

Backwards compatibility is not what stops Microsoft from updating the GUIs for their own components. It is not the reason that the components that have been updated failed to carry forward 100% of the features of the components they're replacing, necessitating the ongoing use of the legacy components. It is not the reason reams of GUIs have gone untouched for 20 years. It is not the reason Windows now has at least 4 versions(!) of Performance Monitor, all of which are broken in at least one glaring way. (More on that below.)

The believable reasons for the GUI inconsistencies I've heard are:

1) API churn, because of which the UI teams did not have sufficient time to work on features versus playing catchup.

2) Bad system GUI APIs that are very difficult for even in-house teams to work with.

3) Unwillingness to take ownership of legacy code, with literally noone left at Microsoft willing to touch things like the ODBC connections panel or the Component Services snapin. People prefer to add new things instead of fixing or removing old things because it's "easier".

Actually, let's just stop here for a second. That last point explains the performance monitor views. I mentioned at least 4 copies, written over decades, by different people. Each new team has steadfastly refused to touch (or remove!) the old code, but hasn't replaced the functionality of the old code, so now end-users need 4 different versions to get things done.

These versions are:

1) The performance tab in Task Manager. The only GUI-based view that exposes some metrics such as GPU temperatures. Only shows a small number of fixed metrics.

2) Resource Monitor, which is opened from Task Manager. The only GUI-based view that shows certain per-process metrics, such as the names of files being touched, or per-connection network stats. Has permanent UI issues that will never be fixed, such as not using the system number formatting in some places, making large metrics unreadable as they change faster than users can count the digits. Similarly, the graphs take forever to change their vertical axes, making them useless 90% of the time.

3) The Performance Monitor MMC snapin. Totally legacy, with un-resizable controls that cut off text. Nonetheless, it is absolutely essential because it provides the only live GUI view of 100% of the performance metrics available in the system. It is also the only way to record metrics and view recordings. It is the only GUI for creating metric logging that persists. Etc...

4) The various versions of Server Manager's performance views, which are so useless that I've literally never used it. Nobody can get their job done doing this, we're all still using RDP to connect to servers so that we can simultaneously launch the three tools above. Why RDP? Because 2 of the 3 above do not support remoting.

I could go on and on like this for hours about how bad just this one aspect of Windows is, let alone the hundreds of other GUIs that have been butchered by bad decision making and internal NIH syndrome leaving a trail of half-baked messes behind.

Wait... did I say 4 performance metrics GUIs? I meant 5, because there's also the new Windows Admin Center, which was clearly written by people that have never had to diagnose a performance issue on a server. It's very pretty and utterly useless, which means that: Nobody will use it, and it will be superseded by someone else's half-baked attempt in a few years, 100% guaranteed.


This may explain why Microsoft have created so many email clients and none of them 100% work.

  * Microsoft Mail
  * Windows Messaging
  * Outlook Express
  * Microsoft Outlook
  * Windows Mail
  * Windows Live Mail
  * Mail.app
There are also Microsoft Entourage for Mac OS, few different apps for mobile, and at least two web clients, Hotmail and Outlook.com. Did I miss any?


Microsoft Mail is a product from the early 90s for DOS/Classic Mac OS. Microsoft Internet Mail was a logical upgrade, then added support for newsgroups. Eventually, after the success of Outlook in the MS Office world, it rebranded to Outlook Express. You could still see echoes of Microsoft Internet Mail and News if you looked hard at Outlook Express, its executable was called msimn.exe.

Windows Live Mail and Windows Mail were essentially newer, Vista-era versions of Outlook Express. It's the same program rebranded. Mail was bundled with Vista, Live Mail was a way to push the Live branding and get the newer program into the hands of those running older versions of the OS (WinXP).

Microsoft Outlook is a different beast with a different lineage, part of MS Office, and can be thought of the "pro" version of the basic mail clients bundled with Windows.

Yes, Microsoft could probably do with some branding discipline but the technology is quite predictable.

I'm not sure what Mail.app is, I always thought that was Apple's. Entourage was IIRC a native 'designed for Apple' PIM that eventually made its way into Office for Mac, eventually they decided to rationalize and have one client -- Outlook.

Hotmail / Outlook.com - Outlook.com, again despite the confused branding, is Hotmail evolved. Over time, Microsoft slowly merged its consumer (Hotmail, Windows Live) UI with its 'pro' UI (Outlook for desktops, Exchange Web) so that these days they are all pretty similar. These days you also have Outlook's mobile apps for Android and iOS and those too have a familiar look and feel.

I don't see any of these as a bad thing. Microsoft's history is linked to the history of personal computing and the ebbs and flows of market forces that shaped the PC biz and continues to shape today's technology. Given all the churn in this space, it's actually kind of awesome how their technology has evolved -- and will continue evolving, e.g. with all the focus on a web version of Office. But yes, their sudden shifts in branding is pretty sucky and they could do a lot better there.

But "none of them 100% work" is pretty harsh. No mail client is right for every use case (except emacs, naturally -- if it doesn't work for you it's because you haven't written enough elisp yet). But these are very widely deployed products and do work for a good segment of their target market.


Nice write up.

Mail.app is what I call the new "modern" app shipped with Windows 10. Mostly garbage. Spends most of its time and your CPU to resynchronize your mails.

My experience with these programs is that the predecessor can have feature X but the successor doesn’t but has feature Y, similar what OP described.

I’m always harsh when reviewing software. No need to be gentle about things that doesn’t work well.


Why Outlook does not work?


Tried it a year ago again and if I remember correctly it has tons of options but little customization and somewhat bloated mess. I like minimalism and I don’t like cruft, things like how does the list of mails work when viewing 100+ and navigating at high speed with the keyboard and applying actions work. Most email client fails this btw.

I think also I was annoyed over how one email list item was drawn, too big, thus reduces the number I can see at one time. Can’t remember if I found anyway to customize that.

I ended my Office subscription because I didn’t really like the feeling of the applications. It feels like they have put lipstick on a pig. Yes, there is a minimal writing mode in Word, but beneath it is the same old steaming pile that seeps thru.

But I’m somewhat harsh when evaluating software so maybe I’m missing something here.


I agree that some features in Outlook feel like bloat and that it too has legacy UI.

I do however find it to be the best (on Windows; unsure about on Mac).

I would so much like Microsoft to sell it outside of "Office Pro" as I would like to use it at home too but do not otherwise need "Office Pro" at home.


>Stating that the UI consistency issues are due to backwards compatibility is stretching the truth to the point of outright deception.

I am not familiar with Windows APIs but I can see this be the truth if MS made it possible for developers to plug inside this dialogs, like a printer driver would plug soem GUI changes in the panels , changing this would break a lot of devices.


Sure, and hence the logical thing to do is to create the new GUI side-by-side with the old one. That doesn't explain the non-extensible GUIs being left behind, or why the new uplifts are so piecemeal, or why they randomly leave out critical features.


Additionally, this is all the more reason why Microsoft should think through before they release a new UI frameworks and instead of releazing and then shortly moving on to a new one. I do not really understand why this cannot be thought through to make it long-lasting without running into alleged backward compatibility issues.


>It is also the only way to record metrics and view recordings.

Does logman not working anymore? If not, hasn't it been replaced by PS APIs?


I did specify that this is related to GUI approaches, not command-line tools. Thankfully the "churn" in the CLI is much lower, but not zero. Most users are happy about the the migration from the legacy CMD-based tooling to PowerShell, but the latest crop of tools are abandoning that and reverting back. E.g.: "dotnet", "bicep", "aks", "az", etc... are all going back to the UNIX-style parameters for consistency with Linux, even though PowerShell is a demonstrably superior shell, especially on Windows.

So even there, the unnecessary and counter-productive interface churn continues to the detriment of the users.


> such as making the OS work/build in such a way that there won’t be inconsistencies in the future

I'm always very skeptical of refusal to handle the past because of the promise that the same won't reiterate in the future. What could also happen is that 5 years from now, you or another dev justifies refusal to handle inconsistencies developed "temporarily" and or accidentally in the meantime with exactly the same reasoning.

A more direct and simple observation is that if nobody is working on converging / cleaning up stuff, they don't converge and aren't cleaned up.

As for the amount of backward compat already provided by Windows, it is good but not great anyway. Try to play old games, install/use old VS with a few patches, install/old Matlab, use old devices, etc... Hell even try to continue to use your semi-recent devices across new build of windows, like 20H2 breaking USB-C on my XPS 15 9560 (but now I'm ranting so I'll stop :D )


Is this also the reason why there are no tabs in windows explorer?


I'm a TreeStyleTab user in Firefox with always >200 Tabs open. But I never got the idea of Tabs in Explorer (or Finder for that matter).

When I use multiple Explorer Views, most of the time I do it, to interact between them. This is not the case for websites.

So for drag and drop interactions, two windows always beat the drag, hover over the other tab until it catches my intend to switch to this tab, and drop it there workflow.

The same goes for copy and paste. Ctrl+c, alt+tab, ctrl+v. I'm sure there is a corresponding command to cycle through the tabs, but alt+tab is deep muscle memory, that it beats this command always.


> I'm sure there is a corresponding command to cycle through the tabs, but alt+tab is deep muscle memory, that it beats this command always.

It's ctrl+tab. And shift will reverse direction in both. It's nice and related.

And then there's MacOS, where cmd-tab doesn't cycle through windows, but through applications. Cmd-` cycles through windows of the same application. Because apparently, using multiple applications and multiple windows means you're a bad boy and need to be punished.


Weird, I never saw it as a punishment. It's actually a lot faster to get where you need to go, in my experience. Not having to filter through both application and window makes it take slightly less thought and effort than flipping through just one application's windows. Plus switching between applications is a lot easier when there are only five listed instead of five + 20 windows.

I guess it's dependent on the number of applications and windows you have going at any given time.


Generalized tabs accros even different programs is an experiment that has been attempted a few years ago in a few insider builds, but has been quickly abandoned. IMO it was too complex from a UX pov, duplicated some of the use cases of virtual desktops, etc. Maybe had they tried tabs for single applications, it would have succeeded. In this alternate universe we may not have the new Windows Terminal program though (IIRC adding tabs specifically in console.exe was prevented because they were about to start this grand inter-program tab design instead, and Windows Terminal was started after the experiment failed)


It is a power user feature which most users won't will not appreciate. I am using Mac for about 7 years now, and almost never use tabs in Finder.


Tabs are great for saving screen real estate. Finder windows are relatively small and, with large screens, the need to cram two or more folders into the same window ceases to exist. It’s easier to remember the window to the right is my docs folder and the one to the left is the downloads one.


I stopped using Windows file explorer more than a decade ago when I learned about spatial file managers.

I have been in love with - and 10x more productive using - TotalCommander!

The ability to >98% of the file related tasks from the keyboard is very addictive!!!


You have confused terminology. TC is an example of orthodox file manager. Explorer is an example of spatial file manager.


Honestly thank goodness for the backwards compatibility, otherwise I'd have to rewrite an existing legacy app I've been put in charge of maintaining at my place of work. The thing is in winforms and a weird third party UI library built with winforms as well. It would just be a nightmare for me to have to go through each screen to recreate it reliably.


They tried modernizing with Windows RT, which was actually very smooth and functional if it wasn't so locked down.


Wasn't RT just windows 8 with an ARM build target and win32 stuff removed so they could sell cheaper tablets?

So if you wanted an "unlocked" windows RT, couldn't you just have run windows 8?


>win32 stuff removed

Win32 was not removed from Windows RT, but your access to it (if your name wasn't "Microsoft"; because that low-level access was reportedly how they got Office on it) was.

And because of Secure Boot, which (unlike x86, for now) is mandated enabled for Windows on ARM systems, you had to wait for an unpatchable security hole in the booting process (which, while it exists, wasn't relevant until past the end of the Surface RT's lifecycle), you couldn't run full Windows 8 or a tablet-first Linux distro.


It's not mandated on for the newer Windows on Arm64 systems, but is configurable there.

Windows RT was just Windows 8 with a locked code signing policy, yup. And yes, Office on Windows RT was Win32, as were File Explorer, MMC, ... it's just recompiled Win8 after all.


This is exactly what unit tests are for. Besides, the business logic should be already fairly separated from the presentation logic.

As for preventing inconsistencies in future, try getting your QA team back.


Could you ever see Microsoft dropping the registry?

My probably unpopular opinion is that the registry is the worst feature in Windows. It’s bloat directly impacts the speed of the operating system.

Seems like such a waste for so many advancements in Windows but the registry sticks around like a bad hangover.


It is more on the contrary. The registry is one of the most well-thought features of Windows.

Also there is nothing like "bloat". No process needs too loop around or smth like that, so there is literally no way to have a forgotten registry item slowing down your PC.

And last but not least: What are the alternatives? .plist config files like with Apple, scattering around the system?


If I remember correctly there was an internal effort at Microsoft to scrap the registry (Longhorn?) but they decided not to, and probably because a registry is actually a good idea and necessary to get something performant (compared to ini files).

The critique against the Windows registry stems from the Windows 95 days when the registry could become corrupt and repair or reinstall was necessary. However since then the registry works like a database, it has transaction logs and simultaneous writes are atomic. Registry is also strongly typed, not a bunch of strings. Registry can easily be backed up and restored.


Probably because Longhorn tried to replace even more parts of Windows with a database-like system, and they'd have rolled the registry-equivalent into that, if it had succeeded.


> It’s bloat directly impacts the speed of the operating system.

Do you have any evidence of this? I remember in the XP days the German c't computer magazine tested populating the registry with hundreds MBs of garbage and found no performance impact at all.


How is it worse than having config files scattered around in distro-specific locations?


And how is it worse than dconf? People hated on dconf during the transition to systemd, but it is here now.

I do not really think one is better than the other.


dconf has a nice schema that you can see with the editor


As other comments point out, there is nothing wrong with the registry itself. On the other hand the editor (regedt) is terrible.


If you drop something, then you need some kind of replacement for that.

I don't see any alternative on where entire OS could be configured other than registry.


KDE and all its applications and a majority of other Linux desktop application use the configuration laid out in <https://specifications.freedesktop.org/basedir-spec/>.


I don't know if Apple deserves to be in that list, UI-wise at least.

Yes, they do break backwards compatibility in many many other ways, but you could put a technical layperson who is used to Mac OS 9 and put them on macOS 11.4 (for those unfamiliar, Apple's OS has been at 10.x for about 20 years) and they would still reasonably be able to find their way around.

One element especially (the global menu bar) is why I got my parents to switch to macOS. They had to learn where 'print' or 'edit' or 'save' was once, and now they can find it for any program, and it'll probably still be in that place in 20 years time.

Its also why I think it's sad that Gnome abandoned the global menu bar. It's an amazing concept that if stuck with makes computers so much easier to use for a large contingent of people.


Yes. There are so many things Mac got it right for parents or grand parent users. Global Menu Bar and Single Mouse Button.

But generally speaking for them it was still a hassle and hurt to use a computer. iPad with Home Button was so much easier. No support calls for years. It was the computing devices that works. But now they moved on to Smartphone meant iPad get way less usage.

Which also means some of those design decisions that make macOS easier to use might not be relevant as PC transfer to a more professional type usage rather than consumer / everyone computing devices. But even in that case I still think Global Menu Bar is a better design.


So true. Today I must explain to my mother that she needs to press a flat picture (not a button) of three horizontal bars in order to pull up a command list. The list won't be sorted by category, but by a designer or developer's perception of which commands are most used.

In the mid 90s, I could walk my 80-something-year-old grandfather through WordPerfect with ease: "File does basic file operations, like save or print. Edit is for editing, like copying and pasting."

Menu bars work because they're a great feature-discovery tool when done right--with verbs that describe the commands, and with functions grouped by category.

"Modern" UIs don't. Try to explain it: "So, the lines are called a hamburger menu, they're supposed to look like a list of commands. And you can press it, even though it's completely flat. Then you need read the list until you find the command you want."

The Mac GUI's great innovation was combining intuitive visual cues with an consistent, unintrusive, and always-on system for feature discovery (the menu bar).


I like the global bar and also its underrated, consistent command search function. I think it was probably abandoned by gnome because every application also has a top row of icons in each window now.

My perfect OS would have a global menu bar and enforce that all commands can be issued by searching and all ribbons/icon bars can be turned off.


I think global menubars are severely underrated. They act as a sort of index of any given program's functionality, complete with key shortcuts and because it's a facet of the OS itself and will be there regardless, there's no point in paring away menus for minimalism's sake.


The worst part about the new gnome not only we don't have the global menu bar, the default top bar is basically a waste of space with barely any useful content in it.


That’s why I just use Just Perfection extension & remove the top bar. Then you just run budgie-panel or xfce4-panel w/ vala appmenu for the global menu bar on Gnome. Use xfce4 if you need it on 2 or more monitors though - Budgie only supports 1.

Better than KDE imo - you keep sane defaults, simpler configs, & consistent themes.


The global menu bar is great for laptops and small screens. I'm less convinced it makes sense for big cinema displays or dual displays.


I argue that global menu bar is bad UI for big and multiple monitor era. It's fine for laptop but not for desktop. It's also not friendly to touch panel since it relies on what app is foreground.


> And that means many old UI elements may stay, that's a side effect.

They should stay on disk to be used by programs compiled 20 years ago.

They should not be used by OS components, nor visible to end user unless they run these old applications.

The OS already has multiple good ways to achieve that.

1. New programs can opt in to new stuff with a manifest. That’s how you get high DPI support in WinAPI: https://docs.microsoft.com/en-us/windows/win32/hidpi/setting...

2. New programs can call some API functions to enable new stuff. That’s how you get modern versions of Win32 common controls: https://docs.microsoft.com/en-us/windows/win32/api/commctrl/...

3. The OS has a lightweight virtualization layer for file system and registry, that’s how 32-bit apps view things differently: https://docs.microsoft.com/en-us/windows/win32/winprog64/fil... Microsoft could have used that thing not just for 32-bit apps, for backward compatibility too, i.e. old apps could use special compatibility view of the environment.

4. Finally, the kernel supports multiple user-mode environments, Win32 is just one of them. The initial good version of WSL (I still use it every day, too bad they have killed the awesome product moving to virtual machines in WSL 2) runs Linux binaries directly on top of Windows 10 kernel, the subsystem is implemented in lxss.sys and lxcore.sys. Microsoft could have embedded couple popular Windows versions, such as 7 and XP, as different subsystems used for running old apps.


I understand the backwards compatibility case for APIs, but not for OS dialogs. Is there a compatibility reason why the folder properties dialog is crufty (unresizable, etc)? I always just assumed there was no engineering appetite or business case to work on it.


Non-resizable dialogs are one of the top reasons why I cannot stand Windows and find it a huge pain to work with as a non-regular user.

Now, while I can understand the sibling's point about third-party overlays [0] which may break when the windows suddenly become resizable, what I find absolutely infuriating is that even what seem like recent features still inherit this stupid behavior.

The thing that I'm reminded of is "Windows Defender Exceptions" (or similar, don't have a Windows box at hand). Those are configured through a new, Settings App-looking window.

Now I understand this is somehow different, because even though the window vaguely looks like the Settings App (huge icons, tons and tons of whitespace), it behaves very differently.

This "exceptions" panel shows a list of the folders that is fixed, although the outer window can be resized. So if you've got a big high-res screen and maximize it, you'll get 90% of blank space and will still have to scroll around to see the contents. Bonus points for the list being so skinny that I'm only able to see "C:\Users\vlad\..." and have to click on each entry to see it in full.

I sometimes jokingly say that it shows MS has a mouse business, and having to click a thousand times for the simplest of things is by design.

---

[0] Not sure what those are. Do random third-parties "augment" system dialogs by drawing random stuff on top of them? I find that thought horrendous.


>[0] Not sure what those are. Do random third-parties "augment" system dialogs by drawing random stuff on top of them? I find that thought horrendous.

The common example would be Dell/Synaptics adding their own tabs to the old Mouse system dialog.

I think the idea was quite sensible. Keeping the configuration in one place while supporting whatever features the manufacturers might have added e.g. touch pad gestures.

The only reason it's unfortunate is that the new dialogs don't support the old extension mechanism, forcing the old dialogs to be kept around.


> I think the idea was quite sensible. Keeping the configuration in one place while supporting whatever features the manufacturers might have added e.g. touch pad gestures.

I agree, but I thought that there was some sort of extension functionality, along the lines of "this is a mouse configuration panel, register it to [something] so that it's added to the mouse settings".


If any program tweaks a dialog, say by floating a title-barless window with a new control on top of some empty space (possibly after slightly resizing the window or a control in the window to make space), you can’t resize any window control, can’t change tab order, can’t add controls, can’t change background color, etc.

Detecting whether that is being done is challenging. Typical workaround is that, if any callback is registered with a dialoog, to keep things ‘as is’.


Wow! There really are programs which plug into dialogs in this way? Well, that's a new level of compatibility hell. Thanks for the answer.


In the days before heavy security it was quite possible for programs to monkey around with other programs' UI in all sorts of way. A lot of that is still possible from an administrator or SYSTEM-privileged context. Some 15 years ago I wrote an Internet Explorer addon that added stuff to the statusbar by hooking into the IE window's message pump and intercepting winforms calls. Shit was wild.

Growing up in the 90s, I remember an article in Visual Basic Programmer's Journal teaching subclassing in VB by hooking into Notepad and adding a font picker (via a new menu entry that opens the font dialog) to change the text control's typeface. (This was long before MS added that same feature)


Yes, Windows is a kind of OOP based OS at its "kernel" (not to mix with OS kernel).

So one way to extend UI components, since its inception, is to request the Windowsclass structure of an existing control, replace its event handler function and then call the "base class" handler for the built in behavior.


Look at Autohotkey for a starter down the rabbit hole of "we don't need APIs, we have a GUI!" and the fallout of people desperately working around it.


The good old days with AHK. I remember writing the winsock wrapper library and httpquery wrapper back then, software of which i hope has been long superseeded by now.


AHK was how I started programming, good times. When I switched to Linux, this was the main thing that I missed (and I still kind of do on MacOS)


A typical scenario is saving as jpg, where you really want to provide the user the option to select compression level.

That typically is for a single program, though, and by that program. System-wide changes, for example for a product that can compress files on the fly, affect every program using open dialogs.


You say that, but that's standard operating procedure for plugins on web pages.

A node you create could be arbitrarily changed or removed.


> If any program tweaks a dialog, say ...

Yes. They should not have allowed this at all in hindsight. Well, too late. :-)


>The reason why Windows is full of UI inconsistencies is (largely)

...completely unjustifiable?

Come on, why does this mean we need 5 different sound dialogues to do 5 different things? That's ridiculous on every level. It used to all be in one place anyway, so it's not even like it needs to be spread out in the first place. Make the old dialogues inaccessible, hide them, and create a new one which does all of those jobs. Then get rid of the old, now unused ones at the first opportunity.

Is the explanation really backwards compatibility, or is it lack of organisation?


Or they could just stop screwing with it?

Every windows update makes the strips a function from the control panel and ads something not quite as good to the settings app.

After the last update the settings app even has ads for 'bing rewards points' in it. Which appear to be impossible to remove.

I need to look harder at getting one of the commercial versions of windows that only gets security updates, but no feature updates, because I've come to hate and fear upgrades.


They've made a mess, they should clean it up.

I get it, all practical evidence seems to be that they're completely incompetent and this is impossible and any attempts to clean it up will inexplicably make it worse, but the fact that's the state of affairs at a two trillion dollar company is absolutely ridiculous.


The updates/upgrades on Windows 10 were particularly bad- i was a late adopter and still ran into an unfixable black screen on startup. not good.


The reason why Windows is full of UI inconsistencies is (largely) because of one thing: backwards compatibility.

I've been a Windows user since Windows 3.11. I suggest another explanation: Microsoft has been a monopoly in desktop OSs for 40 years, and it shows.


Backwards compatibility would be the most likely explanation for why the settings panel has interfaces from the last five operating systems versions. Considering how flaky Windows settings have been historically, and how complex it must be (in part due to the 40 years of backwards compatibility) it surely wasn’t practical to completely rewrite those components.


Surely at least the old bitmap graphics could be updated without breaking backwards compatibility?


I'm also involved with Microsoft, and my view is that the culture is to move on to the next goal too soon after the next gen solutions have been developed.

So they make control panel 2.0, reach 70% coverage, launch, and never move the remaining features into the new version so they can sunset the old one.


> Disclaimer: I work at Microsoft, but not on Windows (and I deal with a SaaS at MSFT). I am a FreeBSD committer and help maintain FreeBSD's GNOME packages and (very recently) the graphics drivers.

Completely unrelated and a shot in the dark, but if you’re both a Microsoftie and a FreeBSD user/committer, the FreeBSD .NET port is stumbling/regressing somewhat and could definitely use a little help:

https://github.com/dotnet/runtime/issues/14537

(Better start at the end of that thread, rather than the start)

Anything you could do to help (if only pushing the right buttons/people internally), I’m sure would be greatly appreciated.


Why can't old code remain underneath but UI elements replaced?


UI and logic are probably not as decoupled as we’d like to think.


So decouple them. Microsoft has annual revenue of $143 billion. Their flagship product should not be a neglected mess.


Thrre are literally people with scripts that click around the UI every hour to achieve something in a factory. The motto of windows is write once, run forever. I think there is a certain beauty to that



Perhaps Microsoft doesn't own all the relevant code? Historically, there are too many win32 API users "clever" enough to exploit the coupling between UI, business logic and old assumptions that don't work anymore in modern platforms.


I don't think it's actually about backwards compatibility, because the logical solution to that would be to provide a unified dialogue with all necessary settings, and keep the old ones for BC. Instead, they've just moved some of the features from the old dialogues into new interfaces, and left others (many of which are vital), so the entire thing is fragmented. It's completely incompetent.


I don't think it'd right to consider it their flagship product anymore. At least not if we look at what makes them money.


This is part of the explanation but it's clearly not the whole explanation. The other part is why Windows has gone through half a dozen different UI toolkits while macOS is recognizably the same with some re-skins since 2001. There's no backwards compatibility to be broken if you get the UI right the first time, and there's no excuse for introducing a whole new UI model with every release. It makes the whole OS feel like a gigantic pile of technical debt, and gives the appearance that engineering simply moves on and greenfields a new UI system when the old one becomes unmaintainable.


> Apple, et al. is more willing to break things than Windows is. They aren't as bound to legacy compatibility, so old UI elements can be shed easily.

macOS has actually been pretty good at seamlessly adding new features to old apps, with just a recompile against the latest SDK, like all the NSDocument-derived stuff (auto-save, auto-recover, iCloud etc.), Dark Mode, accessibility etc.


Not to mention they pulled two complete arch changes.


Ah yes, and maintained almost seamless compatibility with the previous archs for a while.


There's some intuitive logic to this. But it's also really really hard to understand why they cannot write modern interfaces for all the backwards compatible systems. Just pretty it all up.

It's bizarre that to do some basic audio or networking configuration I have to wander through 2-3 generations of UI.


Well I thought Windows on ARM or Windows 10X was the perfect moment to get rid of those backward compatibility problem. At least there are incentive / reasons to be doing so.

And why can Microsoft goes the same route as Apple's Cocoa and Carbon?


Nope. Because the goal was to make it as seamless as possible to port software to those platforms, ideally by just recompiling with a different flag. The offerings would be DOA without dev buy-in which wouldn’t happen if there was too much friction in porting.


It's not like they haven't tried it - Windows RT and Windows 10S have largely flopped. You could say this is because of the other changes trying to put the MS store as a required middle man, but both boil down to users rejecting Windows when it doesn't run all their existing software


I like the Run dialog and the folder properties menu and others that have been untouched since the early days. Their utility has been proven and so much muscle memory has been built up. I can not possibly imagine a revision that could be done to them that would have more benefits than simply leaving them be.

All of the Fluent/Metro designs have made things markedly worse. For example, check out the Metro control panel widget for selecting a default program for a file extension. It's a list view with 5 file extensions visible at a time, with no search. That's what I think of when I hear about a Windows UI update, and I'd love to be proven wrong.


This. I would forgive the inconsistencies if the new stuff was better. But it's worse. Its not a "meh I'm used to the old and hate change" situation.

It's a "holy shit fire the UX design and product manager leads in charge of this asap". The audio tab is another good example. It's so hard to do anything with the new one, you almost have to know how to get to the old UX to make any kind of change.


I have a 1440p screen. Why do I need to scroll to do anything in the new audio properties dialog? The old one fit more functionality on screen all at once on 768p laptops


Why has there been such a push to nerf UIs? Is it just trying to ape mobile? Mobile UIs are more basic because the screen is so damn small and the use case is more casual.


Most use cases for Windows are casual. I don't want to hazard a guess but I'd say easily more than 70% of Windows users may be basic? The type to not go particularly deep into the options and explore these menus and instead leave it up to the experts or get systems configured for them

For all these people, the new UI is actually pretty good. My parents find the settings they need easily enough. Most business people I work with use Windows and rarely want to configure anything more than the wallpaper. For all these people, the "nerfed" UI is more accessible than a wall of options in the control panel. It's a shame for us power users but most people actually like these changes or at least find them usable enough


For casual users these UIs are catastrophic. Casual users just straight don't change settings - they tend to live with the most insane easily fixable problems.

Whereas for me, person who has to give phone support, every version of Windows has made important settings harder to get too, which means I can't muscle memory train casual users about what setting they need to review if the problem recurs.

The new UIs are all attempted flash over substance, and idiom breaking - buttons and interactive controls are not clearly highlighted and information density is low.


For some reason when you search for files and folders now, this menu does not return the folder path, but some strange search path


I would hate for Microsoft to kill off the original Control Panel.


This issue is way overblown here on HN.

In day-to-day usage, I have rarely been annoyed by these "inconsistencies".

The best example to illustrate this article is: Installing a driver with the Windows XP layer. That's probably something that will only happen to people installing very old hardware with drivers from over 10 years ago. I consider that a backward compatibility win: It is great that it even works in Windows 10.


> In day-to-day usage, I have rarely been annoyed by these "inconsistencies".

Don't you ever have to change sound settings? Because I have to deal with that every week, and have to dig through 3 different style of UIs and several different windows/dialogs to get to what I need.

Everything related to control panel / settings is a giant mess, and it's often really hard to find the settings you want, especially if you don't already know where it is. Some things is in the new UI, some in an old UI.

It's actually one of the main reasons why I really don't want to use Windows for my home laptop. Windows does have it strengths, and I don't mind using it at work, but I really don't want any of that bullsh*t when I get home from work.


Right click on the volume icon > Sounds - goes straight to the old XPish UI, which offers most if not all settings.


Because this exists, I've never understood why they made another one, but missing half the options


Can you explain what sound settings are you changing?


As a primary macOS user who has also done professional Windows development, I am simultaneously blown away by the quality of the development environments and tools (PowerShell! C#! .NET! Visual Studio!) available on Windows and more or less disgusted with the inconsistency in using the operating system itself. It doesn’t feel like Microsoft has had a consistent vision for how their UI is supposed to work for longer than five years at a time, if that. Sure, it’s only an annoyance, but why the hell is it a problem in the first place? I can only conclude either that they do not see it as a problem, or that they are incapable of fixing it.

I was a Windows user until 2014. Every time I think about switching back (mostly because WSL is so good) I have to think about putting up with the terrible UI.


>I can only conclude either that they do not see it as a problem, or that they are incapable of fixing it.

They really shot themselves in the foot 10 years ago when they decided to go all-in on making their desktop and server OSes a giant advertisement for their tablets.

Which nobody bought, of course. Didn't help that it took them 4 years to get up to feature parity with what you could do on iOS and Android out of the box (like support for SQLite) or that the sandboxed nature of WinRT/UWP meant that you had to jump through a bunch of extra hoops if you so much dared to save a file to the local machine.

They just haven't recovered from that, have had zero incentive to improve, and it shows (MS lost the mobile OS war just as hard as IBM lost the desktop OS war); workplaces are going to buy licenses no matter what, and home users only got the ability to pass through a subset of consumer-level nVidia GPUs (which IIRC doesn't apply to laptops, so you're still stuck there) to a Windows guest VM thanks to a recent driver hack, and that's only for technically competent users who are running Linux on hardware that isn't cutting edge (yep, it's still a problem for Linux) and who are willing to accept the associated 5% performance penalty.

No free solutions to force MS to clean up their act means they just won't, no matter how many collective years of human life is wasted clicking through 5000 different boxes now.


>and home users only got the ability to pass through a subset of consumer-level nVidia GPUs (which IIRC doesn't apply to laptops, so you're still stuck there)

That's not quite correct any longer. Nvidia now supports passthrough on all consumer GPUs that work with their current driver. This also includes laptops with Nvidia chips and they've been actively fixing bugs and compatibility problems in every driver release since then.

Before official support the Nvidia kernel driver just crashed Windows with a BSOD on my laptop. Then it suddenly worked, but I wasn't able to open the control panel and worse, the HDMI output didn't work. The driver after that fixed those problems. The only things still not working are voltage and power monitoring, although temps work.

Additionally, and I know this is a special case, performance is actually better than on bare metal. The reason is that in a VM I can inject a modded VBIOS with higher power limits and that gives me a nice 15-20% boost. I can't do that on bare metal because the VBIOS is stored in the system firmware and accessed via an ACPI method by the driver. Sadly only signed firmware can be flashed directly and even a flash programmer wouldn't help because at boot the firmware is verified and overwritten by a clean if it doesn't pass. This doesn't matter for desktop chips, but on a laptop you can actually get way more FPS if the power limits are ridiculously low by default! In my case I went from 30W or so to 75W (PCIe limit) and even though clocks stayed the same, games ran much faster. I guess it was hitting power limits and throttled, but didn't down lock because clocks only depend on voltage and available voltage level on temperature. I also ever saw power limits (via AfterBurner OSD) in furmark, but apparently it was also limited in other workloads without indicating it. With the modded VBIOS I don't even see power limits in furmark. It's either voltage or temps.


Perhaps, but the standard VFIO-style passthrough methods (if you can call anything about that "standard") is still a terrible solution; it requires more than one GPU to use both systems at once, requires navigating horrifically underdocumented driver systems that brick the system when experimented with (just like everything in Linux does, for that matter), and requires at the very least switching inputs between the host and the guest even if all of that works perfectly somehow.

Sure, there might not be any more Code 43 (which wasn't the hardest thing to bypass, but you did have to hide the fact that the VM was a VM), but Code 43 was the relative tip of the iceberg compared to all the other setup you had to do to even get there in the first place.

Passing through an nVidia GPU the way that data centers do it, where you can run several hardware-accelerated VMs on the same GPU (as well as the host, on only one set of outputs), to my knowledge still requires this hack (https://github.com/DualCoder/vgpu_unlock); this is specifically what I'm referring to and is really the only workable solution as it's the closest to "press button get seamless performance from your gaming Windows VM" as we can get right now.

I'd be delighted to now be wrong about my assessment of how difficult trying to set that nonsense up was, because then I could do it and stop worrying about how awful the Windows 11 experience is going to be (even GNOME, for all its user-hostility, still isn't stupid enough to ditch the taskbar labels for the full OS X dock; Windows 11 has so far made that shit mandatory).


In my experience the whole VFIO subsystem is quite stable and at least Nvidia hardware can be detached and attached to a different driver without any difficulty. Intel GPUs have trouble being reattached to the host because of driver issues and AMD needs workarounds because of hardware level bugs. Also, if you have a laptop, or a desktop Intel, you already have a perfectly usable GPU that the host can use included in the CPU!

It's true that setting up everything can take some time to get it working, but it depends very much on the hardware. In most cases on a desktop system all you need to do is select the right PCI device in libvirt's GUI and it should work. On laptops you need to hack together a custom OVMF UEFI firmware imagine with the VBIOS included, but there are ways to auto-generate it [1].

Input can be handled in multiple ways, which makes most sense depends on if you want to use dedicated output, or if you want to stream the output back to the host using something like Looking Glass. I just have a virtual qxl GPU in the VM which lets me use the qemu window for input and that works fine.

For audio there is scream[2], which gives me super-low latency 7.1 audio. According to pulseaudio latency is under 2ms in addition to whatever latency Windows itself has. I use a -ck kernel with MuQSS scheduler, the default scheduler won't be able to go that low.

I mean it can be tricky to set up, but if the hardware is capable it shouldn't be more than a weekend project. Once set up it's rock solid stability wise and compatibility is the same as bare metal. Caveat is some online games consider running in a VM cheating, but that doesn't affect me. It's not for everyone, but neither is Linux as a desktop OS

Overall I consider this the holy grail for those that want to primarily run Linux but don't want to give up games or deal with wine/proton issues. Actual dual booting is completely obsolete with GPU passthrough in my opinion. YMMV, depending on what you play and your exact hardware.

[1]: https://github.com/bitthief/ovmf-with-vbios-patch [2]: https://github.com/duncanthrax/scream


I concur.

Until reading this article I didn't know Fluent Design, Metro and Windows 8 Win32 were supposed to be separate design languages; I'm still not convinced, and in any case I can only see those with the sharpest of eyes noticing any differences here.

Calling out things like MMC, winver and screensaver settings as relics from Windows 95 also seems like a huge stretch to me. Even though their layout has remained the same (which is a good thing; they do their job well), their design language is quite clearly different from their Windows 95 counterparts.


Isn’t it interesting that the inconsistency arguments mostly surfaces around software configuration, like “_Settings_ app is stupid” “I still use XP style _driver installation_ screen” etc?

It makes sense why it’s not much of an issue on other GUI environments: in GNU/Linux and macOS, only what’s available on GUI is available on GUI, and the rest goes to the unified scary black screen with very task specific procedures.

Only in Windows the GUI is primary means of configuration and only Windows carry over old GUI associated with each configuration items.


It's a good point - I wonder if the actual user really sees an old-looking GUI screen as worse than an arcane terminal configuration.


At least people don’t have much issues being told syntax for sendmail. cf and apache.conf and ~/.xinitrc are completely different from one another.


an arcane terminal configuration at least opens up the possibility of 3rd party settings GUI's to "unlock the hidden potential of your operating system" for the user who wants to tinker but with the safety rails still attached.


Most of the Windows stuff can be automated via WMI.


The worst offender is network settings. After years of at least weekly needing to change some setting for a virtual adapter, VPN etc, I find myself stumbling trying to get to the right screen.


You just have to know it is called 'network connections'. So like most other GUI things: hit Start button, start typing 'network connections'. For me it pops up after typing 'net' already. Which is actually easier and more consistent than in any other Windows version (IIRC), and super accessible, and faster than hunting for things with the mouse. Now if they'd add fuzzy matching this would be wild :)

Alternative would be knowing that a lot of 'old' control panel UIs are accessible through the new one, so: go into the new settings UI to network-related stuff (Win-x, w or Win-X, n and start typing 'network') and there will be 'change adapter settings' somewhere. Or possibly you can change the setting you want from the new UI.

Which indeed shows this particular par was turned into a mess. But as the OP says: I haven't actually been bothered by it a lot myself. Likewise for some UI parts looking different: it has been like that since as long as I can remember on computers, no matter which OS or whether it's a CLI, TUI or GUI: if you use more than a couple of tools there are always going to be tools which look and/or do things in a different way. So people kinda get used to that anyway. Not that it's an excuse for doing this to an OS, but just looking at it from the practical side.


Maybe the Windows God Mode "cheat" would help. It has all Windows settings in one place. You can create a direct shortcut to any of them from there. Activate it be creating a new folder and naming it "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}".


I still can't believe this works. People criticise MacOS or linux for hiding configuration information across a thousand different files (and that ignores the whole dconf thing!), but a random hex magic folder does indeed take the biscuit.

Also -- it looks great! Why isn't that an option somewhere in Control Panels?


yep... It now have about 3 or 4 dawn places for you to configure.

The wifi and hotspots are in metro ui setting app.

Interfaces are in its own standalone app. (win7 style)

However... The firewall are in a xp style standalone app.

Can't they combine them into one app or at least make a folder that contains link to them?


I don't understand why the UI is such a big deal to people here. I can deal with UI. I'll (grudgingly) accept changes to UI that break my hard-learned muscle memory and figure out the "new way" to do things.

I just want a version of Windows that I am in control of. I don't want my machines (or my Customers' machines, for whom I am responsible to support) torpedoing themselves with shoddy updates that try to install at inappropriate times (need to shut down your laptop to put it into a bag and head home-- tough-- we're installing updates!).

I can deal with UI. I've been learning new UI my whole life. The whole "it's not your computer anymore" tack Microsoft took with Windows 10 is condescending and abusive.


Try right clicking anywhere. Almost everything has it's own fancy right click menu design for no good reason. Personally I don't find it annoying, but it's just silly that such a large company can't just stick to one design.


It's kinda hilarious/sad that MS Office essentially developed their own UI framework which, as I understand it, was unavailable even for other teams in Microsoft, so stuff like ribbons and "advanced" pop up menus got reinvented even inside Microsoft, not to mention countless times outside Microsoft.

So much of this is self-inflicted on the part of Microsoft.


Not unique to Microsoft here, there was an android police article where they identified like 10 inconsistent action bar implementations from Google apps then a follow up a year later doing the same for navigation drawers when they were the android UX elements Google were pushing most


On the one hand, yes. On the other hand, people bash Linux distros for inconsistent UIs so I get a kick out of pointing out that the shoe is on the other foot.


The article shows clearly there are multiple design languages in very common tasks. The first point is that the volume picker is different from the latest design. This is something users interact with on a daily basis.


My beef is mostly with the lack of consistency with the control panel and settings. They have "Win10"ed most of it by now, though, but for several years you had this weird, often overlapping set of UIs from Win7 and Win10.

Minor things like Win10 vs. Metro are less obvious, though.


It’s very nice that you can install and all the driver, but what does that have to do with the control panel being a chaotic mess of layers from the past 25 years?

I find this article rather informative as someone who hasn’t used windows in 10 years. Now that it’s all laid out there, I can clearly see that various layers of the control panel are using the visual style of Vista, 2000, and so forth.

I suppose Microsoft has technical reasons for not making the some of the most important user-facing parts of their flagship product consistent in terms of interface, but it’s quite a stretch to say that the consistency shown here is anything other than abysmal. No wonder my parents find this incredibly confusing.


I personally also don't have a problem.

Think however about people who are new to computers, whether adults or kids growing. They find it all confusing.


The only consistency issue that really has bothered me is the constant mauling of the control panel. Windows 95 basically got it right, and every major release they just hide things further and further. And now the competing "Settings" thing is just an embarrassment. So now we have two competing ways of configuring the system, except the new one sucks and is incomplete, and the old one is kinda unmaintained.


I agree and am actually surprised that several years in there is still a bunch of stuff that is not configurable in the new Settings screen. I am obviously speaking without extensive knowledge of the underlying internals but surely it can't be that difficult to wrap some settings in a new UI if you dedicate a team to it?

I actually spent 15 minutes the other day trying to remove an additional keyboard layout that somehow found itself on my machine. I had to give up as I could not find the option in the new Settings screen and it seemed to have disappeared (or moved?) from the usual place in the Control Panel...


I had this too. I found and fixed the setting in the registry. They seem to have arrived at an UI design that cannot correctly represent the possible states of the underlying "real" model. Their current GUI for managing installed language keyboards is unfortunate. It appears to be optimized for a perceived majority of users only needing a single layout, in a way that makes it difficult to manage multiple layouts. Somehow their UI mix the keyboard layouts together with the GUI display language. I don't quite understand, why they don't just let the user manage a simple list of installed keyboard layouts (I believe it used to work that way, and behind the scenes it probably still does?)


Yep. It seems to occasionally add keyboard layouts if your region, language, and keyboard layout are different. Not handy if you live abroad. The new UI assumes it's more clever than the user.


It super frustrating to have to go on a treasure hunt just to find some options there.

To this day, every time I need to uninstall an application I still do: win+R -> control appwiz.cpl -> enter and it brings me to the place I want to be.


The SaaS version of exchange has the same problem, and the support people start by having you switch to the old menu because they don't know where everything has been moved in the new one.


The settings app completely mauls things as well, turning off static DNS will just completely remove _all_ DNS servers instead of using dhcp like adapter settings


I rarely use Windows but this is indeed ridiculous. I find myself guessing which button or link is hiding the dialogue that I really want. In almost all cases I just want the one from Windows 95, like display settings, but end up opening the wrong ones and seemingly going in circles before I finally crack the code.


I mostly agree, but if you use US English GUI locale there’s a shortcut — both new settings, and old control panel, have built-in search.

Very often I don’t bother opening either of them, instead using start menu search. For instance, to open the old “network and sharing center” GUI I press Win key, type “netw”, and press enter.


TBH I don't really see how the Settings app is an embarrassment at this point in time. This was definitely true in Windows 8 and early Windows 10 versions, but with the leaps and bounds it's made since, I feel like 'settings app suxx' is a meme that has overstayed its welcome.


I do not have much to do with windows these days, but if you try to cange advanced network interface settings or audio settings beyond selecting a single input, you stil need to find the link to the old panel hidden somewhere. Also, good luck changing WiFi settings from the fluid menu.

And lastly, while it always stays responsive, control of the background processes is also lacking. I spent quite some time restarting the download of a system language, just because I started it while having DNS issues (and to fix those... see above).

I personally don't mind the older designs being mixed in, especially since most of them look good enough with the updated buttons, but the settings panel is, in its current state, still a sidegrade at best.


I don't sit around configuring my machine so I can't really say if it's gotten better, but I know the past 5 years have taught me too look anywhere but there. There's never been a good reason to have two different overlapping configuration apps.


I've used it fairly recently and it still has only the absolutely most common settings you'd want to change. 90% of the settings are still in the control panel.

It will continue to suck until they've actually moved all the settings from the control panel into settings.


I've been primarily a linux user for some time, so I've gotten pretty desensitized to various applications looking vastly different on the same system. But in the last several years that's mostly gone away - Gnome knows how to change the theme for QT apps and KDE can configure GTK themes so things are actually remarkably uniform.

But then when I fire up Windows, it is just this bizarre mix of all these different UI frameworks. I guess Windows isn't the big cash cow it once was for Microsoft and maybe it's not the highest development priority anymore, but still it's remarkably off-putting and I have no idea why they would let it stay in this state.

I read they were introducing a new UI framework to unify everything (Project Reunion), but I can't help but think that will mean it's just another different-looking toolkit thrown into the mix.

With all that said, Microsoft's commitment to backwards compatibility is fairly legendary so there could be an actual technical reason some things can't be redesigned with a newer toolkit.


As far as I know Project Reunion is not really a UI framework - it's more about refactoring Windows APIs into individual libraries which can be used across different OS versions. This should enable apps targeting all versions of Windows 10 to use the latest stuff, in a similar fashion to polyfills in browsers.

This is probably to encourage developers to build software using the new Windows 10 APIs. Which is something they definitely have a problem with - I've been using Windows 10 quite heavily since the first beta and I don't think I've ever seen or used a third party Windows 10 (fluent / modern / metro) application.


It is a bit more than that, and I bet with Windows 11 announcement we will get a more clear picture on it.

It is also a way to bring into Win32 side most of the API that really matter on the UWP side of the fence, most likely (although they are yet to confirm this) as migration path to UWP developers.

.NET Native, C++/CX are pretty much dead, and C++/WinRT keeps missing many of the tooling available on C++/CX for XAML applications.

So I expect them to migrate the APIs into an OS version independent layer, and then give the mercy shot on UWP apps.


I honestly don't envy Microsoft. On one hand, you have the people who don't want Microsoft to break backwards compatibility. They want Microsoft to retain the ability to run programs written a quarter of a century[1] ago. This is why all this legacy stuff sticks around in Windows. Then, you have those who want Microsoft to radically reinvent Windows, either by embracing WinUI 3 fully (what most people mean when they say UWP) or through something even newer. Windows 10X was a sort of middle ground: a OS that pushed all the old cruft into isolated containers. Sadly it looks like that approach isn't going anywhere (unless we see it come back in Windows 11). Project Reunion is a nice attempt to give developers an incremental upgrade path to modern Windows, so I'm hopeful that within the lifecycle of Windows 11 we'll start to see Microsoft develop a reasonable separation between modern and classic Windows apps.

[1] Edit: quarter of a century, not quarter of a decade.


> They want Microsoft to retain the ability to run programs written a quarter of a decade ago.

Enterprises expect to run programs developed a quarter century ago... if a quarter decade was all that was required, MS could have abandoned a lot more cruft.


Blergh, was trying to decide between "two decades" and "quarter of a century" and my brain went with both!


2.5 years?! Who wants stability that short?


...android security/version updates??

yes, I understand - bring on the downvotes


> retain the ability to run programs written a quarter of a decade ago

I think I've seen computers with more uninterrupted uptime than that, even if servers. Or at least approaching this figure.

Perhaps you meant ‘quarter of a millennium’ or something like that.


I know Enterprise customers require extreme backward compatibility, but it must be a fairly small number who are still running legacy code written in 1771.



I stand corrected, and awed. Thank you!

I had the good fortune to see the Babbage Engine in action when it was at the Computer History Museum. Only got a few photos, but here they are (plus an unrelated photo of a core memory plane):

https://geary.smugmug.com/Computers/History/

https://www.computerhistory.org/babbage/


What about me? I don't care about backwards compatibility - but I don't want "UWP" because it's impossible to make great apps following the guidelines.


Sounds like you might want to look into MacOS. Or at least might've wanted before Big Sur, dunno about now.


Yeah, macOS jumping on the "huge UI elements with tons of empty space" bandwagon was the proverbial straw for me that moved my beloved MBP from daily workhorse to random idle browsing machine.

I'd say it's still not as bad as Windows, in that at least it's not pure white that burns your eyes, but I still hate how half of my laptop screen is taken up by useless UI elements.


Is this a thing with Big Sur? I haven't moved to it yet, but reading here [1] it doesn't seem like bad changes?

[1] https://www.macworld.com/article/234382/macos-big-sur-learn-...


As a Mac user, I find us (other Mac users) to be much more critical of UIs. Lots of people went crazy about the extra space in the menu bars with BS, but tbh it's not a big (pun? :D) deal.

After using BS for a year+ now (since the early betas), the biggest UI/UX issue IMO is around notifications. After making other UI elements larger and 'touch friendly', clearing notifications require hitting a tiny X or a hover over to clear all. I'm not on the Monterey beta yet, but hopefully it is addressed.

While macOS has consistency issues (why can't I resize the preference pane?!), and windowing problems (when plugging in an external monitor sometimes my windows don't go to the right spots), they are nothing compared to the inconsistencies in Windows. I'm sure Windows users would love to mainly complain about the size of a close button vs. wondering why they still see dialogs from the 3.11 days.


Thanks, that's good feedback. The program I get the most notifications from is Teams, and you can't do the nice swipe it away to the right you can with all the other MacOS notifications, so I'm used to pain there already!


News about Mac are frequently separate from criticism about Mac. Perhaps because they arrive earlier. You might want to look specifically for reviews, opinions, and summaries of critical reaction. Maybe watch reviews on Youtube to get a feel.

Personally I'm thinking of trying BS in a virtual machine to see if I'm ok with it or will stay away until apps that I want drop support for Mojave (likely Brew will begin to compile lots of stuff instead of just installing binaries). Though, seeing as Catalina already makes life harder for developers outside of the App Store, Mojave is probably gonna stay with me for a while.


Fair enough. It feels a bit like the bits of MacOS I care about are nowhere near this sort of stuff, but then I was also baffled by the Facebook UI riots :-)


> something even newer

;) Sadly I think this is the group Microsoft is least likely to attempt to cater towards.


I'm on the same boat, and would like to see proper design instead of supporting 200-years-old programs. But apparently we are minority and not the best interest of Microsoft. (Which is okay, BTW)


UNIX is older than Windows, and most people still expect to run their UNIX CLI applications on APIs that exist since UNIX V6.


Win 3.1 File Open Dialog can be found in Windows 11

https://www.reddit.com/r/windows/comments/o12no7/still_rocki...


Afaik the Win3 file dialog gets called up by some old apps that use old APIs. I think I even ran into it in Wine.

The analog in Unix apps are GTK's file dialogs, which always look jarring and out-of-place anywhere other than Gnome (and maybe XFCE and KDE, dunno)—making me feel like I stepped into 90s Unix with those Motif-derived concrete slabs. Plus they're un-integrated with non-Linux OSes, missing features. And the dialogs keep being dragged around by GTK apps—open Gimp on Mac or Windows and there you go: GTK dialogs.


I don't think the Fluent+Metro stuff is so different as to be a real consistency issue. Certainly minor inconsistencies that can be easily pointed out in a list but little that makes a typical user think "this is a completely different thing I'm using". The rest of the "old" stuff seems to have been made visually consistent in the 7 era even if the tools themselves originated from different eras with most gaining high DPI support and following the newer theming, again not a consistency issue in itself. There are a few REALLY old dialogs called by ODBC and maybe some others but I can't think of any you run into unless you're intentionally looking to run old software that will call them. So technically 3 but really 2 really noticeable UI environments in day to day.

I'm worried with 11 it'll be a repeat of Windows 10 where at the start you're constantly using "yet another UI". At this point it's nearly gotten decent to the point if you aren't a sysadmin (MMC, regedit, task manager, advanced control panel items not nowadays part of Settings) you rarely run into the "old" style stuff with the one exception of File Explorer. Hopefully it doesn't take another 6 years to be saying that about Fluent/Metro stuff being updated to match 11's new look.


I kind of hate how far down the rabbit hole you have to go to find a familiar management ui in windows today. I find myself using run commands to bring up these UIs more and more.

It would be an acceptable tradeoff if these new interfaces added more functionality or visibility but it seems they're just trying to move to the new settings ux and not thinking about adding better function.

Try adding a new local user account to latest windows, compare the functionality in new the network interface settings page vs the legacy adapter properties prompt.

Seems most of the "this just works" stuff that I respect is from windows 2000 and the NT team.

Wish Microsoft would head back that way with a nod to modern usability instead of dumbing things down and worse: changing it every release.


Windows has been on this road for a long time.

I did some work on Windows servers in the XP era and it was a continuous hassle that the menus were always different in NT 4, Win 2k, Xp, Vista, and all the different versions of Windows server.

Contrast that to command-line admin on Linux that stays the same or the perpetually busted Linux admin GUIs that should just be taken behind the woodshed and shot.


How is MacOS able to maintain such a consistent UI even with massive changes in their design language ? Is Windows UI not a separate layer or something that they can update ?

Or is it that the UI elements somehow get baked into the program at the time you build it, so if you didn't update you are just stuck with that particular version of UI you built the program ?


The biggest thing is that a much larger percentage of Mac apps are written using the native UI toolkits, which receive most of the aesthetic changes for "free" (even in lieu of updates/recompiles). There's also stronger expectation from users for apps to fit in, so even devs who write in foreign toolkits (e.g. electron) are more likely to put in the effort to mimic the native toolkit, because failure to do so makes their app look crusty and outdated relative to the rest of the system and other apps.

Under Windows, the rule has been that basically anything goes, and that's been true for upwards of two decades. Anybody who used Windows 98/2K/XP can probably name several apps they remember using totally custom UI off the top of their heads. That never really changed. Custom UI has become a lot less wild looking, but it's still custom (which means no "free" updates), and on top of that there's no incentive for developers to update their apps to match the latest look.


> Under Windows, the rule has been that basically anything goes

Those rules were set by example by microsoft.


But the programs we are discussing here are parts of windows written by Microsoft with their own toolkits.


macOS isn't afraid to deprecate or completely remove things even if that means old things won't work. Windows demands 16 bit apps from the 90s should have a very decent shot at running on Windows 11. That level of "it'll always be there" means for the vast majority of old UI it has no technology pressure to be redone, only pressure of what most average users will see day to day. E.g. nobody at Windows is going to dump control panel (need 3rd party add-ons to work) and nobody is going to rewrite it in a backwards compatible way when most users can do everything via Settings these days and it works with all quirks for legacy apps as is.

That's not to say a lot of the Metro stuff shouldn't/couldn't be made to be Fluent but it also isn't as out of place as some of the older stuff. The only one that is really surprising is File Explorer - but again a lot of legacy app integration that wouldn't work with a new one (though maybe it is time anyways).


> Windows demands 16 bit apps from the 90s should have a very decent shot at running on Windows 11.

16 bit applications never worked on any 64 bit Windows.


Not natively, but ntvdmx64[0][1] and otvdm[2]/winevdm[3] work fine, albeit a bit slowly.

[0]: http://www.columbia.edu/~em36/ntvdmx64.html

[1]: https://github.com/leecher1337/ntvdmx64

[2]: http://www.columbia.edu/~em36/otvdm.html

[3]: https://github.com/otya128/winevdm

---

For those interested, Wikipedia says there's no native/builtin 64bit NTVDM due to

> In an x86-64 CPU, virtual 8086 mode is available as a sub-mode only in its legacy mode (for running 16- and 32-bit operating systems), not in the native 64-bit long mode.

...

> The NTVDM is not supported on x86-64 editions of Windows,[31] including DOS programs,[32] because NTVDM uses VM86 CPU mode instead of the Local Descriptor Table in order to enable 16‑bits segment required for addressing[33] and AArch64 because Microsoft did not release a full emulator for this incompatible instruction set like it did on previous incompatible architecture.

https://en.wikipedia.org/wiki/Virtual_DOS_machine#Windows_NT...

---

Personally, since Microsoft still releases 32bit builds of Windows 10, I just dual boot 32bit (~48GB)/64bit (~900GB) partitions and run the 16bit programs natively on an old Thinkpad.


32/64 bit is a compile time option not a separate codebase and unlike macOS they haven't discontinued 32 bit even in the latest versions.


I think it relates to how their internal structure is set up and their brand positioning. Apple has only one design team and design system I think, and only caters to folks who prefer simplicity over power features.

I suspect that Windows is more like compilation of what different teams produce at MS, each with their own design opinions and target audience.

I can only imagine how challenging it is to serve beginners and power users with the same UI at the same time in Windows, which kinda implies different UI densities depending on the part of the OS or type of widget.

Apple has the advantage that they get away with simplifying things and have built a brand image around being easy to use.


> macOS only caters to folks who prefer simplicity over power features

This is said quite often, almost as a given, but I never thought it reflected reality. macOS has an abundance of useful features for power users — system services, automator, AppleScript, tons of productivity touches like titlebar proxy icons and universal drag-and-drop support... not to mention it's all built on Unix so a terminal is right there for anything not exposed in the UI.


Sorry I meant the UI, not the "hidden" stuff.


Right, but everything I mentioned exists in the UI. Just not the very last part.


Built-in Windows controls, like buttons, scroll bars, etc. are updated with each system release. However, they are relatively inflexible, and no one uses WinApi anyway, so most frameworks and apps build their own components, with varying dedication to emulating the "native" style. Built-in controls also don't perform much in the way of layout (I believe the only way to position child HWNDs remains manual absolute positions?) so while your button might look native, your collection of two buttons won't.

My guess is MacOS's consistency comes from some combination of developer incentives, and UI toolkit design.


> I believe the only way to position child HWNDs remains manual absolute positions? so while your button might look native, your collection of two buttons won't.

I thought the native APIs provided some kinds of constraints, like ‘these go into corners, and this is next to that’? Such approach is sorta necessary when windows can be resized. And I thought that UI builders like Visual Basic depended on these constraints. However I didn't do much manual UI, so perhaps the programmer indeed has to recalculate everything in pixels when something moves or is resized—like we did back in the day before we knew better.


Which is the "native" API - win32, MFC/ATL, Form builder, WPF, or MAUI? If you're dealing with HWNDs directly, it's either win32 or MFC/ATL, but those haven't been touched in tens of years in favor of the current .NET APIs.


Win32 does not do automatic layout.


Mac UI elements don't move around much—afaik they use about the same positioning that was decided when OSX was made. So the looks change but the layout not so much, and thus apps don't break on updates. Big Sur is probably the biggest change in the layout, in all these years.

Whereas MS keeps rearranging the layouts that were perhaps too complex to begin with. Especially the toolbars, with the row upon row of buttons and whatever other stuff MS crammed in there. My pet theory is that MS treats all UI as tables of various sizes, because it's easy for devs to just slap whatever they think up into rows. Apple was much better at the ‘proximity principle’ so avoided cramming from the start.

It also helps that MacOS is slimmer in terms of GUI apps—there's no ‘management console’ for admins and such heavy stuff. My litmus test of GUI environments is the control panel—and it's much lighter and more comprehensible in MacOS. (A similar telling exercise is comparing control panels of Gnome and KDE, at least it was when I last touched KDE in the 2000s.)


That’s what I wonder… understood that the windows internals are developed to maintain backwards compatibility, but why are they not able to change the user interface?

The Vista control panel being the second layer of the Windows 10 control panel is one of the weirdest. Other than maintaining the same layout for users, why is the second layer of their settings panel just the exact settings panel from the OS 14 years ago?


This. It's not about backwards compatibility for Windows itself; it's about investment. They don't want to pay to update all their menus and settings screens.


Easy. They never design their system with compactibility in mind. Also, since they own their own software and only allow to be installed in their own hardware, they have full control on everything.


I think it is because breaking API changes are introduced often, and most apps only work across a narrow window of 2-3 major releases.


I don't think Microsoft has been truly interested in improving the Windows experience in a long time. I mean, surely if they cared about us you'd be able to right-click on any Notification icon and hit "always show icon and notifications" without having to open two menus to get to that option. It's been a pain in my ass for twenty years.


Can we also talk about inconsistencies when it comes to notifications on Windows 10, too, please?

I mean, every app does whatever it wants. An update popup here, a warning there. Some blocking window with full attention here, some imutable "you got a message" there. Anti-virus systray icons even render webpages as popups, that contain even more notifications inside them.

Windows is the worst OS I've ever used in regards to focussed work. Every single program running there has the right to disturb my work, and the user is just a dummy that can't get anything done because the UX guidelines treat users like a click monkey.

Having used both older and newer Linux distros, MacOS pre-Catalina and Windows XP/Vista/7/10 as a main machine for work over the years, I'd choose Linux or MacOS for productive work anytime.

I don't care about an _asynchronous_ email when I'm working on something else...you should start to understand this, designers at Microsoft. If a spammer can literally disturb a work productivity of an OS user while the email app is running in the background, your UX is literally the worst solution possible.

I effing hate notifications and the lack of user-focussed Window management on Windows.

Even MacOS without any real window management is better, because at least the IDE window keeps the focussed state and notifications can be force-silenced.

Sorry for the rant, but it's the truth. Windows is not made for productive work in my opinion.


I completely share your sentiment that Windows' constant nagging and irritating behavior is terrible for productivity.

But I'm not sure that this is a Windows issue per se, in that apps can and sometimes do produce random, custom notifications even on Linux and macOS. I think it's a "cultural" thing: it happens more often on Windows because... it happens more often, so people aren't as surprised when some new app does it, they've been seeing those for years and years. It's kind of "expected", the same way that most Windows users will say "just reboot it" without batting an eye [0]. "It's just how things are".

However, what trips me, is that even Microsoft's own products do this crap. I'm thinking of Teams in particular. I understand they've only recently introduced the "feature" of sending alerts to the notification center, yet Teams is a brand-new product, that appeared in the Windows 10 era.

And they use those same custom notifications on macOS and Linux, too, where they happily ignore any system configuration. Of course, those are actually custom windows that they put up, they didn't even configure the windows properties to be considered a notification (on Linux/X11).

---

[0] I know Windows requires much fewer random reboots nowadays, but the people are still trained to reboot it whenever something "doesn't work". They won't even consider that there's something wrong that should be investigated.


Like you I am also continually frustrated at how Windows apps are always trying to demand my attention. In Windows 10 I have the Notification Center set to “alarms only” which helps with a lot of the spam, but not all. There are still plenty of programs that bypass this and pop their own kinds of balloons and notifications.

Then there’s programs that flash the taskbar when they want attention. Teams in particular is super aggressive about flashing the taskbar when it wants something - even when Do Not Disturb is turned on - and I have essentially all notification features turned off.

For years I’ve looked for some sort of OS setting like a magic registry value to turn taskbar flashing off completely but have come up empty. (There’s a few reg hacks out there that purport to reduce the frequency but none that turn it off entirely. And not all applications honor those registry settings … like blasted Teams.)


Man, the sheer number of times I have fucked something up because a background window jumped to the foreground while I was in the middle of typing and striking the spacebar activated whatever option button was highlighted on the pop-up is staggering.


Does it not help to turn the notifications off in the notifications settings?


No, because many of those apps don't actually use the notification center. They just put up random (skinned) windows.


The inconsistency doesn’t bother me so much as a lack of immediate responsiveness when I start a program.

Sometimes I can wait 30 seconds after clicking on the menu before there is visual indication that the program is really loading. In that time I don’t know if I should click again, reboot the computer, walk away for 5 minutes for the services to settle, or start diagnosing the problem and take remedial action.

Part of a ‘computer users bill of rights’ is getting rid of all hourglasses and spinners and always having clear visual indication that progress is being made.


That bill has never been passed it seems, in the mainstream that is. I've been wondering how to design a system that would focus more on this aspect. Opportunities here.


Look at how you get correct progress bars for free with Hadoop. If it is that easy to do for a huge distributed cluster with 100+ machines imagine how easy it could be to do on a small scale.

What if web browsers told the user outright which third party services were responsible for the world wide wait?

One pet peeve of mine is the CDN distributed JavaScript in which people download 20 files of which they only need 2, have 8 in the cache, the rest loading efficiently, but the last DNS lookup hangs and causes a 30 sec timeout.

If customers knew who the blame then the brand destruction would progress that much quicker; and I wouldn’t be facing the sisphyian journey of proving over and over to sheeple that that the javascript CDN slightly improves median latency at the cost of vastly worse tail latency.


…that’s because you have a set job with constraints and machines dedicated to that sole task in a controlled environment. Personal computing, third party drivers, background tasks, etc all impact this.


Partially so.

Hadoop’s progress bar is possible because it breaks a task up into small units; you know it was broken into 1000 units and that 50 are done so the job is roughly 5% done.

GUI programs really shouldn’t be able to use a thread for long at all. If they have to do 2 s worth of work they should break it up in 20 chunks of 0.1s and if they go a millisecond over the App Store should refund your purchase price and kick them out permanently.


And they have no uncertainty at any layers ? I assume most OS UI issues are due to too many 'maybes' and they bail out on meaning and precision.


there was a contravariant scheme where web became chromeless, everything was ultra cute, flat and abstracted away while the web became more and more sophisticated (js loading, cdn, reactive/components) too

back in the days you had more information about the technical details of browsing (and prior to that, some browser exposed GC/ram use as a toolbar button)


The sad part is that old win32 UI from the win95 era, rendered with a modern style, are the most useable and nicer looking, in my opinion.


Metro/fluent apps always look "broken" to me. Like someone forgot to add styling and that's why a bunch of stuff ends up with some kind of default 3px solid black border. Transient popups (e.g. drop-downs) have some kind of shadow but it just looks weird and broken. Clicking on "cards" (I believe that's what they're called, e.g. a program in the new software manager) animates them but it just looks completely broken and blurry. Windows are resizable but in most cases it seems like the app isn't using an layout, so the contents don't adjust to match. It all feels a lot like a broken webpage in a standalone window. Including no/bad error handling, infinitely hanging indeterminate progress displays, lack of keyboard usability etc.

That being said the Windows 10 Win32 styling looks horrendous to me as well. Like BS_FLAT in Windows XP, it never looked good, not in 2005, not in 2021.


Same. It just doesn't work for my brain. We're looking at pixels on a screen so you need to somehow trick the brain into registering this as an interface and the metro/fluent ones completely fail in this regard. I see something more like a dense information sheet than an interactive interface.

Technically it seems broken too. There was a bug in the calculator app where one button was off by 1 pixel. It boggles the mind to imagine how that kind of thing is possible.


If did not age well, but it came out a long time ago.


In Win7's control panel I counted ten different kinds of windows—in only MS' own sections, no third-parties (who tend to make the problem worse). Some of navigational widgets weren't used anywhere in the remainder of the OS.


I absolutely hate that if I open control panel, I can only focus on a single thing instead of having multiple windows open. My 64-core PC is not a smartphone, thank you very much!


yes! modern UI feels so "trapped".


speaking of UI inconsistencies - why did the author of this page thing it was a good idea to hijack my page up/down buttons. come on man.


I think it's caused by the stock WordPress image gallery widget. I've noticed the same issue in a KDE blog[1] also built with WordPress.

[1]: https://pointieststick.com/2021/06/11/this-week-in-kde-plasm...


The irony.


I really disliked the experience of trying to read that page so much I just chose not to read it. What a surprisingly awful experience - I'd really encourage the author to remove that.


Not just a terrible idea, but it was completely unnecessary. The highjacked PgUp/Dn keys scroll the screenshot galleries horizontally, but so do the left and right arrow keys just like in other image galleries.

It did remind me to try a pair of browser shortcuts that I haven't used in probably ten years: Space and Shift+Space. They work!


I think the tray and notification system is cruel.

When I was a kid I saw other kids torment a horse by holding a hand up, getting the horse to turn away, then slapping the horse with the other hand.

The tray is always popping up notifications that tell me to click on them but clicking on them does nothing. The notification often covers the UI elements that I need to respond to the notification. There is no way to clear the notification except to wait for the notification to be cleared.

It’s cruel, and even more cruel that if the notification isn’t just actively in the way of your work and acting on the notification but the notification frequently disappears before you can act on it and you can’t count on scrolling back and looking at it later.


I wish that operating systems (Windows, KDE) placed transient notifications in a "notification area" like older Windows and Android (before Android added popup notifications), where they don't cover up your work (like Windows/KDE/Mac notifications), you can see at a glance how many and which notifications are present (unlike Windows's Action Center with popups disabled), and remain until explicitly dismissed or responded to (unlike the current disappearing notifications).

Sadly, on Windows 10, the bottom-left of the taskbar is already used for app launchers, and the bottom-right is already occupied with a clock, volume indicators, a "system tray" for background apps that you can't close, etc. It's even worse on KDE than on Windows, since there are a lot more applets in the bottom-right of my screen, and you can't control the order of icons in your system tray. Perhaps with Windows 11 moving apps to the center of the taskbar, a row of notification icons could be added to the left.


If you're using a non-home version of Windows, open the Policy Editor, go to User Configuration -> Administrative Templates -> All Settings, find "Remove Notifications and Action Center", enable it, and poof! Annoying distractions begone.


I will always find it funny that you can use the windows 95 alt+tab switcher by:

- Pressing alt (don't release)

- Pressing altgr

- Releasing altgr

- Pressing tab


While experimenting with this I also discovered another unexpected quirk or the switcher. AltGr+Tab makes it "sticky".

Also, I realized that despite being initially liking the beautiful 3D animated Win+Tab switcher when it was introduced in Vista, I never use it anymore.


It's not just the UI that's inconsistent, it's that the different UI layers can actually present contradictory information.

https://i.imgur.com/oNxlUzv.png


Sorry for the tangent but: I get really nostalgic looking at the Windows 3.1 icons. I remember using moreicons.dll for shortcuts so long ago that they didn't look out of place.

Almost everyone can relate to hearing a song, or a smell, that takes you back to a different time in society and your life, but it's weird to get it from a computer UI. I think it may happen for me because computing has always been such a big part of my life, even since early childhood.


Seems like there used to more open criticism and suggested improvements of Microsoft Windows on the internet/web. When the company bought out Mark Russinovich that quelled some of it. There was also a website called annoyances.org. Anyone know why it disappeared. This is the last record of it I could find in the Internet Archive:

https://web.archive.org/web/20121222074911/http://www.annoya...


While i agree that there's a lot of old layers in Windows I must say that I much prefer this to the way Apple does things. In their camp it is like UI designers change things around for no other reason than to have a job (see also: Firefox). I feel like Apple have moved a lot closer to what they used to point fingers at in their commercials about PCs but without gaining any of the strengths. With that said I also think Gnome (and KDE) are light-years ahead of both OS' UI.


I know that Windows Vista still had some Windows 3.x UI elements included. For example, the file picker dialog you’d get when installing a font would be a pretty ancient one. Is that still the case, or has it been updated in the meantime?

Screenshot found online (from XP): https://cdncms.fonts.net/images/35b17bed9c542383/faq_xp_winz...


> Is that still the case, or has it been updated in the meantime?

It's been updated. See:

https://news.ycombinator.com/item?id=27553728


I find it hilarious that even in such a comprehensive post, the author missed some:

Some apps are now shipping with “Fluent but inconsistently round”, mostly the ones that use WinUI. Maps is a good example where this is noticeable. You can see some screenshots in link below.

https://github.com/microsoft/microsoft-ui-xaml/issues/3767


Interesting read. There's also "State of the Windows, part 2: Did Windows 10 slow down with each feature update?": https://ntdotdev.wordpress.com/2021/02/21/state-of-the-windo...


Similar thread from earlier today:

There are at least 10 different Microsoft design conventions in Windows 11 - https://news.ycombinator.com/item?id=27553108 - June 2021 (125 comments)


There's just an insane amount of UI and code in Windows. I don't even want to hazard a guess how many millions, maybe billions of lines of code it takes to build Windows 10. Nobody is ever going to go through every dialog and update it to the design language of the week, while allocating the testing and QA resources to make sure it all works, in every language. If it ain't broke, don't fix it.

There's a Uservoice thread I've been following for years as comic relief that demands that Microsoft port all of Visual Studio to Linux and Mac. It's the same thing; people largely have no concept how much hoary old code there is lurking there, or how many man-years their "simple" ask entails.


I have so many irritants in the experience of using windows professionally, that I’m not going to waste time discussing it.

I will leave you with one observation though.

For any given text box in Windows, I have found that CTRL-A may or may not Select All.


Funnily as a design developer, i switch off all UI enhancements because they slow down the system. So my system looks almost like Windows 95 confusing people.

I think the inconsistency is the price of having a system with so many features. I rather have them than have consistent Windows. Moreover, sometimes updating UI does not go as planned.

A regular calculator started like a breeze. After redesigning it in Windows 10 it takes several seconds to load. It is not a time worth spending if you add 2 plus 2.

To sum it up, consistent UI is great. But if it comes to my OS i don't care about it too much. More about the speed.


I remember doing this with my Intel Atom netbook because it had the processing power of a baked potato, but with any modern system (something made in the last 8 years) with GPU acceleration, does it matter? I haven't noticed much of a difference in my Thinkpad with a fourth generation i5. Which is the oldest machine I have Windows installed on.


Why wouldn't MS just start a new OS like they ditched IE?

They can't get rid of backward compatibilities and pretending to be moving forward with the pace of walking in snow and everything is just half way done for the past 10+ years.

Just port the drivers, add some compatibility layers so that half apps work, ask big software vendors to port their apps to the new platform and let Windows fade out slowly so that finally they can create a fully vertically controlling software/hardware based on ARM and compete with Apple.


I grew up with Windows as my daily driver so I feel a bit of nostalgia but after switching over to macOS about a decade ago when I look at Windows it always feels to me like their engineering/design efforts are just alright with getting things 85% correct and then never finishing the job. It's the last 15% where you start seeing attention to detail, treatment of edge cases, and thoughtfulness.

To me it feels like the OS simply doesn't respect the user's time.


Although the Mac OS X “Blue Box” was ugly for a time, the virtualization approach worked and it also created a clear incentive for app developers to get their software updated to run better outside of that constraint.

If this “backwards compatibility” is important, fine: provide that compatibility on an older OS running in a layer. Free up the main OS to finally evolve.


Semi-related: if you enjoy classic Windows UI and feel like going to a nostalgia trip there's a great little game which will make you feel it's the turn of the millennium again - Progressbar95.

Disclaimer: I'm not affiliated with its creators in any way, just wanted to share some fun.


I feel you could a whole post also with just the inconsistencies in context menus. I remember a few releases of Windows 10 where already in the first screen right out of OOBE, you would get differently-styled context menus depending on where you clicked.


If you kill dwm.exe (Desktop Window Manager) or if it crashes in widows 10 you can see the old UI on all windows that are open for maybe a second or so before dwm.exe comes back. (obviously not recommendation on "production" machines)


One more thing missing in the list: MDI (multiple document interface) child windows are styled with Aero basic (i.e. without glass styling) frames, which really look rather ugly when embedded into a Window with a Windows 10 frame.


What I want to know is how can I get that Betta fish on my boot screen!


You missed the manual viewer (open triggered by F1) I think its UI dates back to Vista or so. (the .chm file viewer)


I mostly hate settings in Windows 10 after 15 years of OSX, which are very inconsistent.


If Microsoft were a person; they would be a rich, lucky, lazy, easily distracted person who takes zero pride in their work, content to leave inconsistent garbage littering a product used by hundreds of millions because they are just too bored by the whole thing to bother fixing it.


I just want the whole XP UI back. I can stand this new whatever it is


Don't forget the Windows Vista installer.


Windows 10 lacked a cohesive vision for the UI.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: