Subsequent ones were designed by UI designers, and opinionated senior managers, who already knew how to use them, and took out usability features to make them "look nicer". This sort of worked when the opinionated manager was Steve Jobs. Most managers are not Steve Jobs.
> in some applications they seem to have taken extra steps to make it difficult to find the line to grab
Pet peeve of mine in Windows where the line is at most one pixel now. They also took away the coloured distinction between title bars for the active window, so you don't know where keystrokes are going to go.
Too many developers nowadays don't know this. On any HN discussion of UIs, I've been noticing a growing number of younger devs insisting that usability is entirely subjective (their words, not mine). It's not just that they don't know about cleverly thought-out things such as safe triangles in nested menus or all the affordances/signifiers espoused by Don Norman et al. The bigger problem is that they don't know what they don't know, and they come across as being unwilling to learn.
It does make UX discussions frustrating and meaningless when they could, and should, be interesting and a learning experience for us all.
I did not know about this, but I did notice my own menu-rage every time a submenu disappears!
Not sure how stuff like this gets deployed in the first place, guess we're just a few people left who test things we develop before we push them to the public, I'd rather believe that than that people just don't care anymore...
I love software like Gimp, Blender, Inkscape, etc, that matured over decades and kept their soul.
Guess they've never been on the phone with an elderly relative in tears because she can't figure out basic tasks on an iPad anymore after years of learning how.
That's when you realize you, as a highly-skilled technical person, can't either, because they've moved, hidden, or otherwise obfuscated them.
Yesterday I learned there are two icons in the Files app called "..."
Yes, two.
Incidentally I was looking for how to delete a file, which is now deliberately missing from the object's context menu, and intentionally hidden under one of these.
I had to authorize something with Firebase, for which I had to auth with Google, for which I had to do a MFA with my (Pixel) phone.
Usually it's "are you trying to auth" and finger-to-the-scanner, but around that time this particular way didn't work. It also didn't want to send me a text or a call to auth me.
No, I had to find an OTP code. Easy, right? Wrong. The instructions, and the docs, don't match where it was in that particular version of Android, and there were a bunch of blind alleys that were named basically the same.
It took me like 10 minutes, on stage, browsing my phone (thankfully, not casted to screen) to find the friggin' option. Thankfully the cohost was doing the presenting at that time, but it was pretty lousy.
And this is using Google's OS on a Google phone doing a Google auth flow for a Google property. And I'm a techie who's been using Android for 15+ years now. And I did the exact same dance a few weeks before that - also so roundabout I had no idea how I stumbled on the correct page.
User experience my ass.
PS. The regular "are you trying to sign in?" flow works again. No idea what happened - wasn't me.
To think that we used to trust mere mortals - without even a signing certificate or developer membership - with the power to customize every toolbar in a Microsoft application, and to set every font and color for the whole UI of the system. People made their computer environments ugly in some cases. And it was fine, because they owned those freaking computers, so who the heck has any business telling them not to?
Sorry, clearly it bugs me a lot how much we’ve lost.
We could go back and forth on things like "the ribbon" being better or worse, but the fact that it changes depending on window size is an incredible sin. Hello, everyone! Learn how to click a tiny 5x5 pixel arrow or lose your menu items forever!
I look at retail for examples of this. If you watch an experienced cashier who interacts with a system all day, they have perfect muscle memory of the keyboard or keypad, and operate it so fast that you would have to ask them to slow down to understand what they're doing.
Now many of those have been replaced with touchscreens, which are noticeably worse -- since the UI is never fast, you have to stop and wait for the next UI to appear after many of the steps, instead of letting the keyboard buffer do it for you, which worked great on a decades-old system. But, I assume the companies who allowed that replacement believed it was worth it to be able to onboard a new cashier just a bit quicker, with a UI that looks just like the iPads that they were raised on, complete with big unlabeled icons and "three lines" or "•••" buttons.
Meanwhile I live in a world where opening five Salesforce tabs locks them all up.
Fkeys are arguably a huge tragedy, here we have keys, twelve of them, that could have been used for simple one-fingered operation, but they were put to use pretty sparingly for a long time (basically F2 and Alt-F4 were the only common ones most people used, with F1 for Help and F11 often used for Full Screen as honorable mention) so the laptop manufacturers reused them, leading to a world where they go from being the easiest and best keyboard shortcut keys, to one of the worst, since you probably need to teach people how to find and use a 'Fn' key to use them.
It seems now it’s not worth learning the keystrokes because everything is a website or changes randomly. Ah, for the days when Excel supported Lotus 1-2-3 shortcut mode for decades.
You are always designing something with a target audience in mind, and the next, e.g. mobile phone will very likely be used by someone who has interacted briefly with a similar device, so you may re-use some already learnt patterns.
The very early UXs built heavily on desktop metaphors (like folders), but at this point many (and an increasing number of) people are more familiar with OS UI n-1 than a typical office setting.
So I don't think jumping to this conclusion is correct - there are well-designed software, it has just become much much cheaper to create new ones, so the average quality has necessarily went down.
Steve indirectly had a hand in this, by emphasizing the humanities. That, unfortunately, backfired as a sort of positive feedback loop.
Someone hired a few underemployed artists onto the team, and the artists invited all their friends and soon took over the department.
People that in an alternate timeline would be smoking weed whilst sculpting wood in a derelict loft somewhere are now the lead designers, using our software as the canvas of a perpetual avant-garde art piece.
They also need to look productive to justify their jobs, so the need to change things is constant.
That's why in 2026 you could have a PhD in CS and still need to watch a YouTube video to learn how to change the volume.
Can anyone name a single substantive UI improvement in the last 20 years? They're simply hiding or moving stuff around at this point while no one has even touched accessibility.
I don’t think it’s a stretch to say that most of the problem can be traced back to the transition to Mobile first design. The motivations were arguably pretty innocent in general. If there were no downsides, it’s nice that there isn’t a separate code base and an entirely separate set of capabilities for desktop and little 5-inch phone screens. However, the way that we have achieved that - nearly across the board - is by lobotomizing the experience everywhere.
And because of fashion (those artists who control the UX can’t resist it), even in places where that doesn’t even make any sense because there is no mobile version (say, B2B SaaS products that only get used on a desktop), they still feel the need to cosplay as a mobile app by using all the same stupid design elements (the ••• and “hamburger” menus, the giant grids of “tiles” that should have been a table, etc.
That's basically the curse. Fucking fashion. If that human concept wouldn't exist, UIs today would be way way better. But no, we have to keep changing it forever and with each iteration worse and worse. UI enshittification at its pinnacle.
That thing Windows has where you can drag a window to the top of the desktop and it pops up a few quick options for resizing. I would love it if KDE Plasma had this.
And Windows-shift-up to make a window fill the vertical space of the screen without changing its width.
On the desktop? No.
In human-computer interaction? The multitouch UI using a capacitative touchcreen, as used in the iPhone (2007, so 19 years ago) and iPad (2010).
This redefined how UIs work, so yeah, it's vastly significant.
The trouble is that now there's a whole generation of developers and desighers who literally grew up with it and its imitations, and they're trying to apply its "simplicity" to desktop WIMP GUIs. In the process they are removing things like, you know, the "M" of WIMP (whether it's "mouse" or "menu") because they don't see it as important.
I'm afraid that the core of the problem is something far more simple and fundamental.
The people designing desktop apps today simply never learned the conventions that make desktop applications good. They grew up with smartphone apps, web apps, electron apps, games, etc.
In fact, you can observe from things like JavaFX, Flutter, WPF, etc., that the trend has long been about the ability of easily creating custom widgets like you could with Javascript (or Flash), rather than the convenience of having a library of widgets that look and feel exactly the same as every other widget in the system.
Sometimes I am starting to feel like how my dad looked many years ago when I tried to teach him how to use Windows. He simply couldn't see the window borders. With the latest designs I am reaching this point too. I am struggling moving and resizing windows because I can't tell where the border is.
This was even worse in an RDP session. No drop shadows. I'm not sure who thought "everything should be flat and white" was a good idea.
It's just the old Windows 2.0 look.
Windows finally implemented it via PowerToys: https://learn.microsoft.com/en-us/windows/powertoys/grab-and...
Which is what? Windows natively has like 4 official looks. You can click around the 2 (!) settings programs and pop open windows for basically every framework windows has created (and deprecated) in the last 2 decades.
I have a lot of thoughts on things like PC usability today. You're right that UX research would have heavily contributed to the design on these older systems. As computers moved from the warehouse to the living room they had to be easier to use and understand for people without CS degrees. I think it is fair to assume *some* things about what people these days are familiar with when it comes to the desktop GUI, but usability should receive more focus now even if it slightly hinders aesthetic. A friend of mine has been teaching a college program for video editing and she has students who needed her to explain what files and folders are. This is not the first time I've heard of things like this.
Smartphones and tablets have obfuscated so many basic functions and features that it is actively harming people's understanding of how to use a computer. Things like window sizing, executables, how apps know where things are, and how programs are installed. Android does allow users to peek behind the curtain more than iOS but Google has been going down the path of locking down Android. I haven't been in an elementary school classroom for like 17 years but I remember having computer lab time where we would learn how to use Windows 95/98. I think what has benefited my friends and others my age (~30) is that we grew up when computers were in the home and were usable enough for us to log in and intuit our way around but there was enough friction that made it so we would have to figure things out on our own.
Having to resize a window by grabbing it just outside the visible border is so wrong.
When I was checking out the MacBook Neo a while back I was disappointed that the resolution is not natively x2 scaled. It uses fractional scaling when macOS handles fractional scaling quite poorly. I've set the resolution on my M1 MBP to 1280x800 so it was x2 scaled and clarity improved significantly. But I also sacrificed usable space because apps don't adjust, everything is just made larger.
At work I use 1 or 2 monitors plus the laptop screen (on Windows). At home I just use a single 55" 4K TV for my monitor and place apps center, left, right, and up top for rarely used stuff (on Linux). The desktop metaphor always wanted a big display but you're right - most Windows apps expect a full 1920x1080 for themselves.
With desktop OS I feel a lot of designers don't know how to use them. They grew up with phones and never use a desktop OS outside of work.
It's worthwhile to note that this was not just research in a vacuum, but a lot of user studies where they literally watched and studied people using the software and how they were confused, found or didn't find functionality, etc. Lots of interviews, talking to people, boiling things down to how actual people struggled with the software.
The latest design of interfaces is designed by people who have barely used a desktop computer and have no idea of the conventions or advanced usage. They create terrible UIs because they have no idea what a good UI is and they often don't even use the product they create.
Star definitely didn't have multi-click.
But we did gain some nice things!
- Tabs.
- Titlebar buttons and other space-saving measures.
- Document editors remembering unsaved changes.
- Forms that validate on focus lost, instead of submission.
- Ctrl+P menus to fuzzy-search all actions and settings (we need more of those).
- Easy syncing (if I open Spotify on any device I'll see the same playlists, my clipboard is shared between phone/desktop/notebook, Immich integrates local and remote media, etc).
- Program-specific URL protocols, so that you can click on a link and have it open in a separate program (like `steam://open/games`).
- Map widgets, a small miracle we take for granted.
- Package managers/app stores that cleanly install and uninstall applications.
On KDE, something nice is that if you have a maximized window and a panel on the top of the screen, I can drag that panel to grab the window (or maybe it was a setting of Latte dock or something). And since window titlebars nowadays can be cluttered with buttons, it is a predictable way to grab those windows only using the mouse.
That you were more or less forced to adopt these KDE shortcuts so that you could work around the fact that they had cannibalized the title bar for a purpose it was not designed for.
You were forced to change your workflow and everybody else is having to be forced to adapt because they changed a metaphor that has remained stable on the desktop for over 40 years
UX design is treated as a subjective matter, as if it is equally valid to clearly label UI elements as it is to have magic, nondescript UI pixels that serve as vital control surfaces.
Go watch videos of the research Xerox did on UI/UX and HCI in general, and weep for what we have lost...
My argument for the titlebar is that it was at least researched UI/UX convention done by Apple/IBM/Microsoft at the nascence of personal computing. These are the primitives that arose from that research.
It is not out of what I happen to like that I argue this. I personally am deeply frustrated by cursor-y window controls. I much prefer a tiled interface with a top menu bar and copious keyboard shortcut compositions. I, if I could, would Never use the mouse, and if I needed axial control for a 3d environment would prefer to use an analog stick of some sort. Unfortunately those are not the conventions we have for general computing, especially in the workplace.
We are in general forced to use the conventions given to us by the major OS providers. One of those used to be the titlebar, with which you could use the cursor to control the window. The insistence of the current tech industry to shove any button they like up there without regard for these conventions that have been set for decades (and were in many cases of this sin set by their company: M∫/M$ --the integral symbol is a slop 'S') is causing real economic harm in terms of lost productivity from broken muscle memory and wasted actions
Also KDE seems pretty staunchly _against_ client-side decorations with buttons other than the window manager buttons.
All of the "positive" items I listed come with drawbacks. I didn't realize I might be in the minority for this one, since I genuinely prefer the new workflow.
Today I have one 3:2 and one portrait monitor so compacted titlebars are particularly poor design.
Thankfully KDE for the most part does not indulge in that, and let’s you fix window borders, but they have other failures such as hard coded button order in dialogs.
...And sometimes I'm using OpenBSD, so titlebar buttons introduce a titlebar I didn't want, and didn't need, which doesn't match the rest of my desktop customizations.
It's just a bad paradigm.
I use Firefox. I also use macOS a lot. Firefox assumes your tabs are horizontal. Mine are not (using a built in feature).
So it doesn't use the title bar much. So there's an option to turn it off. It's off by default. Result, the actual top bar is a cluttered toolbar and it's hard to move the Firefox window.
Up to a point -- although Mozilla added vertical tabs about a year ago, it's pretty clear nobody uses them, same as nobody left at Microsoft is competent enough at customising a Windows desktop to know how to use vertical taskbars, so they removed that option from Win11.
But saying that, although I do not like GNOME, I review the new version every 6 months, so I do try it. I find the same problem with GNOME CSD apps.
It is not confined to the problem of moving windows. The GNOME developers are clearly obsessed with gestures -- even the welcome tour contains instructions on trackpad gestures, and my machines have the trackpads disabled. I use mice, because I prefer them.
With a mouse on Linux, the middle-button has 4 main functions:
1. Open web links in a new background tab.
2. Middle-click the title bar to push the window behind other windows.
3. Middle-click in text to insert the currently-selected text at the cursor.
4. Close browser tab.
I do these things hundreds of times a day. Literally, no hyperbole.
GNOME has removed functions #2 and #3.
From this it seems apparent to me that the GNOME developers do not really know how to use mice effectively, and mainly use laptops with trackpads.
This has been net negative. Now everyone thinks it’s ok to shove every control up there and there’s nowhere to grab a window to move it that isn’t also a button. But the OS interprets button click and mouse drag as cancel the button click.
I wish people would stop doing this.
We HAVE HI DPI screens with large resolutions and even 640x480 had title bars!!!!!
What space could possibly need saving?
Not always positive. The form briefly loses focus for two seconds (while you open your password manager or whatever) and you are shouted at to “PLEASE ENTER A VALID USERNAME” in red.
Tabs aren't really new: look at BeOS which could "tab" windows..
That said I agree with you that tab are really nice, especially the way VSCode manage them with the vertical list of opened files (I switched from vim to VSCode due to this feature).
There is a very practical reason for this; most GUI apps are webapps (whether local or not is irrelevant), and the fetch API was so poorly thought out that it was not possible to get an indicate of progress - all if gives you is inprogress or done (nothing in between).
As a result the loading indicator can only indicate in-progress or done.
There might have been worse ways to design the fetch API, but off-hand, I can't think of any - what came before it was immensely better for a user experience.
It'd be a very jumpy bar, but it helps develop intuitions. "The first part is always slower on this machine", "when it gets stuck on this spot I need to reset my router", "this part will be slow because the request is large", etc.
Even if fetch ran over UDP, or a direct serial connection, or IP over Avian carrier, it'd still be a poor API that doesn't allow progress indication.
We used to have the cursor indicating this in the good old days.
This is a failure of whatever framework the web dev is leaning on instead of actually programming the computer.
It is perfectly possible to get real progress information other than yes/no. Web sites had it for years before lazy spinners took over.
>> As a result the loading indicator can only indicate in-progress or done.
> This is a failure of whatever framework the web dev is leaning on instead of actually programming the computer.
No, it's a failure of fetch.
None of the gains you list have anything to do with user interfaces. They would all or mostly be possible in any of the older desktop environments shown.
I grew up with Windows XP. We had most of these (except the titlebar buttons — although on second thought some custom Windows Media Player skins did have that, haha).
We all carried USB sticks around. So you always had your files with you. The computer itself was interchangeable, for the most part. (Which also led to my interest in portable apps.)
https://blog.hiler.eu/win32-the-only-stable-abi/
>Win32 is the only stable ABI on Linux
Though macOS I think has a similar issue.
Should have been a generic window manager feature.
Web browsers had to innovate because OSes, DEs and GUI toolkits stagnated. Tabs and better sandboxing came from web the browser.
Wasn’t that in Emacs for decades?
Most people haven't experienced "addressable interfaces" like Emacs and don't know what they're missing when they only have visuospatial navigability. I would like to see searching and jumping make bigger impacts in mainstream UX design.
Just give me the option to view a log of what is happening under the hood. Tell me which step of the process you are at, what files are you copying etc.
This can be really annoying when I don't want to save these changes
Plus, I don't believe Cancel reverts changes the user made if they clicked Apply already. So your suggestion would go against how the UX of OK/Apply/Cancel has historically worked.
The absolute peak, for me, though are those early releases of MacOS X. Cheetah and Puma were both incredible, both in appearance, and in use. They looked fantastic but they still had all the affordances and comprehensibility of earlier interfaces.
One thing that's also very noticeable to me: title bars are title bars and nothing else. It's just easy to grab windows and move them, resize them, etc. Nowadays I really struggle sometimes to find a place in (what should be) the titlebar to drag a window in many application.
We have lost indeed.
defaults write -g NSWindowShouldDragOnGesture -bool true
in order to enable dragging windows via `Cmd + Ctrl + Click`.Ubuntu is great for resizing - alt + middle click anywhere on the window. If only other OS'es could do the same.
Not Ubuntu -specific. On all my setups alt+LMB moves, alt+RMB near any edge resizes that specific edge.
No need for pixel-perfect grabbing.
https://github.com/microsoft/PowerToys/pull/47024
https://learn.microsoft.com/en-ca/windows/powertoys/grab-and...
I wonder how hard it would be to make a thing for that...
Perhaps though this is learned behaviour from scrollbars being tiny. I'd rather have the extra screen space. The scrollbar is usually a nuisance when I accidentally touch it (touchscreen) and the page jumps away.
This is critical for decisions like: "Should I read the whole thing?" and for building a mental map of the whole document.
I use the scrollbar to scroll between parts of the document if I need to flick back and forth quickly, say between the data and the interpretation, once I have that mental map and know where things roughly are.
While reading, I'm dragging or wheeling.
I can generate scroll events or use keys like HOME/PGUP/PGDN/END or even search forward/back via keyboard to jump around. And I also suffer when a slightly misplaced click causes a disorienting scroll instead of hitting some other interaction target near the window edge.
https://learn.microsoft.com/en-us/visualstudio/ide/how-to-tr...
Almost every time. Scrolling with the mouse has bugs in Windows (focus on the active field) and fine grained scrolling is not possible with the mouse.
As much as it pains me to say it: custom Linux distros are not often deployed en masse. Especially not the ones that “look old”.