This is a fun design exercise, but a couple things really do stand out to me as useful.
First, panels instead of windows -- a thousand times yes, please. Overlapping windows doesn't provide any benefit. Making everything either full-screen or splitting the screen is so much better. There's a reason so much software has moved to tabs and side panels instead of separate windows within the app.
Second:
> The desktop metaphor as the basis of computer interfaces is inefficient and outdated. Today, most of our data exists outsides of files and folders. The desktop worked great to get us started 40 years ago, but it was never built for the complexity and amount of work today.
I don't like the author's particular solution... but yes the idea of an actual "desktop" folder seems silly and antiquated now.
And it's about time that cloud content (whether file-based like Google Drive or content-based like Google Photos) got treated as a first-class citizen in the OS.
If the iOS Files app lets me treat my Google Drive as just another folder... why doesn't Finder? Why do I have to install third-party software for that?
> Overlapping windows doesn't provide any benefit.
Just yesterday, I overlapped a tiny terminal window (resized to be very small and set to "always on top") showing the current disk space ("watch df") over the corner of a larger window which was doing a file transfer. While I agree that non-overlapping panels are better most of the time, sometimes overlapping can be useful.
> treat my Google Drive as just another folder
That illusion would fail quickly as soon as your network connection dropped. Non-local folders have fundamental differences to local folders and should be treated differently. (Local folders can be assumed to always be present unless manually removed, be fast, and unmetered; non-local folders can disappear and/or change at any time, can be slow and/or vary in speed, and might have a per-megabyte cost.)
> Overlapping windows doesn't provide any benefit.
Another example: Overlapping my work windows over the Slack window. The red "you have new mention" indicator is a poor indicator for determining the importance of the mention; being able to see the channel it occurs in at a glance is very nice for prioritization. There's no real need to see the whole slack window.
I think this is one application of the “minimized pane” example the article showed: applications still have a way to show more data than just an indicator.
Alternatively, you could let panes be resized smaller than their “native width”, and get the same effect as overlapping.
Oh yes, the ability to pin a window to the top is one of the features I miss most on Windows. You don't need it every day but when you do it saves a ton of time and clicks.
I have recently been working where I have around 5 windows open.
Editor, Terminal, Documentation, Email, Browser with test profile.
I've found that alt-tab hasn't been working the best for me, but what has worked is having mostly overlapping windows, with a bit sticking out that I can click on to pull it to the foreground.
Maybe I should be assigning some keyboard shortcuts to pull up particular windows, but this works reasonably well, and is easy enough to adjust if I added a 6th window, or whatever.
The idea of panels can be realized today on Linux using a tiling window manager, and is superior in my opinion because it allows you to slice your screen as you see fit, has workspaces and you can have multipe windows in a single slice snd switch between them using a variety of wsys (tabs, etc)
Other users have mentioned situations where this is true (and I have run into them myself too). But tiling window managers + workspaces are just so much more efficient for almost all use cases. And they don't have to have a steep learning curve.
I use KDE with the grid tiling plugin. When I open a window, it takes up the whole screen. Opening another window splits the screen in half vertically. They can be dragged as normal to swap positions. Opening a third window splits one window into two, horizontally. This goes up to a (configurable) 2x2 grid.
There are only four basic keyboard shortcuts to remember: meta+F floats a window to make it not affect tiling; meta+T makes it tiled again. Floating is useful for small utilities like calculators or temporary status indicators; they always float above the tiled windows. meta+Q/E shrink/grow the current window, and the rest adjust size to fit (of course window borders can still be dragged and it works the same).
Since every window is always visible, there is no need for a window list in the taskbar - mine only has the date/time, status icons for notifications, and the workspace pager (map).
Virtual desktops are the last part. You obviously will want more than three windows. I use a 4x4 grid of 16 desktops; 4 total desktops is more practical for normal people. They are mapped to a 4x4 square of keys on my keyboard. A few windows for applications like email or IM have a permanent space on the bottom row of 4 desktops. Normally I stay in the top left desktop and move to adjacent ones once space starts running out on the primary one.
The pager in the taskbar shows an overview of the grid. meta+WASD or arrow keys switches between them; holding ctrl moves the current window along to the other desktop. Oh, and meta+tab is like alt-tab but for workspaces.
This maximizes screen space that can be used. In a floating WM like Windows/macOS, only maximized windows take up the full screen; every other window is smaller. Windows has a 2-pane L/R split builtin, which is a weak replication of my system. If you have three floating windows open, using all the screen real estate is a frustrating task of dragging windows by their titlebars and then using the thin borders to resize them. With my system they just magically appear into place; the only user input is to swap their positions or resize them.
With floating WMs if you have more than 4 windows open you have to either:
A) leave bits of windows visible behind the other, which takes up time to arrange the windows, or
B) frequently focus on the taskbar and select windows, which is very inefficient
Workspaces solve this well, especially when put in a grid instead of a row. Related things are just a single press of meta+WASD away, clustered in their own area in the grid.
It's clear that the floating windows paradigm is outdated and we need something better. But I'm not sure that floating WMs like you see on linux today are the answer (even ignoring their terrible usability for anyone but power users).
Personally, the situations where I actually want to have windows next to each other for any significant amount of time are basically a one in a million occurance. Usually I have multiple "complex" windows open that I switch between (browser, IDE and so on). It would be nice to have them visible next to each other all the time, but there is simply not enough screen space to do so, tiling or not. The other use case that happens very often is that I have a "complex" window open and need to quickly drag&drop a file from the file explorer into that window. Again, a tiling WM is not suitable for this because it would make both windows too small to use.
Many tiling WMs also lack the concept of minimizing. It's often the case that I have multiple windows (for example file explorers with different directories) where I only need one window at a time and the others are minimized for quite a while. But I do not want to close those windows because I will still need them later.
I actually decided to try tiling because using heavy applications like IDEs was annoying in floating WMs - it was a constant stream of interrupting work to go to the window list in the taskbar or alt-tabbing 'X' number of times to go back to that other window.
Virtual desktops solve these problems effectively if the shortcuts are set up properly (not ctrl-alt-1/2/3/4 and ctrl-alt-arrowkeys, which iirc has been the default for a while). When I am programming I have one workspace with just one terminal running vim split into a 3x3 grid of files. Next to it is a workspace with a terminal and Firefox running side-by-side - terminal to compile/run and FF for documentation. Below and diagonal to the the vim workspace accumulates whatever else I'm needing at the time - file explorers, terminals, browsers, GIMP, etc. Switching between these workspaces is easier than alt-tabbing (meta+WASD - only one finger needs to move, and also meta + the 4x4 grid on the keyboard mapped one key to each workspace for long-distance moves).
Minimizing is accomplished by moving it to another workspace: meta+alt+WASD.
The only real issue is drag-n-drop, which requires the sequence of: float the window => move it to the other workspace => drag-n-drop => move it back to the initial workspace => unfloat.
> First, panels instead of windows -- a thousand times yes, please
I don't know what OS you use, but putting windows side by side quickly can be easily done in all OSes I use, including macOS, Linux, Windows, and Android.
> But macOS certainly doesn't come with that. I've got to manually drag the windows and edges and everything
Keep the green maximize button pressed in the app you want on the left in split screen. On the right you'll see a list of apps. Click on the one you want on the right.
I agree with pretty much everything you've said except the part about overlapping windows. I find Sticky Previews immensely helpful in Windows and sorely miss it when using other operating systems.
You can achieve some of it on Windows (10 and maybe 8) by snapping the windows to the sides of the desktop (with the mouse of Win key + arrows). And when you have two windows, both will resized at the same time
> Overlapping windows doesn't provide any benefit. Making everything either full-screen or splitting the screen is so much better.
I disagree 100% and I hate people like you. Please, do not force this on users. I have about 10 programs running at once, all accessible because of the way they are partially stacked over each other.
First, panels instead of windows -- a thousand times yes, please. Overlapping windows doesn't provide any benefit. Making everything either full-screen or splitting the screen is so much better. There's a reason so much software has moved to tabs and side panels instead of separate windows within the app.
Second:
> The desktop metaphor as the basis of computer interfaces is inefficient and outdated. Today, most of our data exists outsides of files and folders. The desktop worked great to get us started 40 years ago, but it was never built for the complexity and amount of work today.
I don't like the author's particular solution... but yes the idea of an actual "desktop" folder seems silly and antiquated now.
And it's about time that cloud content (whether file-based like Google Drive or content-based like Google Photos) got treated as a first-class citizen in the OS.
If the iOS Files app lets me treat my Google Drive as just another folder... why doesn't Finder? Why do I have to install third-party software for that?