This is a very good write-up. There's no way this level of testing and dedication could have resulted in the execrable shitshow that is Windows today.
Mac OS is going backward with accelerating speed, too. They had just started to recover from Jony Ive when they put a packaging designer in charge of UI... resulting in the "Liquid Glass" debacle, and all the other incompetent UI changes that accompanied Tahoe's rollout.
I sincerely hope that one day we could go back to that road. If you want that achieved, please support me to join Apple/Microsoft to become the UI boss, fire all flat-design people and hire a small team to implement the older UI, then give a few passionate talks on EDX and conferences so people who supported flat UI magically support the older UI. They always follow whoever the lead is like headless flies.
LOL.
Windows 95 is a great case study because with that release, Microsoft did more for GUIs than Apple did through the entire decade of the '90s... and beyond.
All of it is now out the window (pun invited). It's a race to the bottom between Microsoft and Apple, with Microsoft having a HUGE head-start. But Apple has really stepped up to the plate with Tahoe, crippling it with big enough UI blunders to keep them in the enshittification game.
When MS gutted the theming engine with the release of Windows 8 (flat rectangles only) I was devastated.
Forcing users to click on graphical elements presents many challenges: what constitutes an "element"; what are its boundaries; when is it active, inactive, disabled, etc.; if it has icons, what do they mean; are interactive elements visually distinguishable from non-interactive elements; and so on.
A good example of bad UI that drives me mad today on Windows 11 is something as simple as resizing windows. Since the modern trend is to have rounded corners on everything, it's not clear where the "grab" area for resizing a window exists anymore. It seems to exist outside of the physical boundary of the window, and the actual activation point is barely a few pixels wide. Apparently this is an issue on macOS as well[1].
Like you, I do have a soft spot for the Windows 2000 GUI in particular, and consider it the pinnacle of Microsoft's designs, but it still feels outdated and inneficient by modern standards. The reason for this is because it follows the visual trends of the era, and it can't accomodate some of the UX improvements newer GUIs have (universal search, tiled/snappable windows, workspaces, etc.).
So, my point is that eschewing graphics as much as possible, and relying on keyboard input to perform operations, gets rid of the graphical ambiguities, minimizes the amount of trend following making the UI feel timeless, and makes the user feel more in command of their experience, making them more efficient and quicker.
This UI doesn't have to be some inaccessible CLI or TUI, although that's certainly an option for power users, but it should generally only serve to enable the user to do their work as easily as possible, and get out of the way the rest of the time. Unfortunately, most modern OSs have teams of designers and developers that need to justify their salary, and a UI that is invisible and rarely changes won't get anyone promoted. But it's certainly possible for power users to build out this UI themselves using some common and popular software. It takes a bit of work, but the benefits far outweigh the time and effort investment.
I feel like UX designers don't realize that their job should have a natural tailing off as we discover and lock in the good ideas and discard the bad. Even if the ideas aren't that great, users can at least get good at however it does work, if it stays constant. Instead, we just get more dice rolls, eyecandy, and frustration.
I for one hate the power dynamic that OS and website designers have over me. They can just sneak into my house and rearrange my furniture on a whim. Even if it sucks, I would adapt to it if it stayed constant! Instead I both hate it and can't learn it, because everything is different and keeps changing when I least expect it.
At this point my brain has given into learned helplessness and won't retain much of anything at all, but it's next-level figured out that it's useless.
Designers seem to have a bad track record, and it's getting worse.
Sorry, designers.
If you do want to optimize for usability you have to make sure you aren't making the system more consumptive at the same time. The prime example from the article is trading a moment where the user must take initiative with a menu. More useable less useful. Lower the floor not the ceiling etc. Windows (and iOS) did make genuine improvements to OSs but because of decisions like these most users are locked out of enjoying them.
Meanwhile gtk now puts those on opposite sides of the window title bar by default.
Decades ago, MacOS properly had the close box for windows on the opposite side from minimize etc. widgets; now the one destructive window action could be reasonably safe without confirmation. Then Windows started gaining popularity and nobody ever did it the right way by default again. A pity for the sharp minds at Xerox PARC.
Things started going downhill, in my opinion, with the Windows XP "Fisher-Price" Luna interface and the Microsoft Office 2007 ribbon.
I've always thought the Windows 3.1 to Win2K era were exactly that. The medium is pixels on a screen, the mouse and keyboard. And there is no artifice, it's just the bare essentials.
Only because they copied NeXTSTEP. Those 3D beveled controls originated in NeXTSTSP. In Windows, ctl3d.dll added raised and sunken 3D-looking buttons, beveled text boxes, group boxes with depth, a light-source illusion using highlight and shadow, all copied from NeXTSTEP.
Certainly some historic credit goes to Motif, but, there are "levels to this game" .. Motif did not jump out as "wow that looks good" IMHO. Obviously NeXT was extreme in a different way.. sort of like a symphony orchestra more than an office machine.
It is genuinely entertaining to see people defend the dull and pedestrian UI in Windows 95.
They were functionally just fine; good even compared to some modern abominations.
But the look was just plain and ugly, even compared to some alternatives at the time.
> Things started going downhill, in my opinion, with the Windows XP "Fisher-Price" Luna interface and the Microsoft Office 2007 ribbon.
Yeah I just ran it with 2000-compatible look; still ugly but at least not wasting screen space
(If it helps, I do agree with you about those years being the most… design-coordinated: when Office felt like part of Windows)
(I like to think that Visual Studio 2026 proves that the company can still do good desktop UI design; but it doesn’t help that every major first-party product is now using their own silo’d UI framework; wither MFC and CommonControls, I guess)
Imagine how far a developer would need to stretch their mind today, to think of building a Windows game the way that Minesweeper or Chip's Challenge was built — i.e. as a grid control, where each cell contains a button control, where those buttons can be clicked to interact with the game, and where those buttons' image labels are then collectively updated (with icons from the program's own icon resources, I believe?) to display the new game state.
Ribbon also has a similar research behind it, just like Windows 95. For what they designed it, allowing beginners to discover all the functionality that's available, it works perfectly.
I think most of the complaints from the tech circles are completely unfounded in reality. Many non-tech people and younger ones actually prefer using Ribbon. I also like it since it is very tastefully made for Office. 2010 was my favorite Office UI. It actually doesn't get rid of shortcuts either. Most of the Office 2003 ones were preserved to not break the workflow of power users.
Where Ribbon doesn't work is when you take out the contextual activation out of it. Most companies copied it in a very stupid way. They just copied how it looks. The way it is implemented in Sibelius, WinDBG or PDFXChange is very bad.
Well, yes, but that observation doesn't prove the point you think it does.
People who were highly experienced with previous non-ribbon versions of Office, disliked the ribbon, because the ribbon is essentially a "tutorial mode" for Office.
The ribbon reduces cognitive load on people unfamiliar with Office, by boiling down the use of Office apps to a set of primary user-stories (these being the app's ribbon tags), and then preferentially exposing the most-commonly-desired features one might want for each of these user stories, as bigger, friendlier, more self-describing buttons and dropdowns under each of these user-story tabs.
The Ribbon works great as a discovery mechanism for functionality. If an app's toplevel menu is like the index in a reference book, then an app Ribbon is like a set of Getting Started guides.
But a Ribbon does nothing to accelerate the usage of an app for people who've already come to grips with the app, and so already knew where things were in the app's top-level menu, maybe how to activate those menu items with keyboard accelerators, etc. These people don't need Getting Started guides being shoved in their face! To these people, a Ribbon is just a second index to some random subset of the features they use, that takes longer to navigate; and which, unlike top-level menus, isn't organized into categories in any way common to apps for the US (and so doesn't respond to expected top-level-menu keyboard accelerators.)
I think apps like Photoshop have since figured out what people really want here: different UI layouts for new users ("Basic" layout) vs. experienced users ("Full" layout); and even different UI layouts for users with different high-level use-cases such that they have a known set of applicable user-stories. A Ribbon is perfect for the "Basic" layout; but in a "Full" layout, it can probably go away.
I think the best parts of it could be replicated by just combining tabs and traditional toolbars, but that’s not complex enough of a concept to need a dedicated moniker.
> The Windows 95 user interface design team was formed in October, 1992... The number of people oscillated during the project but was approximately twelve. The software developers dedicated to implementing the user interface accounted for another twelve or so people
I still don't understand what happened starting around 2010-ish (from my observations at the time) that we went from being able to handle a company's worth of software with 30 people, to needing 30 people for every individual project. Startups with minor products had team-pages with 15 people.
Designing a programming language is mostly about usability. I'll be giving a talk about that in April at Yale. It's a fun topic!
leonidasv•1h ago
https://news.ycombinator.com/item?id=12330899
tomhow•1h ago
The Windows 95 User Interface: A Case Study in Usability Engineering (1996) - https://news.ycombinator.com/item?id=12330899 - Aug 2016 (72 comments)