Ask HN: Why did major desktop OSes settle on a macOS-like taskbar?
Glancing at the new Debian 12 screenshots, I realised that in the past years most major desktop OSes transitioned to a macOS-esque (middle-aligned, bottom) large icon taskbar. Why? Being a fan of the "classic" labeled taskbar, taskbar items with text could provide a lot more info (document or media title, current path etc) and even the elongated click area is larger and more predictable. Also presenting just icons means there has to be a second level grouping if the same app has multiple windows.
Touch displays? Should be irrelevant in desktop mode. High DPI screens that demand dense rectangular items? The tradeoff seems to be big to be just that.
63 comments
[ 3.5 ms ] story [ 144 ms ] threadhttps://en.wikipedia.org/wiki/Common_Desktop_Environment
but my guess it os MAC envy :)
https://en.wikipedia.org/wiki/File:NeXTSTEP_desktop.png
So the first dock I new of as described by the article was CDE. As someone mentioned RisCOS may have preceded it.
The MacOS X dock, since day one, has been able to be pinned vertically on either side or centered horizontally on the bottom, as a user option. It functions identically regardless. The dock was derived straight from the Rhapsody dock, which was just a port of the NeXTSTEP dock.
The RiscOS shelf thing was a simpler device, but it was a year earlier, agreed. But your claim was that MacOS X's dock is derived from CDE, or I guess now RiscOS, and these claims are very highly dubious. Indeed with a good probability NeXT's engineers had not even seen RiscOS. The NeXTSTEP dock, complete with a black hole (later recycling sign) for trash can, was meant to be reminiscent to how people often laid out icons on the Mac Finder Desktop.
The only one I remembered doing that did that by default is CDE, not NeXT. Someone else brought up RiscOS.
By your logic, I could say Xerox Alto was the first if a launcher could be added and centered at the bottom manually :)
https://en.wikipedia.org/wiki/History_of_RISC_OS
"most major desktop OSes" is an interesting phrase because there aren't that many. macOS obviously pioneered the "dock", and Windows eventually copied it, because that's what Microsoft does. The only other "major" desktop operating systems are the various distributions of Linux. BSD-based operating systems are in no way "major".
If you don't like the dock, you would probably like KDE Plasma.
This MacOS dock has been around for a long time. It was actually copied from NextSTEP, which was cloned in WindowMaker, which was one of the most popular window managers for unix in the early 2000s.
But even then, the most "mainstream" window managers were copying Windows, which was the most popular OS of the day. Free Software developers would aspire to create something mainstream, and would look to copy whatever was mainstream. Back then it was windows. Today it's MacOS.
The windows 10 task bar is best, left aligned icons that once pinned sit in the exact same spot.
Wider and wider monitors that are higher and higher resolution, so the bottom left gets farther and smaller from the eyes. Nevermind multi-monitor setups.
>Being a fan of the "classic" labeled taskbar, taskbar items with text could provide a lot more info
Text requires translation/localization, which is extra work, which is extra cost. Pick a generic, ideally universal icon and it's once-and-done. Also, not everyone can or will read.
>the elongated click area is larger and more predictable.
While I agree, ultimately most people are going to find working with a mouse to be complicated and arduous because it's simply not a "natural, human" action.
>presenting just icons means there has to be a second level grouping if the same app has multiple windows.
You can have multiple buttons with the same icon, you know. A good example of this being the taskbar from Windows 10 and prior with window groupings disabled.
>Touch displays? Should be irrelevant in desktop mode.
The unfortunate reality is the desktop form factor has become a second-class citizen, best we (as in us nerds and graybeards and wizards) get used to it because that reality doesn't care for our chagrin.
>High DPI screens that demand dense rectangular items? The tradeoff seems to be big to be just that.
If anything, higher resolution screens demand circular things because they obviously look smoother than on lower resolution screens.
This is easily solved by having a 'bottom left' for every screen, something I wish Windows offered natively. OpenShell does, and I've configured my awesomewm instance to do so. It still makes the most sense to me and is the way I'm most productive.
> Text requires translation/localization, which is extra work, which is extra cost. Pick a generic, ideally universal icon and it's once-and-done. Also, not everyone can or will read.
Text is necessary to distinguish instances of open applications. Not having the ability to do that decreases productivity. I would think the amount of computer users unable to read text is an extreme minority, and I'm counting people using accessibility options to read text when I say that.
A lot of Windows applications now also behave like that behind-the-scenes, though that isn't the default behavior and requires some cross-process signaling.
So if I wanted to start multiple instances of TeXStudio, I'm unable to do so?
I don't use a mac often, but when I have and I've put on less common programs that do have multiple instances, they have worked fine.
You can force a new process by launching through the Terminal but this is not frequently done.
Either way I need text to tell my instances, or windows apart.
Can they read? Probably yes. Will they read? Probably not.
Incidentally, you demonstrated my point almost perfectly: Not everyone can or will read.
If they don't want to read, as opposed to being unable to read, they are irrelevant to the point being made.
> Incidentally, you demonstrated my point almost perfectly
I read your point, I just disagreed with it. Still do.
Text is meaningless when people will not read. Ask any programmer or customer service monkey demanding to know what error message a user is running across. Most people will not read, even when demanded to read what is on the screen word for word. "I get an error." "What is the error?" "I see an error." "What does the error say?" "It's an error, fix it!"
A lot of computer people don't like how Windows BSODs became more cryptic and meaningless ("simplified"), but this is simply because nobody reads them. Likewise Windows Update changelogs, nobody reads them.
I don't necessarily agree with the trend of removing text from everything, I find text much more descriptive than cryptic monotone hieroglyphs. But I can understand and respect why the computing world is trending this way: Text is expensive to make and maintain, and not everyone appreciates them.
Once again I did read your point, I simply disagree, and still do. Ironically it's only you who doesn't seem to be reading here.
If you're going to continue to insist that isn't the case, then there really isn't any point in trying to have a discussion with you since you can't do the bare minimum and assume good faith.
That's fine, and I even agree with you there; most people fortunately are literate today.
The thing is I also never made such a notion nor was it the only notion I put forth. Again: "Not everyone can or will read." Emphasis mine.
This is the fourth time I'm repeating myself, by the way. No, you still aren't reading. I do thank you once again for demonstrating my point, but this is getting a little ridiculous.
Let me repeat something I said earlier since you apparently missed it:
If they don't want to read, as opposed to being unable to read, they are irrelevant to the point being made.
Now, do you actually have a useful point to make in response? Or just more nonsense about how I'm supposedly demonstrating your point despite that not being at all the case?
If the latter, since you already have said it's ridiculous, and I agree, I'd ask you simply not respond to end this chain here.
Development resources are finite, so it's natural and proper to excise the unnecessary and focus on what is truly worth developing.
If maintaining text is expensive (translations/localizations) and at least some users will not appreciate them anyway, why keep the text if just using icons is cheaper and can suffice? I don't agree with this trend, but I do understand and respect where it is coming from.
The thing is, the text has to be maintained anyway, it's still there, for example in tooltips, so not giving users an option to show it has no real defense that I can see.
I think text is pretty essential, but if we're not going to be allowed that, at least make the icon actually representative of its function. One of the reason I find having the text so important is that icons have become increasingly inscrutable.
That's a misinformed take, Gnome is not the only desktop environment available on Debian, it just happen to be listed first in the installer, it's a DE agnostic OS
If you look at the most popular linux distro, the 3 most popular ones (according to distrowatch) uses XFCE as their default DE https://distrowatch.com/, wich provide a traditional labeled task bar by default
https://wiki.debian.org/DesktopEnvironment
And if you look at what people use in the wild, you'll notice that they move away from the setup you describe: https://old.reddit.com/r/unixporn/
It makes no sense to me to not have a taskbar fill the entire span of space it has available, or at least allow it to do so.
Discord -- Title irrelevant
Kontact -- Title irrelevant
Firefox -- Title irrelevant, there's a million tabs
VS Code -- Title irrelevant, mostly.
Remmina -- Title relevant for once, multiple of those.
Terminals -- Title rarely relevant, I just tend to have one per display.
A lot of normal usage moved online, which means it's one of the hundred tabs people end up with. For a lot of people, working with documents is rare, and working with multiple in separate windows is very rare. Things that deal with many files like IDEs do so internally.
Far from irrelevant, the title is how you keep apart all those tabs. Of course this more or less implies you use some vertical organisation feature - whether that be the built-in tab list, an extension like Grasshopper to present them as a vertical menu or something in the line of Tree Style Tabs using the sidebar - to be able to actually read the title. I have Grasshopper under the F1 key which makes tab switching painless: hit F1 and start typing part of the title and the selection is limited to whatever matches the typed text. If there is only one hit just hit enter, otherwise use the cursor keys to move to the required tab ad hit enter. No mouse needed but it can be used if so desired.
[1] https://addons.mozilla.org/en-US/firefox/addon/grasshopper-u...
A lot of people are saying that the Dock is copied for the purpose of aesthetics, which may be true, but the aesthetic benefit of making the menubar global is arguably greater and comes with less of a functional tradeoff — it reduces the visual redundancy of duplicate window-attached menubars and gets you that clean look that GNOME and a lot of desktop apps are chasing these days, but without replacing proper menus with a messy "junk drawer" hamburger menu.
The Dock is fine, but I can take it or leave it. It's not really good enough to have strong feelings about. Not a huge fan of Win9X style taskbars either though, they get cluttered and unpleasant to scan very easily.
For the feature to really be usable you'd almost need to make a distro and patch its packages to have global menubar support.
Unless I'm working in a maximized window, I need to take my cursor and thus my attention outside of the window I'm working in. That takes mental effort to switch contexts, longer physical distance moving my hand and arm, and additional time incurred from all that extra work.
In a word, it's inefficient.
I also think that regardless, a global menubar is better than a hamburger menu because it allows far more functions to be surfaced in an efficient, consistent, organized manner. Hamburger menus only contain what the developer deems "essential" and have no rhyme or reason, which makes for considerable chunks of functionality that are buried in dialog tunnels.
There was also the CDE (Common Desktop Environment) and its precursor VUE, which was found on HPUX, dating to 1988, originally by Apollo Computer and Domain/OS
<https://en.wikipedia.org/wiki/Visual_User_Environment>
<https://en.wikipedia.org/wiki/Common_Desktop_Environment>
I've personally largely found fat menubars, particularly at the top or bottom of landscape displays, to be annoying, and initially used twm, mwm, and fvwm without the dock. I eventually adopted WindowMaker, though with a vertically-aligned dock. I tend to invoke tools either from window menus or a terminal shell.
As to why the dock is so widely adopted:
Having a standard dock helps with support as there's a standard utility and support scripts can walk through clicking on specific items.
UI/UX follow conventions. Apple's OSX is a widely-used (though not the majority) desktop, and its usability is generally highly regarded. I strongly suspect a mix of trend-following and familiarity drives other desktops' favouring this interface.
GNOME and KDE likely document their rationales somewhere. I'm not aware of where, though if someone familiar with those projects does know, I'd appreciate the pointers.
Neither of these specifically document the design rationale behind system docks. However, both a centered dock and a left-aligned dock are attempts to apply Fitts' law to user interface design.
Fitts' law is a foundational principle in modern interface design[0]. In 2002, an experimental study found that expanding docks (such as Apple's dock, in which icons grew bigger as they were focused on) presented many benefits without any theoretical drawbacks.[1] Here is a handy resource that helps visualize Fitts' law and its implications: https://timmarco.com/fitts/
[0]: https://en.wikipedia.org/wiki/Fitts%27s_law
[1]: "Fitts’ Law and Expanding Targets: An Experimental Study, and Applications to User Interface Design" https://www.dgp.toronto.edu/~mjmcguff/research/msc-thesis/ms...
I'm aware of the HIGs for both GNOME and KDE, though I've not looked at them closely for years.
I was rather hoping someone with greater familiarity might know where the origins / adoption of the Dock were specifically discussed.
Searching "dock" on the Gnome HIG site turns up ... nothing.
For KDE there are a few hits, but none appear immediately relevant to this question.
So our mystery remains intact.
Where do users expect the menu to be? Wherever devs usually put it.
Where do devs usually put the menu? Where the users previously expected it to be, which is wherever devs put it before then, and so on…
There’s an informal way to solve this infinite regression. It’s a focal point - also called a Schelling point for Thomas Schelling, who proposed this idea in his analysis of cooperation without communication. The usual explanation is something like so:
“Imagine you airdrop two people into unfamiliar terrain. Their goal is to find each other. They have no radios or methods of communication. All they have is a map, and the knowledge that the other person has a copy of the same map. The map has several river crossings, a handful of houses, multiple trails, etc. The topographical layer indicates one large hill near the middle. Both subjects will identify the top of that hill as the ‘correct’ meeting place and head there, even though it has some inefficient drawbacks as a meeting place, such as requiring you to walk uphill.”
Developers and users also have to coordinate without (much) communication, so there are similar pressures on user interfaces, except with the added complication that the shared map now includes history and tradition.
Once you learn this concept you will see it everywhere in user interface design. The cog icon, the floppy disk icon, even the vilified hamburger menu icon are all focal points. Login/password entry is done in the center of the screen. Collapsible sidebar menus are on the left.
There were initial reasons for why these things were picked in the first place, but that merely “put them on the map”, so to speak. The reason for the convergence is that once these things were on the map, they naturally revealed themselves to be focal points over time.