We also lost clearly identifiable buttons, loading bars (replaced with throbbers), status bars that tell you what you're hovering over and what the program is doing, stable UIs to develop muscle memory, etc.

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.

Titlebar buttons are actually bad. The titlebar exists (or existed) for a reason, so you'd have somewhere you could grab to manipulate the window. Now it's kind of a guessing game with every app on where you can grab without causing the app to do something you didn't want.

If that's a problem for you, you have much to gain with better window management shortcuts. On KDE I have the Windows key + left click set to drag a window from anywhere, and win + right click to resize depending on the quadrant the cursor is on. It's incredibly satisfying not having to hunt titlebar empty spaces or thin edges.

My main interaction tool with the system is the pointer. Reaching out for the keyboard is something I do when I want to type, but for example when I am consuming content on my computer I just keep a single hand on the mouse or the trackpad. In that case shortcuts are just plain annoying.

On KDE, something nice is that if you have a maximized window and a pane on the top of the screen, I can drag that pane 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.

> Forms that validate on focus lost, instead of submission.

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.

Sometimes I see it complaining _on every keypress_. Certainly annoying, but much better than the old "invalid field" red text at the very bottom, leaving you to scroll back up and guess what's wrong.

> loading bars (replaced with throbbers)

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.

With a better API we could have a progress bar that goes through the TCP/IP stack: advance when the domain is resolved, when a handshake is finished, when the request is sent, when the response starts streaming back, when the response finishes.

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.

Most of the time you're fetching multiple things in parallel and you could show a progress of how many of those are done (perhaps weighted by estimated size). That's essentially the way many progress bars work.

I appreciate this balanced take! Let's hope one day we'll get the best of today's and yesterday's era.

There was a brief moment in history where we had the best of both worlds.

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.)

> Ctrl+P menus to fuzzy-search all actions and settings

Wasn’t that in Emacs for decades?

Yes. The macOS menu bar is also searchable, which is cool. Unity on Ubuntu also had this back in the day.

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.

Probably! To quote William Gibson, "the future is already here — it's just not very evenly distributed". I'm sure you can find some of these features all the way back in The Mother of All Demos, the difference now is that they're more common.