Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is an excellent article.

Apple has been rudderless on the interaction design front for over a decade now. The windowing mess is evidence of it. We now have the cmd+tab (app switcher), Spaces, Mission Control, (full screen) split screen, Stage Manager, and now tiled window control. None of those interaction metaphors have been expanded upon since their initial launch.

I'm a "mac guy". I understood why Apple initially eschewed windows style alt-tab, given the emphasis on app-centricism. But now, they've created a thousand different ways to switch windows without giving us a proper window switcher. There are apps that bring alt-tab to Mac, but they are all bad because Apple doesn't give developers access to the low-level APIs to create performant and fully featured window management.

Before, Apple had an endless well of great ideas to tap. That's how we got the term "Sherlocked". However, now that they've locked down macOS so much, they've suffocated themselves of new ideas.



I strongly believe we need to return to the drawing board and design a Window Environment from scratch because we've gone so far down the "everything's a mess" route that it's impossible to work our way out again.

Here's an example: panes, tabs, windows, apps, spaces. These things all fight against each other, have their own little silos, get treated differently by every single app, etc, etc.


> Here's an example: panes, tabs, windows, apps, spaces. These things all fight against each other, have their own little silos, get treated differently by every single app, etc, etc.

Disagree. The fact that these are independent is a huge organizational boon for those who know how to apply some combination of them.

Example: I set up spaces (virtual desktops) to have themes: one of general web, one for iOS dev, one for Android dev, etc. within that, it’s useful to be able to further organize with windows and tabs — windows can represent projects for example, and tabs can represent files. These work together to prevent a Cambrian explosion of windows that would be impossible to manage no matter how your environment works.

It’s useful for apps to be distinct from windows, too. This allows things like moving all windows belonging to a particular app between screens, or minimizing/maximizing them all, hiding them all, etc. Panes in most circumstances are an entirely different beast than tabs and windows… it wouldn’t be useful to turn an inspector palette into a tab.

They work together as long as one’s mental model isn’t overly simplistic.


I didn't really explain my objections very well in such a throwaway statement. My issue isn't that those things exist; pretty much the opposite. I think it's good that they exist and they almost certainly always should. My problem is when app A implements tabs differently from app B, app C uses the same shortcut for switching windows that app D uses for switching tabs, etc. It just all seems so disjointed.

What I want is for an OS that treats things like tabs as first-class citizens, not a byproduct that each app implements in its own way.


macOS actually has native tab support built in. It supports everything you’d expect from a tab system, including merging windows into tabs and splitting them back out. All third party devs have to do is opt in and tell the OS which windows are intended to participate. It’s been a feature for a long time now.

Problem is that most third party apps don’t opt in and instead reimplement tabs themselves. It’s mostly native Mac apps made by small boutique developers that use native tabs.


Is it enabled by default?

I only very recently changed my System Settings > Desktop & Dock > Windows > Prefer tabs when opening documents to "Always". I'm pretty sure the default is "In Full Screen".

Now, something like TextEdit creates new files in new tabs rather than new windows. It's great! But by default, everything on macOS seems to use windows rather than tabs. I don't even think most people know about the "Prefer tabs" option at all.


Tab support is definitely enabled by default — eg cmd-T in finder to make a new tab


I'm not talking about Finder. I'm talking about default behavior across all relevant apps, apps like TextEdit.

When you create a new document, does it open in a new tab or new window by default?


You're welcome to use Cosmic desktop then... ;-)

I say this only half in jest, as it's what I'm using on my personal desktop. It's far from perfect though, for some reason the taskbar/launchpad just feels awkwardly shaped, some of the keyboard based navigation gets a little wonky sometimes. And I feel that there's a few areas where the split brain between docking regions and windows isn't quite as polished as it needs to be.

On the plus side, it performs better than Gnome, and is slightly more consistent than a lot of Linux desktop options. In the end, I do think that OSes need to expose a bit more details in a somewhat consistent way as cross-platform apps and even electron-like options are boing to become more common place as people jump between and need to support Window, Linux and MacOS targets, with the variances they all have.

Personally, there are a lot of things I like and dislike between all of them.. I spent a large amount of time tweaking Budgie to be almost exactly what I want at one point, and an update borked my setup... I just switched to Pop/Cosmic and dealt with it from there.


Agreed. Lots of conflicting principles. Like, it doesnt make sense to increase the padding across the UI and at the same time, push quarter-screen layouts. I'm almost begging Apple to create something that I don't like, but in a way that's thoughtful and committed to that bit.


I agree. If you (or anyone else who shares your sentiment) hasn't tried it before, you might enjoy "distro hopping" across different Linux distros, using something like Ventoy to make it easy to try out different desktop environments.

There's a veritable zoo to try out. KDE, COSMIC, XFCE, GNOME and its many derivatives (like Pantheon or the previous COSMIC), Unity, etc. Also interesting are the old XMotif based ones like CDE (which has the delightful "chiseled marble" look of 90s-era DEs).

Windows also has its own share of alternative shells, but AFAIK only Cairo DE is actively supported and developed.


I feel like there are a million reasons why this is the wrong choice. There are probably 10 xkcd comics alone that explain why this is a bad idea.

"Let's throw every away and start from scratch" is a tempting idea, but it rarely works. Even taking your example of panes, windows, tabs, apps, and spaces, each of those have a separate and identifiable use case that, IMO, is valid. At least in my mind, I have a mental model around where panes, windows, tabs, and apps are appropriate, and I personally rarely use spaces (though I certainly understand people who like them), and they've never bother me because I can safely ignore them.

And when you look at the issues identified in the article, they all seem very fixable to me. Fixable starting with Apple getting new design leadership, and given the guy responsible for Liquid Glass jumped to Meta, sounds like it was a good thing for Apple.


I misworded that. See my other comment; tldr, I want windows, tabs, etc. to be properly implemented by the OS, to a standard, rather than in many different conflicting ways.


Cmd+~ switches windows of a given app in case you didn't know (not disagreeing with you but it is one shortcut I find super useful and it helps switch windows).


My hate for this behavior grows with each passing year as more and more of the "apps" I use become browser windows.


This is why I regard ChromeOS with fear. Because it really does feel like everything is just converging on the browser as the OS, and a browser is not a goddamn OS.


The browser is effectively an OS - and it’s not very productive to cling to the notion that it isn’t one


It's not very productive to build an entire OS on top of and JIT compiled on top of my already mature and functional OS. It's a waste of my time.

And if it is an OS, it's also just not one where I can be very productive.


It is productive though because it’s a universal platform. The economics of it are unavoidable


I have a non-ANSI keyboard so tilde is in a super weird place for that (next to left shift). I swapped the shortcut to Option+Tab, makes much more intuitive sense.


I heavily use this one actually.


On Linux I miss it and create a hybrid super-tilde action that cycles through apps of the same kind as the focused app.


Me too, in fact watching my hands for a moment, it's the only way I switch applications now


For some reason it's currently broken for Firefox on Mac, at least on my end.


Works fine for me


I have to say I've never found anything wrong with the alt-tab app I use on macOS. I wonder if you're referring the permissions it has to ask for?

https://github.com/lwouis/alt-tab-macos


Alt tab is okay but it has performance issues (sometimes window switching is instant, sometimes there's a slight but perceptible delay). The devs have acknowledged it and said that it cannot be fixed.

Other pet peeves include the smallest window thumbnails are enormous and enabling mouse hover to switch windows causes me to switch to the wrong window, and thumbnails are often stale.


You can change the window size in settings


I did. It's set to small and still much too large for me.


I think MacOS would be much more unusable without alt-tab, like this app is a critical piece of software that has to be installed on any MacOS machine I'm using. But it does sometimes miss a window, like it doesn't show up in the window list in alt-tab even though it is open. And then I have to use the three finger swipe up thing to find it. Not a huge deal but occasionally annoying, and I assume it is because they are limited in the access they have to this information, which Apple could make available if they wanted, but have decided not to.




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

Search: