There's more serious reasons this file picker is broken.
Here's a trivial to reproduce and obvious issue that's been there for several years now:
1. Open a directory that loads slowly (e.g. one with thousands of files on a smb3 mount)
2. While the list is loading, select a file (but do not open it)
3. Wait for the whole list to load
Once the list finishes loading, the file on the very top of the list gets automatically selected (discarding your selection).
Thus, if you select a file and click open, in the time between you select and click open, the selection can auto-change and you'll end up opening something else than what you've selected.
Picking directories has been pretty broken forever as well. Say you start in ~/Downloads/foo and want to store the file in ~/Downloads, then navigating up will have "foo" selected, with usually no blank space to un-select (so you'd need to do ctrl+click or something to that tune); clicking "Save" (or whatever) will then descend into that directory instead of saving, so just using the mouse, or not using any shortcuts, you really can't do this.
This, other UX and even performance (!) issues that have been mentioned in siblings as well as TFA makes the Gtk file pickers easily one of the TOP10 reasons to avoid Gtk and Gnome for anything.
The interaction design of these dialogs is simply shit. Windows (and also KDE, which has been using a copy of the Windows dialog for about 20 years) show how to do it correctly.
Window's UI is not really an upgrade though. All the fake roots (why the heck is the Desktop the root) and the forced broken navigation therein, the removal of up so you have to navigate everything like webpages, treating some folders like databases and others with duplicate names like standard folders, hiding extensions, and the 'My Computer' naming madness.
There's "Up one folder" button and keyboard shortcut in Windows. Button is placed next to weblike Back and Forward buttons. It works according to path displayed next to it and you can even click the elements of the path to go up as many levels up as you want with single click.
That's true but annoylingly it doesn't always take you up one folder. For example If you click it from Desktop, it takes you to the whole PC instead of to your home folder.
Windows (the operating system) does the same thing. If you open your “Documents” folder from your “Quick Links” in the sidebar, going “up” takes you to your Quick Links “folder”.
It’s even worse in MacOS. No matter how much I try to use Mac, I am always so disoriented by the filesystem and the “Finder” (filesystem browsing interface).
Wow I never thought about Ctrl+Click to deselect in that situation. I've probably wasted at least an hour of my life by giving up and re-opening the window in a different way. Thanks!
(I actually asked someone more knowledgable about this once and was told that it's my fault for using the file picker incorrectly and I simply need to stop doing that.)
I'm a regular user of the CUA guideline's copy/paste shortcuts. Those shortcuts work in pretty much every MS OS from the early 1990s until recently. Linux has been a mess, but KDE has been pretty decent at enforcing global shortcuts.
The past 5 years though have been a nightmare, MS has really messed their UI up, and various applications/toolkits or whatever the problem no longer properly support the CUA guidelines which in the past were the one assured way of doing an operation cross applications and various OSs (windows+linux/kde).
Maybe its time to start going to a few developer conferences and giving talks about how useful system wide shortcuts that work across multiple OSs really are.
Thank you for the accurate description. and it's also broken in xfce. I personally deal with this annoying situation by ascending to the grandparent and then descending to the parent again.
I recall this being a problem, but I just tried it in Gnome+Chrome and it worked correctly and the picker 'looks native' at least. Then I tried it in GIMP (which has a different picker) and it works like you describe.
Some other Gnome apps also work correctly so I think it's fixed in Gnome but not whatever GIMP is using.
Actually, I think the intended usage in this situation is to click on the filename field, then press Save (or Enter/Return). Which is still terrible discoverability, but at least it's theoretically possible?
> Picking directories has been pretty broken forever as well. Say you start in ~/Downloads/foo and want to store the file in ~/Downloads, then navigating up will have "foo" selected, with usually no blank space to un-select (so you'd need to do ctrl+click or something to that tune); clicking "Save" (or whatever) will then descend into that directory instead of saving, so just using the mouse, or not using any shortcuts, you really can't do this.
That's a degradation from 2.10, or 2.16, from time even before the 3.0.
GUIs should effectively be finite state machines and people expect them to operate that way. People understand latency and get used to it; it happened on mainframes and other terminal applications and people memorize the state machine and can tab and type through an interface at high throughput anyway.
One of the most frustrating experiences is related to the OP; reflow in browsers as new elements load making it impossible to click on the right thing until the whole page finishes loading. Popups are also nearly as bad but maybe less avoidable.
I remember the time (10 years ago?) where you could go to google webpage and start typing your search immediately. Then one day I got my typing deleted once the page finished loading. I thought Google would quickly fix this, but soon realized that this kind of annoying asynchronous behavior was becoming a new normal for a lot of GUIs. I have a rule in my GUIs to only show up something when it’s consistent and usable: the GUI should never lie or mislead.
This has started happening to me constantly in Amazon! I start searching for something, make a typo, go back, then somehow it snaps back to the typo before I hit enter and I get bad results. Super annoying, I don’t remember it being a thing before a year or so ago.
The ebay search button has been like this for ages. To the extent, that sometimes, you correct your search query, hit enter to search and it resets back to the previous search query and re-searches that!
You can thank things like auto-suggest for this as well.
I remember the first time I encountered the epiphany that "woah, typing too fast can break my textbox/inputs" and coming to the realization that in order to accommodate the faster users you often have to be very careful thinking out your UI flow.
Hence why I hate UI's. Sometimes feels like they are nothing more than a fight between me and another developer.
Google search bar also breaks the standard OS behaviour on a Mac, eg. when I am i the search bar and hit <cmd-left> it should jump cursor to the beginning of the line, which it doesn't.
is this possibly a case of "leaky abstraction"? e.g a "data oriented" ui where data flows in 1 direction, so updates to said data blows away any intermediate state?
The reflow issues as incredible in the Twitter mobile web, at least for me on Firefox for Android. When you go back from seeing a tweet's replies to the main timeline, it might take up to 5 seconds (or even more) to load some UI elements and reach a steady state. It even scrolls to a different point than where you were before!
Twitter Mobile is hands down the worst mobile website that I know. I always use nitter.net if I want to view something on mobile. Opening the browser and manually rewriting the link is more handy that clicking on it (e.g. in reddit). That should tell you something.
Yes. Twitter on mobile web seems to have some state of the art ai to reflow the page just when I'm about to press my thumb to read a subthread , like a post or such so I always end up liking the wrong one.
On Twitter for Android, I quite often open the app after a while, and the previous state is shown. Super! I start reading a tweet, and then the popup comes at the top that there are new Tweets; at the same time, that very tweet I was reading disappears from the timeline, whilst the tweets around it remain. Why??
Some folks use this fact to place ads in such way that when you want to click something by the time your finger taps the screen there is an ad underneath. So annoying.
This is the worst, a french website Leboncoin (craigslist basically) does this, makes me want to murder the people behind it
When you click next page nothing happens long enough to make you think your click hasn't been registered, then right as you click again the page loads with ads right where the button was
I’ve spent more time chasing an iPhone folder with an app I want to put into it than I care to admit.
That websites and volunteer ui projects get it wrong is understandable- the problem domain is huge. But dragging an app onto a folder is a rather constrained problem that should be easier to solve.
Even worse is when you know the exact file name that you want to open, and the interface fights against you writing it! For example I want to open /tmp/a.png, but there's thousands of files on /tmp and the cursor disappears while "loading" them, and and some characters of the file name are lost, or typed on different parts of the interface.
Recursive search instead of type-ahead search within one directory in the file picker is criminally terrible. I don't think there is any implementation of a file picker that behaves like this (other than Gtk's).
I use Linux, macOS, and Windows on a regular basis. I use mostly default settings, only a couple changes. Over time my settings move closer and closer to defaults. I tell people to upgrade their OS (with a couple exceptions). I was on-board with GNOME 3 when it came out (I was an Arch user at the time, but I’m in remission now).
The GTK file chooser dialog is easily the most garbage piece of fucking shit. Honestly, sometimes, if I want to post something online I just copy the file to my Mac first just to avoid dealing with the fucking piece of shit GTK file chooser. If I need to sort through a bunch of files, easier to run Samba and sort through them on my Mac, because Nautilus was scooped out of the same fucking pile of shit than the GTK file chooser was scooped from.
As far as I can tell, the last time that browsing files on macOS really changed was 2007, when 10.5 came out and had Quick Look. Since then, browsing files on Linux has somehow gotten worse. Do you know what it’s like on macOS? Every once in a while, Apple quietly adds support for previewing a couple more formats.
I'm sure there's people here who are long-time contributors and/or supporters. Just ignore me, I'm not your target audience. ... I'm really not sure who your target audience is, though.
I actually have a copy of the book, and it is indeed a good book. The problem is that it somehow empowers GNOME developers to keep creating/maintaining/rewriting broken software, all in the name of "usability".
Holy crap. It reads like a parody written by someone who read this thread and article. I was thinking it couldn't be as bad as people we're saying, but it's worse!
> Free software development is not a democracy, and does not get driven by polls. Features and bugs are introduced by those who show up, within a community that works towards a shared goal.
And it is exactly to let themselves yell that, they work hard to alienate few normal devs left in the project.
I understood now that Gnome 3.0 was from the start Redhat's fully intentional attempt to appropriate the project, and is not dissimilar to Microsoft's embrace, extend, extinguish.
1. Get command of some more abandoned parts of the project.
2. Push a series of guaranteedly unpopular sharp direction changes which will lead to loss of devs.
3. As devs leave, you get more reinforcement to your casus belli, saying that "nobody maintains this pile of garbage, so now I am taking it over too"
Please do not spread these unfounded conspiracy theories. If you are a developer and you don't agree with direction changes, you don't have to work on them, you can work in the direction of your choosing. AFAIK there are numerous forks of GNOME over the years that are still going.
The problem is that GNOME is not just a DE. By virtue of being a project that's used by RedHat and Ubuntu, it's the closest thing to the standard DE that desktop Linux has at the moment.
Worse yet, its developers consciously make design decisions that make it hard to write applications that play well with GNOME without taking a dependency on it - their take on it seems to be that GNOME is a platform, and their main interest is supporting "GNOME apps", even to the detriment of all the rest.
Between these two things, deficiencies in GNOME affect a lot of people who didn't necessarily choose to be affected.
I'm not sure what you expect can be done about that. Every desktop is going to have its own set of features and APIs that other desktops don't. That's what they mean by "platform." Should e.g. KDE developers spend less time working on their own features and start contributing more to GNOME, to make GNOME apps work better in KDE, and vice versa? Maybe, but they would have to take the initiative to do it.
Having unique features is fine, of course. It's when GNOME goes out of its way to make it impossible for DE-agnostic apps to "do the right thing" for ideological reasons, when every other DE supports some kind of lowest common denominator. Here's one famous historical example:
I don't see how that is an example of ideological reasons, or how that contradicts what I said. It seems like exactly what I was saying -- GNOME, Ubuntu and XFCE all have their own separate APIs for things. I've seen that issue posted here and on reddit so many times and I never understood why anyone considers it any more significant than all the other times a random open source project removed a deprecated API or did an incompatible version bump. Yes, I get it, it's frustrating when upstream is a moving target, but that's exactly what he's saying. You can choose to follow the moving target or you can target a platform that moves slower.
And because I have to keep saying this, that is a non-issue now anyway. XFCE supports the new app indicator protocol, and since Ubuntu dropped unity their support for it is available as a standard GNOME extension: https://extensions.gnome.org/extension/615/appindicator-supp...
Others strive to have APIs that are either compatible across DEs, or there is a way for a DE-agnostic app to feautre-detect and use it when it's available. GNOME is the only project that simply doesn't care about DE-agnostic apps, and ends up making their life more difficult than anybody else. The app indicator issue is brought up time and again, because the comments on it from the GNOME developers make their attitude crystal clear. That this particular issue has been resolved since then is not important - there have been more since, and there will inevitably be more in the future, since, again - they do not care.
If you sincerely believe that it's okay to have a single DE be a self-contained app platform with no interop, that's up to you - but do understand that this is a very debatable premise, and people who don't agree with it have very good reasons to be annoyed with GNOME.
> If you are a developer and you don't agree with direction changes, you don't have to work on them
I would tell the same to Poettering, Clasen, and co.
There is really nobody who obligates them to work on their "innovations" in GNOME with religious zeal if the rest of the project showed no interest, speaking lightly.
If nobody wants to work on their stuff, they can't claim "victimhood" as if that happens as a result of somebody's ill intents.
I have to reference Torvalds vs. SystemD here as an example how Sievers, Poettering, and co. instantly drew up a picture of kernel community being some kind of a bullying ring when the only thing they did to them was to ignore their (bad quality) patches.
I would advise holding off judgement on specific individuals unless you have worked with them closely and you have a deep understanding of why certain decisions were made.
Again, if you are a developer and you disagree with someone's choices, you are free to take it in your own direction. You do not have to work on anybody else's stuff if you don't want.
> I would advise holding off judgement on specific individuals unless you have worked with them closely and you have a deep understanding of why certain decisions were made.
Is this advice meant to be applied against all people, or just other developers? I certainly wouldn't apply this standard to RIAA lawyers suing kids. I judge them to be worms even though I never worked with them. And don't even get me started on politicians, I've never worked with one but I certainly feel entitled to have harsh opinions about some of them.
If the advice is limited in scope to professional peers, then I have to disagree with it; having double standards for people like yourself isn't great advice.
> Is this advice meant to be applied against all people, or just other developers? I certainly wouldn't apply this standard to RIAA lawyers suing kids. I judge them to be worms even though I never worked with them. And don't even get me started on politicians
These developers do not wield power over anyone and they are not filing lawsuits. They are developing code, either as their job, or as volunteers. And in either case, contributing their work as open source.
It might help to take a little perspective before publicly passing judgement on _individuals_ and what you imagine their intentions to be rather than merely judging the merit of their contributions. Those are completely different things.
What I'm talking about really has nothing to do with power. Maybe the examples I chose suggested that power dynamics are relevant to my point, but I think they aren't, so here is another example without one: Should an architect refrain from judging Frank Lloyd Wright just because they never worked together? I think certainly not. That seems completely backwards to me. Anybody is entitled to have an opinion on Frank Lloyd Wright, another architect particularly so.
Are you talking about judging his contributions and significance to architecture or his worth as a person?
I get that the two things have some overlap and aren't cleanly divisible. What we do is a major part of who we are.
But I mean, it's one thing to say "I think it [his architecture] is awful", or even "I think his architecture had a negative impact on people/society/cherished values/whatever" but quite another to say "I think he sought the ruination of everything good and decent because he was a demented and feeble mind." Because, yes, I do think the last one would only be appropriate if you actually knew something about the guy...
Edit: And yeah, of course, I'm not trying to censor anyone's opinions. Of course you can _have_ the opinion, you can even express it. I just think that it's not what engaging in productive/civil discourse looks like and, depending on the venue, people may call that out or whatever.
I am not talking about judging his 'worth as a person'; rather his 'worth as a developer.' Maybe in his private life he's a wonderful person, who knows? Who cares? It is his professional activities that concern people.
You are of course welcome to have an opinion, and to choose whatever product you want based on that opinion. But if the extent of your opinion is "this person is a jerk and their work is terrible and not to my taste" that is unlikely to convince that person to change course, especially if they don't know you and if the decision is already made.
Furthermore, the "this person is a jerk" part is clearly not part of some dispassionate evaluation of his professional accomplishments and is just a verbal attack couched in the language of professional criticism.
I suspect that, in many instances, people who do that are not trying to convince anybody of anything. If they expected to be greeted everywhere with agreement then they would not go around saying things which they know perfectly well are not likely to result in a vigorous and healthy debate if they were said to strangers in the street :)
We've banned this account. Please don't create accounts to break HN's guidelines with, no matter how strongly you feel about something or someone. We're trying for something else here because it's the only way to keep the site interesting.
From some of your other comments I gather that you've been around this material for a long time and you know a lot about it. Why not share some of what you know, so others can learn? and make your substantive points thoughtfully? Then you'll be making this place more interesting, and your points will have some persuasive power. Just venting only adds energy and credibility to the views you disagree with.
I get that there's a low probability this argument will work with you but I think it's worth trying to persuade people that it's in their own interest to follow the rules, which are designed to try to keep a community that's interesting for everybody:
I just want to say that what you said here and in your other comments in this thread resonated with me in how you approached dissecting issues like ones that have been discussed here. I wish there were more people like you and it's a characteristic I hope I can be more like as well.
I respect that you are willing to admit you don't know the full history and implore others to understand why for example, certain decisions were made. It seems as if many people love to theorize about what these are, making correlations which are usually driven more by their feelings than reality.
I feel like character assassination was a phrase that I feel aptly describes how I've seen a lot of people treat people like Lennart Poettering. I feel as if some people are unable to separate person from their opinions. Not considering that person like they are more likely to do so if they were in person.
I sometimes feel like this attitude is more strongly felt by some people in a community where there is freedom to take a project in another direction if they desired (I know that not everyone has this option).
I do think however that the article of this thread expresses their opinion on an issue in a way that it explains how it effects them without resorting to emotional attacks towards the project and it's something I really liked about reading it.
I think people believe Linux is community driven project, while in reality it is strongly corporate backed. Just look at kernel contributions [1]. I think same applies to most of the infrastructure, someone works on FreeType, Cairo, Pango, etc.
In such case disjoint between users and developers is even further. I am professional developer, yet I have zero contributions to my framework and just a few contributions to libraries. After 10 years my contributions to Linux community limited to bug reports, few patches and manuals.
In reality there is not enough community support to maintain existing systems. "Freedom to take a project in another direction if they desired" by individual is overrated, that's TempleOS.
EDITED: Some bragging about making a difference
There are a lot of projects with less corporate influence. No systemd on BSD, but hardware support is not as good. Generic distributions is something that works for most of the users. There are a lot of niche distributions and projects (Void Linux runit!). Current state is just a reflection of users priorities.
Sorry if it was not clear, by take it in another direction I generally mean find funding, get hired by someone else to work on it, or start another company to work on it if there is enough of a business opportunity there. It's very hard to make significant changes to a large codebase without a team of people.
This advice definitely applies to open source developers whose work is out completely in the open.
You can literally take millions of lines of code that they may have written wholesale, and change a single word in it that you don’t like.
In open source, they have nowhere to hide. If you disagree with a certain decision they have made, you are welcome to take the effort they have put in to implement the hundreds and thousands of other decisions they have made that you do agree with, with a simple “git clone”.
> if you are a developer and you disagree with someone's choices, you are free to take it in your own direction.
That would be best said to persons named above.
They were free to fork GNOME into their touchscreen based imaginary future, and experiment with it even more freely as a minority group, rather than trying to hijack the project, and getting stalled half-way because of popular pushback.
>trying to hijack the project, and getting stalled half-way because of popular pushback
Again, please do not spread these unfounded conspiracy theories. I can explain more what I mean by this, but it seems unlikely you are willing to hear what I have to say. I can tell you if you're trying to convince me to be hostile towards any specific developers for any specific project, I will have to decline to get involved with that. You don't have to resort to character assassination, if you have some ideas on a good technical direction for a project, just make the argument and write the code: people will listen if your arguments are sound and your code works.
I personally don't know the full history; you might consider looking for some old blog posts or politely contacting a GNOME developer for an explanation of the history. From what I understand, the run up to mobile was a major source of funding for GNOME 2 from several mobile companies, and that's where all the developers came from, but most of those companies were not able to keep up and failed to iOS/Android. So the funding dried up and Red Hat was one of the few companies that happened to survive because of their other business. That's what I've heard but you should talk to more people who were actually involved in the project back then if you want a more complete answer. (Please assume good faith and don't be hostile, we're all friends here, these are just developers trying to pay the bills like the rest of us)
There was a story recently, On the Graying of Gnome, comment by boudewijnrempt [1]:
> The reason is simple: Nokia. Nokia (and to a much lesser extent, Intel) built up a lot for Maemo and Meego. Just for KOffice/Calligra, at least twenty people were paid to work on the documents application. For all of Maemo/Meego, the total number of people Nokia funded was enormous.
> And then Elop, and the burning platform, and Windows, and well, that was 2012.
> By 2014, my company was dead, amongst others, and, yeah, the peak had peaked, and the big chance for free software had gone.
This sure seems accurate to me, from what I've personally observed, but I don't understand what motive they might have. What's the point of controlling popular software by making everybody hate it?
> What's the point of controlling popular software by making everybody hate it?
I think, in their view, all comes after taking hold of the project. But here, they got that, and now what? Now, all lofty plans have to meet the cold reality.
It's like a mutunineers on a ship throwing officers overboard, just to realise hours later that they are in the middle of an ocean, and they have no idea how to sail a ship without skilled crew.
I saw that happening in public companies: a single asshole activist with puny few percents of the company keeps throwing big radical decisions onto every shareholder meeting, until he gets everybody so discombobulated, or the company so disfunctional that others either leave the company to him for taking, or he gets a legal casus belli to sue the company to try to wreck it further, and then seize it.
For such people, it doesn't matter if the company in question dies, as long as they come out with gain. Some are plainly idiots with too much legal education, and some are genuine degenerates doing it with full knowledge of consequences.
Does GNOME really bring in much paid support momey? In the past I have worked at a company that did have RHEL5 workstations with GNOME by default, but everybody I knew treated that as a joke and sshed into the workstations from their (Windows) Thinkpads or Macbooks. The desktop software on those workstations was unwanted and unused.
A lot of people like it. Just because there are old timers that cannot move past gnome 2 it do not mean that Gnome 3 is bad. It faster and more polished that KDE. Workspace management and screen real estate is supierior to anything I used.
I believe the 'graying of GNOME' discussed here a few weeks ago is evidence that fewer and fewer people like GNOME each year. New developers would naturally be drawn from the ranks of enthusiastic users. (Why would a developer volunteer their labor for software they don't use and care about?) The graying of GNOME shows that the pool of enthusiastic users has been shrinking since GNOME 3. That's about when GNOME tipped over the edge and started losing developers faster than it gained new ones. The missing new developers would be new developers, not old timers. If it were only old timers who feel alienated, I wouldn't expect GNOME to have trouble recruiting new developers.
Gnome 3 is default for most popular distros (Ubuntu, Fedora, RHEL, Debian etc) If anything gnome is getting more popular thanks to Ubuntu switching.
There fewer people contributing because programming in C is no longer fun or hip. It is not Gnome problem but the whole Linux ecosystem. Gnome is slowly adopting rust but the core framework is still C. There is plenty of active forks of Gnome2 people can contribute there.
Screw Red Hat, the amound of crapware and bad attitudes coming from them is astounding. And of course, since they have big bucks, it gets shoved down everyones' throats.
The lack of typeahead in GtkFileChooser is my biggest annoyance that I've ever come across. Ever since I started using computers nearly 25 years ago I used typeahead to navigate through directories and I can't imagine doing it otherwise. The idea of removing typeahead is anti-human to me, I couldn't adapt even though I really tried to.
Which makes me think the biggest problem with the file selector as described is not that it's flawed, but that it's hard to replace.
One of the thing I loved about the Amiga was that because of how the API was structured, it was easy to replace things like this, as you could patch every API endpoint. As a result, it took very little time before more advanced replacements for the standard file requester appeared. You "just" had to patch (via OS-provided functions) a couple of library calls.
I have found a (cumbersome) solution to this using Xfce. Its Thunar file manager does implement type-ahead, so whenever I need to open a file that is saved in some deeply-nested folder, I open Thunar (using a custom shortcut, Ctrl+Alt+E) and quickly navigate to the file using type-ahead and press Ctr+L to copy its full path to the clipboard, then I switch to my app and paste the address.
For complex paths, I found that this is the quickest way to open the file I want.
MATE's based on GTK, so it inherits all the GTK "features", last but not least, the v3 file chooser, which lost along the way the create new folder key binding, and the quick search by prefix (which now has to be inconveniently performed on the address bar).
Additionally, programs may rely on different GTK versions, which also makes things confusing. For example, Visual Studio Code and Firefox use GTK3.
That one really really really pissed me off because it’s a task I expect to do tens of times a day. Also it has some serious focus loss issues in that space where you’ll have to tab or click something again.
I must have installed a Linux distribution 100 times with the intent of using it as a desktop and lasted less than a day every time. I’ve been doing it since 1998. Literally something that horrible punches me in the face every time.
And if it goes like it did for me, that smile will turn upside down in a month and you'll format your Linux partition and move to WSL2 on Windows even if you haven't used it in 20 years. That's it, I'm done.
At least now I only have to put up with a slightly dated and crufty interface but I can use my PC to full potential - gaming AND work AND working bluetooth. Crazy huh?
In my case, I also managed to notice that my computer is much faster than it ever was on Linux, which is nice. If I had an old Core 2 Duo Linux would make it fly, but alas, I can afford a modern PC.
Yeah I've got a hefty PC here too running Windows. WSL2 is wonderful until you get your first Hyper-V bugcheck, filesystem corruption or weird ass network issue to debug. It's really not very good. I used it from day one and WSL1 before that which was even more horrible (NT impedance mismatch was obvious)
The compromise for me before migrating to Mac was using Windows on the desktop with Ubuntu VMs in Virtualbox. I had whole clusters running on my desktop.
Windows 10 is fairly decent on most hardware I have found. If they finished off all the little quality issues, had a decently integrated mobile ecosystem and stopped all the telemetry bullshit I'd be there now. I had some hope back in 2015ish when I was full time windows desktop dev with WP handset etc. Alas the world moved on so I dug the old Unix hat out.
Mac is great, I would use it full time if Jobs and Apple hadn't decided gaming is for kids. It's my hobby, especially now that I'm locked home, and being unable to play the latest PC game is an unacceptable compromise for me. No, a console is not what I'm looking for.
So in that case, Windows is the best compromise. And while I'm still in the proprietary world, I'm outside the walled garden.
In any case, I haven't hit any WSL2 bug or corruption in these 6 months (nor blue screen), so fingers crossed.
If I use KDE I'm still subjected to GTK and Freedesktop for stuff I use which is where all the bugs live. But then I have more inconsistencies between Qt and GTK so in fixing it that way I now have two problems.
Linux itself is fine. It's the layers of shit smeared on top that are not.
So many times I would go to a folder, start typing the name of a file/sub folder that I knew was there and it was like “nope! Let’s instead search whatever default directory instead. Apparently this behaviour is by design and alternatives won’t be considered. (This was when I was using Ubuntu 18/19?) at some point they changed a bunch of default things in the UI interface (including getting rid of what I considered was the far superior previous lock screen manager).
Or when you have the full path name already and want to paste it in to GtkFileChooser. It turns out this is possible, but you'd never know it from the UI.
There's been some changes and refinements since Windows 3.1. The current default file chooser dialogue shipped with Windows allows you to put in a full path into both the top file path or in the Filename dialog.
In this, a full path can be pasted in to both the top bar where it says "This PC > WINDOWS (C:)" and also into the blank "File name: | |" box.
I'm pretty sure I remember this dialogue being available since NT days. It seems fairly discoverable to me, clicking in the empty space of the current working directory path changes it to show the text path of the directory. The "File name" box offers autocomplete if you did something like "C:" as a file name, or started typing a folder name of the current working directory.
This is why if you're smart, you hide that behind a short timer to pick up the pause. Tuning it just right can be a pain, but hooking natural behavior as an indicator of needing assistance increases the UI bandwidth in terms of signaling. It's the little details.
> You could type /tmp/a. and it would autocomplete it to /tmp/a.png
>
> It is a good idea, but I type too fast. So I would write /tmp/a.png and then the autocompletion triggered and replace it with /tmp/a.pngpng
This is so sad.
Autocompletion of filenames should work perfectly no matter the conditions. If "ls" can list tens of thousands of files in a fraction of a second, there's no reason that autocomplete has some delay. I can see why this happens, maybe you have a thousand images in /tmp and the file picker is opening them all to compute their thumbnails (which in my opinion is useless, but whatever). Then it uses quite a few kernel threads and it clogs the system, making the completion to fail. But it sounds like this problem should was already solved many years ago, and that modern "improvements" of the file picker made it fail.
This exact issue is actually what prompted me to switch to Kubuntu/KDE. It's still not perfect out of the box, but it's matched my expectations way better than recent versions of GNOME have.
Let's do another... Open any directory with 3+ items. As first item is highlighted, quickly hit <down arrow>, <enter>, <down arrow>. The 3rd item opens...
There is a lag when hitting <enter> and the last <down arrow> is processed out of order :/
This is bad but it's not unusual. There are similar issues in Firefox and Windows. Nobody gets UI asynchrony right. There are race conditions in everything. It's particularly noticeable with a slow computer.
I promise you people have gotten this right. I have a 198? Mac Plus on my desk that I can boot up and do this on and it will work properly. I’m having trouble even imagining the insane event-processing architecture that results in keystrokes being processed out of order.
Edit: Alright, alright, forget the old computer. My new ones get it right too. All of which is a red herring, because the point is this behavior is ridiculous and never should’ve shipped.
>I’m having trouble even imagining the insane event-processing architecture that results in keystrokes being processed out of order.
It's relatively simple: the picker executes file-opening asynchronously, and only checks which file was selected at some indeterminate point after enter is pressed. In the meantime, the down arrow input in the main GUI changes the selection. The keypresses are always in order.
Whether or not that's the correct decision, it's not an inconceivable design. That example is probably one of the only times it would matter, since you would need async code that cares about some part of the file picker state.
To sound like Linus Torvalds, "that's braindead stupid!"
I have never looked at the code in question, but it almost sounds like the developers went out of their way to create these ridiculous bugs, because the simplest solution definitely would not have something like that happen: The handler for Enter gets the current selection (which will definitely be the correct one) and opens it.
The actual opening can be slow, so that can be done asynchronously. But to interpret "Enter opens the current selection" as anything other than the current selection at the time the Enter key event was received is definitely in the realm of rookie mistake if not worse.
If getting the current selection of a UI control somehow needs to be done asynchronously, then something is seriously wrong.
As a long-time Win32 programmer, the manifestations of these bugs are definitely hard to conceive.
This is an issue with X11 which I don't know exactly where it comes from and what causes it. Yes, it has to do with the async nature of it all and I agree it's stupid and it's a miracle the desktop even works. Over time, I've been wondering if Windows dodges this simply by having syscalls that interface with window procedures while Xorg deals horribly with it by being pure userland. Another issue is, there's no mapping of pid <-> X11 window. It's simply impossible with the current design of client-server.
What makes you think this is the case? X11 has an ordered event queue and there is no reason an application can't process the keystrokes in the correct order.
> Another issue is, there's no mapping of pid <-> X11 window. It's simply impossible with the current design of client-server.
What do you need this for? There is _NET_WM_PID [0] which can be set by clients.
_NET_WM_PID is optional, some clients do not set it and even then afaik the server doesn't do any sanity check and the client can set it to anything, making it inherently insecure. This is not good design.
> What makes you think this is the case?
Many other ways in which async behavior happens on X11, on any machine I've tried, with the mouse cursor lagging to register a click event, for example.
> 'What makes you think this is the case? X11 has an ordered event queue and there is no reason an application can't process the keystrokes in the correct order.'
Frankly, it is completely fucking unacceptable for software to miss keystrokes or read them out of order. This is basic programming 101. Any code which exhibits such a problem has a shit design and needs to be rebuilt from scratch.
This sort of thing is exactly what drove me away from the mainstream Linux distros, to create my own from scratch. If and when I ever happen to boot up something like Linux Mint and use it, (shudder,) the sluggishness of gnome3/cinnamon/whatever and all the other bloatware running on the system is readily apparent. My system is always FAST and snappy. Input lag or missed keystrokes? Not on your life.
Reading through the HN comments on articles having to do with speed, snappiness, responsivness of a UI, and excessive bloat of software, it occurred to me one day that these kids (here's the root of the problem) don't actually have a clue that things could be any different than they are. And that's why we're stuck here.
They have literally grown up with slow, bloated shitware for their entire lives, so they actually think all the bloat and slowness is normal and necessary.
Notice how the GP blames X11? They grasp for excuses rather than exercising deep thought, while demonstrating low standards, complacency, and laziness. This is what happens when the common masses take over anything. Shallow thinking and low standards prevail.
These kids have a false conception that doing away with the bloat would mean losing a bunch of features. But in reality we could indeed have fast, responsive, light weight systems, with all of the same features and even more, if only programmers cared enough, or were talented enough to write good software.
I'm not a Wayland user and do not plan to be. Instead, it is a criticism of the current abandonment of the Xorg project, which I toy with the code from time to time. I also do not use any DE and use X in the leanest way I can, and I still notice such input lag, whether it's playing games or some gui application seeming to register input at a different x,y position than it was clicked. This does not mean I'm a xorg hater, quite the opposite. Studying the codebase, it seems pretty well written and documented and it proved me the "X is unmaintainable" mantra is a lie. I can elaborate more on other issues of the async & client-server nature of X. I'm not spouting nonsense.
I believe the entire point of Wayland was to pull away talent from Xorg development, to keep people in a quagmire for a decade plus working on that junk instead of fixing up Xorg to be what it should be.
Just like how the entire purpose of a certain very Gimped graphics editor was probably to occupy and exploit people who could have worked on some better project. It seems to have worked for a long time; only now after many years do we finally have Krita, but it's KDE only.
It's obvious microcomputer UNIX has been under assault for a long time by those who don't want the dream of a free, open desktop to be realized.
I do agree that there's a spread of FUD regarding X11 and its code but I believe we can win this fight if we're interested in fixing X's shortcomings and making the leap to "x12" or whatever you wanna call it. Don't know anyone else who delves into the codebase though.
There is a standard window property that anyone can set and that any halfway sane UI framework sets. I ran into maybe one that didn't and even then it was five lines of copy/paste code to add it.
> Whether or not that's the correct decision, it's not an inconceivable design.
I'm having trouble with the part of the design where we recognize that a file is selected (such that pressing <enter> causes a file to open), see the <enter> keypress, and then fire an event saying "open any file, whichever one you feel like" as opposed to "open this file right here, the one we can see is selected".
If, as you maintain, the keystrokes are processed in order, then at the time <enter> is processed, we specifically take notice of which file is selected. (Because, as I said above, we only know that <enter> should open a file at all because we see that a file is selected.) We fire the file-opening event after that. This isn't a mistake we can make by accident; we'd have to be making it on purpose.
I can see where the assumption that the keystrokes are being reordered comes from; it's much less insane than what you're proposing.
Because the event says "open the currently selected file", not "open this file because it is the selected one". If the event is processed asynchronously w.r.t. other events which can modify the selection, you can get buggy behaviour.
I don't find such a design that surprising. If you like simplicity, you would be tempted to go for it, because it doesn't involve duplicating data (namely, the selected filepath) between the main GUI state and the event handler for opening the selected file. If you're writing in a memory-managing language like C, it's even more tempting - by not copying data, you don't risk forgetting to free it later.
I'm sure there are far more qualified hn users than I to elaborate, but basically you wouldn't have a dependency on an mutable object. Rather, the object would have to be directly passed to a function.
Having said that, I meant it more generally in the sense of their respective architecture design paradigms than details of a particular implementation.
As a rule of thumb: if you ever ask "why not", and the alternative you're proposing is more complicated - that is normally why not. Lots of UI/UX bugs can simply be attributed to the programmer taking the most simple possible design.
In this case, the async logic is not advanced. In fact, I'm willing to bet that this is what happened: at first, the file-opening was synchronous in the GUI. People complained that opening certain files locked up the file picker, so a developer sticks the file-opening code in a background thread. This produces the above bug, without complicating the input design - in fact, preventing the bug requires making additional changes to the code in some way.
>Whether or not that's the correct decision, it's not an inconceivable design.
It's easy to imagine. Someone kept a variable for the current selection and instead of copying it during the enter event they just read it when the delayed action happens. It often takes time for a second window to open or a page to load. If that new window references the current selection you are going to run into bugs.
It's a design that has caused many video game exploits. You can do impossible things like disassemble a Fat man barrel and put it on a pistol in Fallout. You will get a rocket launcher that has the fire rate of a pistol except it shoots nukes and only uses bullets as ammo.
That Mac cannot multithread the UI interactions. It doesn't have to be a keystroke processing issue. It can be "hey window parent, I've got your result in my properties, pick it up" which doesn't get processed before the next event changes the related property.
Keyboard maybe. That same old Mac probably processes mouse events out of order: when it was being slow you could click on something then move the mouse somewhere else, and it would click the new place instead.
However, the Mac was about the only system getting this right by rigorously prioritizing UI events on the system level.
(Which is also, why applications like Photoshop on Windows weren't a viable option for professional users for some time, until hardware became faster. How do you draw or paint, if the events representing your gestures are not synchronized, as they are subject to system load?)
LibreOffice had (has?) a similar strange race condition when typing. When the computer was acting slow and LibreOffice Writer was lagging, the Finnish layout's characters äöå would jump to the front of the typing queue somehow. So if I typed "menkäämme", I might get "äämenkmme" when LibreOffice finally renders the typed text. I don't know if it still occurs but it was really annoying and I always wondered how on earth it could happen.
Only if each key has its own function to process that keystroke, and some keystrokes had to do more processing and thus take more time about it. Selecting an item in a list view is a fast, simple process; what happens after that isn't up to the list view anymore.
Assuming an asynchronous UI programming model, I can only conceive this happening because they skipped having a proper Model and instead the View is accessed directly (in the Mode-View-Controller way of thinking).
However the most disturbing thing is that events might get to be processed our of order. Even if you stored current state in a proper Model, there is nothing you can do if your event queue ends up being "<down>, <down>, <enter>".
I guess that's why Qt prefers to do all UI event processing exclusively in a single thread. The event queue will always be serviced in order.
That's likely the fault of the GVFS and other virtual-fs-on-top-of-kernel-VFS layers. Gtk seems to be slower than others (such as KIO/KDE), but all of them are pretty slow. E.g. the KDE file picker takes about a second or so to finish listing the contents of my home directory (though it is usable while it is doing so, unlike the Gtk dialog), where the Gtk takes quite a bit longer (perhaps on the order of 3-5 seconds). Meanwhile ls is essentially instant, as you'd expect for just a few thousand files or so.
KIO is pretty fast I think. Dolphin is insanely fast at least - if you list a large directory almost everything that can't be loaded instantly is loaded asynchronously and streamed in to the UI after the UI becomes responsive. I think the KDE file picker is using other code altogether, I'm not sure why it's so much slower. GIO is horribly slow and makes everything that uses it next to useless, eg [1]
Interesting explanation at the end of the bug report:
The slowness is only caused by the GIO's G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE and g_file_info_get_content_type. Wherever they are used, there will be a slowdown because the contents of files, that lack extensions, should be read for finding their mimetypes. Almost all the time is taken by that; the other operations are done pretty fast — particularly, the Qt GUI takes no time in comparison.
Yes, actually reading that it makes it sound like the file manager itself is just badly architechted - of course you shouldn't load mimetypes synchronously before listing a folder in the UI, that seems obvious.
So maybe I'm not right about GIO as such. But Nautilus is also excruciatingly slow despite being more fully asynchronous.
Many years ago I was a hit by a bug in the Gnome file chooser (on ubuntu) that selected a random sibling file in the same directory. Caused me to accidentally upload something I definetely didn't want to publish.
In fact I have never since directly uploaded anything from my own personal file directories, instead I make a copy of it under /tmp for the upload process.
Not sure if this is the same bug you are talking about
It's stuff like this that makes so hard to onboard new non-techie users. The proverbial mom or grandma, whose knowledge about the "filesystem" and "directory hierarchies" is already pretty weak, would probably spend 30 minutes or more with this exercise in frustration, before giving up and/or grabbing the phone to ask for help.
When you're past the stage of first impressions, it's a death by a thousand cuts.
Windows is not better in lots of these details, but at least users already know its tricks due to Microsoft's years of desktop dominance. I'd argue the effort of changing platforms should be about improving the experience, not about swapping a list of UX issues with a set of different ones, otherwise the change isn't really worth it for most users.
EDIT: oops I meant to write this comment as a reply to the sibling that talks about how difficult it is to select a parent directory in the file picker dialog (https://news.ycombinator.com/item?id=25721368)
I get this all the time with Safari windows on Macs ever since they changed the new tab view when they switched to location naming rather than big cat.
Hit cmd+new window pops up with search highlighted, start typing after a split second the window pops behind the other and all the key presses are then fed into the previous window.
KDE user here, so cannot comment on this case exactly, but in my experience the default "Windows" of Windows and Mac are also terrible.
Try to split a window pane on Windows, or right-click and create a file in Mac. In either, try to open an SFTP folder as if it is local, or integrate Git status icons into finder (all easy to do on KDE and Gnome). Good Luck.
The number of copy+paste bugs and QuickLook hanging issues on Mac is not even funny.
Just look at all the enhancers like Norton Commander and Path Finder, and you can see that even calling the OS Windows didn't make MS put too much effort into their windows.
There are also multiple file pickers (Qt/GTK) and they don't share history or recent file list. Also in GTK picker if I select an existing file on Save by accident, I can't unselect it and I have to write filename again manually myself or close the picker and try again. This is annoying, time-consuming and frustrating.
File pickers are one of the things I don't like on GNU/Linux unfortunatelly, saying that as someone who daily uses it as a primary platform.
Given that we've seen multiple examples in both TFA and other comments in the discussion here pointing to simple bugs that have A) been open for 10+ years and/or B) locked and closed as WONTFIX, I don't know if that "plus side" is valid here.
You will find lots of such examples of a feature which you personally find very important and wonder why such a simple thing is not supported yet. I guess everyone has such examples. And you will also find such examples for MacOSX or Windows.
Anyway, I guess there are actually not too much people caring about this feature. And the intersection of those who do and those who have enough free time and knowledge to implement this is just empty.
Btw, I don't quite understand the comment about KDE. It sounds like the the author claims that KDE lacks other relevant features. But comparing Gnome vs KDE, it is quite clear that KDE has much more features. This is never a complaint I heard about KDE.
Yes, and Gnome is in part responsible for a lot of "desktop" issues with linux. Distros must switch to KDE by default to help eliminate part of this stigma. KDE is so amazingly good that there is no excuse to keep using Gnome.
I think that's very much personal preference. I tried KDE a few months ago and I couldn't stick with it; it is slower than Gnome in a lot of ways, it's (to my eyes) much more cluttered, and has lags at annoying places. For example, I tend to hit the windows key and start typing to launch things, but under KDE there's enough lag before the menu opens that it doesn't catch my first few keypresses.
This. I get periodically frustrated with Gnome and give KDE a go and always end up going back to Gnome within a couple of weeks. I want to like it, I want it to work but Gnome (on my setup) is more responsive and that is more important than all of the other deficiencies of Gnome.
I'm on a 3 year old laptop, and I tried several times to get a keystroke to be dropped after I hit the windows key and I couldn't get it to happen.
I use windows-key and start typing to launch things all the time, and after reading your comment at first I thought I might have developed a habit to pause, but nope. I wonder what the difference is.
My biggest KDE gripe is that popups from the system-tray disappear if you move the cursor outside of them. Maybe pro gamers can manage to keep the cursor in every time, but for me I often take 2 or 3 tries to click on something.
> My biggest KDE gripe is that popups from the system-tray disappear if you move the cursor outside of them.
This looks like a bug or you changed the default setting, just to be sure in System Setting -> Window Management -> Window Behavior -> is the Window Activation Policy set to click to focus?
Ohhhhh. Of course I changed it to focus follows mouse because that's the One True Way(tm) of managing window focus. So I'm guessing that when the popup loses focus, it disappears. Thanks for solving that mystery. I'll ponder whether it's worth it to make the disappearing have a lag, conditional on the window activation policy.
Stay tuned - it seems KDE's home menu will get a major overhaul.
"This week Plasma also saw a new Kickoff menu that is a complete rewrite, which is also coming with Plasma 5.21. There have also been many bug fixes, performance improvements, and other ongoing UI refinements."
"This page assumes the status quo as of Plasma 5.7". Plasma is now on version 5.20 so the page you linked has some pretty old examples. The KDE folks are working pretty diligently to clean stuff like this up as they find it. Nate Graham's weekly blog documents this and other updates to the project.
Small half-joke: Only two words into the front page post I already hit a UX issue! (and a UI inconsistency)
> This week (KWin’s compositing code was almost totally rewritten...)
I then instinctively went on to the top of the article to check on the date, to get an idea of when was "this week" for the author... but there is no date. Oh, well :-)
Opening the post itself (instead of reading from the main page) does indeed change the UI and it now happens to show the date.
Loved the irony...
This all shows that even for people dedicated to it, getting UI/UX right is hard.
That page looks kinda out dated, and "contains some ideas how to improve the Plasma notification system". So a lot of that is mocks and not real screenshots.
KDE, to me, looks like someone designed it to be a touch interface.
Everything is so LARGE and padding between elements is YUGE. The tech is cool and everything seems to work fine, but something about the UI just grates me.
Also, KDE is the most customizable DE of them all, and it has the most powerful features of them all (by far). Given that, all these "but it looks kinda bad!" comments sound insane. It's like choosing a push mower over a motorized because you like the finish on the handle.
I was happy KDE user for very long time - first 3.x, then 4 (even with all those glitches and bugs at the very beginning). Then I had 7-8 years break off Linux and last year decided to install it on my new desktop machine.
Went with Plasma first - did not go well. I simply cannot get comfortable with it and general look and feel is not working for me (I prefer defaults and I avoid much tweaking and any 3rd party customization). I settled on Cinnamon, but it was close tie with GNOME which was actually quite refreshing experience for me.
So, to each his own, but I just do not see KDE as "the sanest" default.
>KDE is so amazingly good that there is no excuse to keep using Gnome.
IMO, one aspect where Gnome excels is its tight integration of alternative input methods. I remember it being controversial that Gnome blessed ibus over alternative engines, but as a result, setting up CJK input is simple and foolproof. Although I prefer KDE in every other way, I have never managed to get ibus working correctly in that environment.
CJK input magically working easily and reliably in Gnome is the pretty much the only reason I use it over KDE. And setting it up doesn't require following a wiki, using the commandline and/or having to edit obscure config files or messing around with weird GUI settings apps.
I have nothing against KDE by any means (I love it, and also really appreciate their initatives like KDEnlive, etc.), but I don't think I've ever gotten Japanese/Chinese input to work in it before. Maybe once, but then I gave up on finding a sane way to easily cycle between the different input types (eg, WinKey+Space).
> KDE is so amazingly good that there is no excuse to keep using Gnome.
I have nothing against KDE, but come on. Many of us really do prefer GNOME despite its perceived deficiencies. This is just a matter of personal preference.
I'll never understand this. It's like people who swear by xfce. Both are borderline unusable to me, but gnome certainly isn't in that category, despite its bugs.
Didn't mean to pick on xfce, I haven't used it in a couple years to be fair. But when I did, it just didn't fit my workflow that well. For example, I'm used to pressing command+space and getting system-wide search for all files and apps. This is basically the default behavior on gnome, I just needed to remap the shortcut. I also often move desktops and the "activities" view makes that really simple.
In the early-2000s like many other people I was attracted to the Crystal[1] theme/icon pack, but it did not take long for it to start looking tacky to me. I feel like KDE never really abandoned this kind of look-and-feel until Plasma was released, which is very clean and pleasant. It has discarded cartoon-ish icons and has sharper lines and colours which are nicer to look at. I am a big fan!
I've never understood why so many distros make gnome the default DE. There are much better and friendly ones, some of them forks and some written from scratch.
I think this may have been true in the past, but KDE 5 is nowhere near as bloated as KDE once was. (And they've also made huge strides in consistency and a sane UI experience.)
I've tested comparing Gnome/KDE on old hardware (eg, 2 GB of RAM and CPUs built for power conservation), and subjectively I found KDE to be a lot snappier (Gnome Shell always choked for me when hitting Activities) and, after a few hours of uptime, found it used less memory than Gnome. On the same box, it even gave Xfce a run for its money, which was surprising.
Although, when it comes to peddling Linux to other people, I'm hesistant to install KDE for anyone because it's a bit too configurable. I'm always afraid of getting asked for help because of someone accidentally messed up their UI and losing their taskbar or something like that. KDE's came a long way in recent years, but that "you can configure everything" core will always probably be there. And on the flip-side, if I install Gnome, people often find it outlandish and barebones...
Did you try it recently? That was also the stigma of KDE 4.x. 5 is snappy and bloated is probably the wrong word to featureful. I just can't stand gnome exactly due to the opposite: bare bones, missing features, lack of integration and mainly lack of standardized ux.
that might be subjectively correct to a lot of people, but I find that they are usually set to sane defaults and a lot is disabled by default. Also, I would like to emphasis that the choice of disto kinda matters here as they sometimes change defaults.
That was my opinion as well until about 4 month ago when I actually seriously tried an up to date KDE for the first time in years. Turns out I was completely wrong.
If you use it with every basic extension, like Kubuntu's default setup, then it's really bloated (Akonadi and MySQL is a dependency for KMail), but thankfully it's highly modular and enough fast for my taste.
I’ve not used Kubuntu in years but there was a time when it was consistently running 50% slower than every other KDE orientated distro (and some distros that were DE agnostic too).
I think Kubuntu did more harm than good for people’s perception of KDE.
While you're here and know a thing or two about libinput: it's completely unusable for me, and the only reason I'm able to work at all is that the old synaptics package (on which libinput is based as a clean rewrite as I understand) still works. The reason is that libinput doesn't support sensitivity; I still remember the physical pain of hard-pressing the touchpad when my current notebook was new, and in particular the moment when I looked at the notebook and just stopped doing anything at all on it in conditioned anticipation of a frustrating experience. Also, kinetic scroll doesn't seem to work, amplifying the issue.
I noticed Ubuntu have switched to KDE (or, alternatively, LXDE) as DE for their "Studio" variant. I'm guessing that's mostly because the minimal window decorations for resizing etc makes gnome hard to use, and Studio is for large notebooks or desktops anyway. I think the exercise of patience that was resizing windows on gnome2 has slightly improved, but I'm still speechless as to the loss of the global menu to be replaced by ... a centered clock accompanied by a minimal dot that I found out to display notifications after a while, and nothing else.
I mean I'm glad that F/OSS for desktops still exists at all, but gnome3 is really just a big regression for no reason at all, and I'm starting to get a bit concerned where gnome is heading. It's not that we have a wealth of new desktop apps anyway. Maybe Ubuntu is testing the waters to switch to KDE as well.
Disclainer: KDE dev so take my opinion with a pinch of salt :p
The decision by the Ubuntu Studio variants was made by the Ubuntu Studio developers and not by Canonical. The developers are also maintaining Fedora Jam with KDE installed by default too. Unfortunately all the big commercial distros are using GNOME as default DE because RedHat is providing the commercial support for GNOME already and it's easier for them to just make the same choice. So I don't think Ubuntu will switch to KDE anytime soo, even if GNOME developers don't like Ubuntu and make their opinion very public.
Love these guys, they give a crap about usability. BTW next release soon - after a bit more polish. Polish take time and work, but do you really care about the software if you don't spend some time unclogging the toilet?
This is the absolute CORE of the problem with open-source software. Someone becomes the "maintainer" of a project, often through no skill of their own (they just showed up at the right time), which effectively makes them BDFL with infinite veto power. Hard-forks of popular projects are politically unpopular (for good reason), so that isn't an option. Instead, the whole world of software that relies on a package is broken or fixed at the whim of one dude.
> This is the absolute CORE of the problem with open-source software. Someone becomes the "maintainer" of a project, often through no skill of their own
That’s a bit unnuanced, isn’t it?
Nobody randomly becomes the maintainer of a big/popular project without having a history of contributing. They were the ones willing to pick up the task of doing free labour for everyone after the last guy didn’t want the job anymore.
As maintainer of a project, their job is to try to respond to bugs, maintain it, improve it and keep it working. All for free.
If somebody submits a low quality or low effort patch which goes against the projects conventions or general strategies or patterns which will over time increase the maintainer’s burden, he is under no obligation to accept that patch.
On the contrary, whoever submits the patch is the one who wants to benefit from all that time invested into the project so far, for his own good. I think it’s absolutely fair to expect/demand that they are also willing to put up some effort when they send in patches and receive feedback.
I love Linux desktop but miss these creature comforts too. For me, my biggest input issue is the lack of customisation around trackpad deadzones, i.e. the 15% or so deadzone on the left and right of the trackpad. My trackpad is exactly in the center of my laptop but my palm is usually offset slightly to the left. This means my first interaction with the trackpad often happens in this deadzone area on the left-hand side of the trackpad, so no input gets registered until I lift my finger and "enter" it more towards the center.
There are a huge variety of laptops with different size trackpads, different positions, varying levels of palm rejection etc but there's zero customisability around this seemingly simple behaviour.
My Windows dualboot has no such issue and macOS of course (using a MacBook) works fantastically without this limitations.
I've never noticed such issue, quick search shows that one has to start on edge and movement in vertical direction [1]. Vanilla edges are 8% of the width on each side [2]. There was a proposal to add configuration option [3], rejected — they've tried this route before, it was impossible to test.
Fortunately source is there and it is easy to patch (try to set 0%). That's quite common, for example there are several patched libinput on AUR [5].
Does your hardware has firmware palm detection mechanism? Current bug [6] (Palm exclusion zones are not worth it on some hardware).
Thanks for your detailed reply. Unfortunately the Microsoft Precision Touchpad on my Dell XPS 2-in-1 2019 (Wacom HID 48EE Finger) does not support ABS_MT_TOUCH_MAJOR; it's worth mentioning however that Windows works perfectly and palm rejection seems to work on a hardware/firmware level (no output when running "libinput debug-events" and moving a palm) making libinput restrictions unnecessary and most definitely unwanted.
The touchpad is about 7 fingers in width and the palm exclusion zones are a little more than one finger on each side; this is roughly 30% of the trackpad, or 15% each side, certainly bigger than 8% and even that would be too much.
Additionally, although the documentation does state that rejections should only happen for a vertical like movement, it also happens for a completely horizontal one.
Sounds extremely strange. You should fill an issue.
My Dell Latitude E7440 follows description and I believe same is true for most of the users. I have to start movement at least diagonally, once it catches further direction does not matter.
It produces no output when running `libinput debug-events`. I've recompiled my version with 0% just to check.
/* palm edges are 8% of the width on each side */
- mm.x = min(8, width * 0.00);
+ mm.x = min(8, width * 0.08);
edges = evdev_device_mm_to_units(device, &mm);
tp->palm.left_edge = edges.x;
- mm.x = width - min(8, width * 0.00);
+ mm.x = width - min(8, width * 0.08);
edges = evdev_device_mm_to_units(device, &mm);
tp->palm.right_edge = edges.x;
Disabled. I like how it is easy Arch allows such experiments:
$ yay -G libinput
$ cd libinput
$ makepkg -so
==> Verifying source file signatures with gpg...
libinput-1.16.4.tar.xz ... FAILED (unknown public key E23B7E70B467F0BF)
==> ERROR: One or more PGP signatures could not be verified!
$ gpg --recv-key E23B7E70B467F0BF
$ makepkg -so
$ vim src/libinput-1.16.4/src/evdev-mt-touchpad.c
$ makepkg -fei
Thanks for updating your answer with your diff. Arch really looks great in how easy it was to try that. I'm running Ubuntu and have experience compiling custom kernels so this should be slightly easier to try, thanks once again for such a great reply.
Ultimately, I would prefer that this kind of feature is configurable in userland. Wayland's documentation page mentions that "Data from touchpads showed that almost all palm events during tying on a Lenovo T440 happened in the left-most and right-most 5% of the touchpad. The T440 series has one of the largest touchpads", and this may have been true several years ago, but it's quite common now to have larger and wider form-factor touchpads.
Thanks for the links, particularly the second one. It looks like something I may have experimented with before but I'll try again. It could be that my touchpad does not support ABS_MT_TOUCH_MAJOR (Dell XPS 2-in-1 2019).
I answered generically because my comment was about a libinput "issue" which affects all distributions and desktop environments. (Queue 2021 is the year of linux desktop).
Personally, I see this change as a regression from the highly configurable synaptics driver.
As you've asked, distribution wise I typically run an Ubuntu LTS with Gnome 3 but rolling releases such as Manjaro and lightweight DE like XFCE are also very nice.
Hey at least it's possible. System Preferences-level config has a cognitive cost, it's ok by me to move 1% or fewer level stuff to plugins. My example is that I want the scroll direction reversed when I have my trackball plugged in, but not on the trackpad, and there's a helper app called Scroll Reverser which does the trick.
Alas, my white whale is focus-follows-mouse, and I just... can't have it. Not worth abandoning the Mac over, not for me, but.. arrgh.
How does "focus follows mouse" work? If I'm understanding; your desktop is a collection of various sizes windows, maybe overlapping and stacking. If your mouse goes off the side of the one you're focusing, it will auto focus the one you're now hovering over. Won't this lead to accidents where you'll have a larger window suddenly gain focus, with no way to see the old one and re-focus it? Seems easy to make a mistake.
This maybe would be solved by a window manager that enforces never allowing windows to stack depthwise? Which OSX doesn't have of course. Just size-and-position-hotkey workarounds
Nope, what you're describing is a mistake in focus-follows-mouse, one which has been made more than once.
In real, XWin-style focus-follows-mouse, the window you mouse over gets the focus, but, isn't pulled to the front. If you click, it gets the front and the focus.
I use Moom, a semi-tile snap-style window wrangler, and a widescreen with three panels. What I want to do is just slide the cursor over and start typing, but I have to remember to click, and often enough I just don't.
I remember setting some reasonable “raise timeout” and it worked well for me. For one use case, I had a workflow with two full-height overlapping windows (vim, xterm) and little mouse shifts toggled them up/focused.
Alt-tab didn’t work because its mru usually gets spoiled by other (browser) windows. If only there was a setting that fixed alt-tab mru into a stack. Alt-tab-tab to switch to app which started second may be much better than mru for some workflows, because you can always predict what it does with certainty of 1.
I actually have it set to not raise even on click; I often want to click just one thing in a window that is behind other windows. Moving a window brings it to front and I bind windows-click-drag to move a window. That lets me raise any window I like.
same. i don't raise on click. this is incredibly useful when a smaller window is
in the foreground--and perhaps a window underneath is maximized--and i just need to
select/copy something from the background real quick. the main task i am
working on is in the foreground, and i don't want its window to immediately vanish from my
sight because it's mentally and visually disruptive (in fact, i usually don't want to
blast every other window out of sight when the maximized window raises either). i will
easily raise the background window when i need to (in a variety of ways, depending
upon whether i am currently using keyboard or mouse); meanwhile, i can lazily
focus it and interact with it while all my windows stay put. it's very calming.
> And you will also find such examples for MacOSX or Windows.
If anyone wonders, here are three from Mac last I used it:
- fn took the place of ctrl on the laptop (but not the full keyboard). Unlike on Dell and Lenovo who also has this problem it could not be remapped neither at boot nor in the OS.
- CMD - tab forced me to think ahead of time if I want to change to the last application or the last window of the same application. I.e. switching between two Safari instances takes a different key combination than switching between Safari and IntelliJ.
- modifier keys worked differently between applications, e.g. selecting to the end of a word was either ctrl-shift, alt-shift or CMD-shift depending on application.
Things that annoy me on mac:
- there's no volume mixer (each app having an individual volume slider)
- no window snapping (before I bought BetterTouchTool, which includes window snapping, I had windows everywhere and it was just a mess)
- column view in Finder is nice, it would be really useful to pick a new "root" folder for the viewer, or to move one directory up from the "root"
Things that annoy me on windows:
- No tabs in explorer. Imagine having a web browser that didn't have tabs, that's how bad this is.
- No preview in explorer. Mac has this awesome feature where you press space and it gives a quick overview of most files (not only images but also pdfs, .docx, ...).
- No column view. Column view makes it much easier to navigate across directories, and back and forth between subdirectories of a root directory.
I use both and really miss the spacebar Quicklook on Windows, I found this 3rd party app that adds it https://github.com/QL-Win/QuickLook and works better than I expected.
> CMD - tab forced me to think ahead of time if I want to change to the last application or the last window of the same application. I.e. switching between two Safari instances takes a different key combination than switching between Safari and IntelliJ.
That’s a feature, not a bug. I personally hate having to tab through a million browser windows to find the application I need, or having to tab through unrelated applications when looking for a browser window, which is what I have to put up with when using Windows.
It is a feature which replace another feature (stack based switching). It broke my flow multiple times a day for three years until I got a Windows machine again. I guess we are just differently wired, the idea of stopping to consider which shortcurt to use was neither natural nor possible for me at that age (around 30).
KDE does this perfectly however. It defaults to Windows/classic Gnome 2 behaviour but can easily be configured however one wants it.
“Standard” is just your habit built on another operating system. macOS has a fundamentally different application and window model, which is also why there’s a consistent application menu bar across all applications and windows, not what each app decides to invent or not invent for itself within the window.
First, I fully agree: this is not a bug, it's a missing feature. Second, I may be a minority here, but I actually don't mind this feature missing at all. I however do (or did) mind Windows putting its "thumbs.db" files all over the place, so that's the first thing I deactivate when installing it (along with enabling "show hidden files" and "show extension for known file types").
- "Welcome to the new GNOME car. It's totally free!".
- "Looks great. But there are no mirrors. Isn't that dangerous?"
- "Yeah, but that's not a bug, it's a missing feature. Besides, we don't like mirrors because in all cars they need to be cleaned all the time."
- "Really? Apparently the KDE cars also have mirrors but different technology, and they don't need to be cleaned at all. Also, what's the difference between a bug or missing feature if a lot of people complain about it?"
- "Oh yeah. But honestly we really don't like that people have to clean their mirrors, so we prefer not to have them."
Looks like we disagree on what's a bug and what's a feature in a file picker. But the mirrors on a car are mandated by law, so the equivalent for that would be a missing Cancel button (which forces you to always open a file). If I had to pick a car part equivalent to the file thumbnails, it would probably be seat heating or a built-in navigation system - it's nice to have (for some, others never use it), but you can use the car without problems if it's broken or not installed.
I'm not saying that it's not a nice feature to have, but it's also definitely non-trivial - it's not only thumbnails for images, if you do that people will also demand thumbnails for videos (including, of course, all ancient formats), PDF files, Word/Excel/PowerPoint documents, HTML pages etc. etc. etc.
> Anyway, I guess there are actually not too much people caring about this feature
I do care about this feature just like the author and though I don't have any evidence supporting my thinking, I think nobody enjoys trawling through bunch of weirdly named files (which is typical of how downloaded image files get named by default) looking for that specific picture/icon. After the Gnome 3 debacle where they basically refused to listen to the users and even removed not-so-obscure features like tabbed windows in nautilus (which I noticed is back now), I just didn't have the confidence that raising a feature request would amount to much.
You can contribute all you want but it's not going to be enough to stop Pottering or RedHat from hijacking the project and breaking everything. I used to contribute but these days what's the point?
I was quoting the parent comment for misspelling "pottering" as "poettering" since I'd not encountered either term.
I'm not sure using someone's surname is such a great idea for this purpose. But I now at least understand why. Also their anger at the added complexity being done to Linux and surrounding structures including but not limited to systemd.
But these structures are still in flux. Even if it means a mess along the way.
> There's a quote that I think of in situations like this:
> "Be the change you want to see in the world" - ghandi
Gandhi (spelled thus) never said that. What he did say (in an article about first-aid treatments for snakebites, weirdly enough), was this:
> We but mirror the world. All the tendencies present in the outer world are to be found in the world of our body. If we could change ourselves, the tendencies in the world would also change. As a man changes his own nature, so does the attitude of the world change towards him. This is the divine mystery supreme. A wonderful thing it is and the source of our happiness. We need not wait to see what others do.
That said, you can't do that with windows or macosx.
I'm not as sure with Macs (and the surrounding culture isn't really eager on such things anyway), but there's a long history of people modding Windows in various ways, that goes back to the DOS days. Of course your customisation is highly unlikely to make it back to MS, but things like WindowBlinds were extremely popular.
> it is quite clear that KDE has much more features.
My guess is that the author prefers Gnome because yes, it has
fewer features, but those feel more polished. KDE is powerful
but some less frequently used features felt more like functional
prototypes that were thrown somewhere into the nth level of the
system settings.
Then again the last time I tried it Gnome had a lot of issues as
well, so maybe I'm completely wrong nowadays.
There is a lot going on each week in KDE trying to improve the situation. Nate Graham is making a summary of the parts, he monitors: https://pointieststick.com/ There is definitely still quite a bit to improve but compared to 3 years ago, Plasma and KDE software has improved by a lot.
They pretty much had this nailed down in KDE 3.5, we're now 12 years later, how much longer will it take before current KDE will show any signs of being "finished"?
I tried a logitech mouse with that feature, mx anywhere 2s, but you lose the mousewheel middle-click as the wheel-mode switch is a physical switch and cannot be remapped.
Ended up taking it back for a refund and getting a g703 instead.
I don't think I have a wheel-mode option on my G703. I have a small button above the wheel which changes the pointer speed, but nothing I can see that puts the wheel into an accelerated more.
Honestly if the "2s Anywhere" had had the setup you described I would have kept it. Logitech tried to explain that middle slick was still there, on the button further back towards the palm rest, but it felt so unnatural and inconvenient. The 502 looks like a nice piece of kit.
Why is there a metric ton of whitespace between the image and the label? Why doesn't anyone care about pleasant design in the Linux world? It's arguably the reason one would pick Elementary OS, yet this is the result.
This has somehow gotten worse in recent years. When saving, it used to be you could use the mouse to navigate to a directory, then type the desired filename, and press enter.
Now, typing the filename initiates a contextual search within the current directory.
Clicking in the filename textbox and starting to type doesn’t work either. You have to highlight the base (not the extension or “.”) of the filename. At that point, you can finally start typing the name of the file you want to save.
The same problem occurs if the file chooser happens to already be in the directory where you want to save the file.
I’m not sure if this is still the case as I haven’t used desktop Linux for about a year now, but what made this extra irritating is that the file name would be highlighted already! How on earth can selected text in an in-focus modal window not be the target of keyboard input?
For me this is really annoying as well, together with the stupid
text input fields that may display a blinking cursor even when
they're not focused. And Firefox has this weird issue that now
and then a newly opened tab doesn't focus the address bar,
forcing me to use the mouse to select it.
And I still don't get this trend in some newer software to make
tab switching via Ctrl-[Shift]-Tab feel like the lottery instead
of just going to the one on the left or right. There's a reason
we can reorder tabs by dragging them around, and a reason our
keyboards have more than just those three keys, and "fidget cube
replacement" is not it.
Sometimes I wonder if the UI designers never use their own
products or just aren't aware that building habits for chains of
workarounds should not be the normal way to interact with
computers. /rant
If you have to use Firefox on shared computers occasionally, it may be worthwhile changing your habit to use ctrl+pgup/dn instead of ctrl+tab; ctrl+tab defaults to switching in order of most recently used tabs these days, while ctrl+pgup/dn stays with current tab order.
If you keep them separate (it's configurable), Ctrl-L focuses the address bar, Ctrl-K focuses the search bar. I don't know how these keys behave if you configure it to use a single combined address/search bar (I've always kept them separate).
When combined, Ctrl-K focuses the address bar with a `? ` prepended, which turns it into a search bar. (In the most recent version it replaces the `?` with the name of the default search engine, similar to Chrome.)
ctrl-tab in Firefox can be configured to move through tab in a last-visited order, I personally love it and can't stand the lack of this feature in chrome/edge when I use them
Another related issue: when saving something from Firefox, the file picker opens into _a random directory_ each time. Like maybe 50% of the time, it will be the most-recently-used directory, but the rest of the time it is a random directory that I had saved something to at some point in the distant past.
It boggles the mind how these bugs can persist for years upon years, but my occasional forays into the GNOME bugtracker indicate that the developers just don't seem to care one bit about this stuff. They often seem downright hostile and defensive and dismissive of the bug reports, either closing them as WONTFIX or ignoring them until they rot.
I believe they are not random at all. I haven't dug into it, but I've seen similar behavior here, and my impression is that Firefox stores an association between some or all of the URL host component and the most-recently-save-to location.
If you saved something from http://foo.bar.com/ to /whatever in the past, future visits-and-saves to *.bar.com (or maybe just foo.bar.com) will use /whatever as the default location.
>Now we have half the software, no manual and often it still confuses users :-)
I was going through the contents of a storage unit and came across one of those old digital executive day planner things from the 80's, still bundled with the manual.
I cannot describe the sudden surge of childlike happiness. I loved reading about how to use things as a kid, and the little fold out pamphlets giving you a roadmap into efficiently using a device/software filled me with many hours of happiness and confidence as a child.
I now do my best to WTFM (Write The Frigging Manual) where I work. It's amazing how quick something can be picked up with a little bit of guidance.
Instead of fixing old problems that the entire community agrees with wild consensus, they insist on spending time creating new problems.
Perhaps we should stop whining and start fixing them. And then if the developers refuse to accept things people have been wanting for well over a decade then we can fork it and simply abandon them like any other archaic unusable thing of the past. We've all asked very politely long enough.
This is open source, we don't have to put up with this, that's the whole idea behind it. Closed source solutions from 23 years ago shouldn't still be running circles around the current stuff. We should all be embarrassed.
If the fork is closer to the final result that most people want, it's a no-brainer that developers, maintainers and the community will follow. There's no incentive to stay behind.
It's worth studying the case of OpenOffice.org and MySQL. Both of these weren't satisfactory to the community for <reasons>, so the community forked them and did all the high-demand feature implementation on the fork. Now the original projects that were forked from are near-ghost towns.
So someone implements all the features that a massive number of people want, people use it, but then you think there will be no interest in maintaining it?
Doing some introspection (all too rare for me!), I find that this is the reason I've started avoiding creating new files in LibreOffice, and why my Downloads and Pictures folders are flat, unstructured messes. Too many programs use the GNOME file selector.
Isn’t that “better” in some sense? You don’t have to actually categorize anything in order to find it later. Just type what you want and let tracker pull it up for you.
If I could just “accio my black jeans” I wouldn’t bother organizing my closet.
The assumes you know the name of the random image you downloaded to insert into the document. mjx3AmQXM5OrkxV7.jpg isn't super easy to remember (as a random real example chosen from my downloads directory)
I mean nothing excuses not having thumbnail previews. That’s just stilly. I just mean the default typing action to be search rather than typing the name of the file.
I think the OP was talking in the context of saving, where searching during the "save" process seems a much less frequent occurrence than giving the name to the file you are trying to save (which presumably you have to do 100% of the time).
I suppose it might be better? But the folder-first sort means I've got a miscellaneous pile of extracted archives very far away from the archives themselves… it's a complete mess.
Yes! This issue infuriates me to no end. I've made my set up quite clean, I've got my tiling window manager set up how I like it, but if I want to keep using firefox I have to keep dealing with this ridiculous bug. What on earth was the person thinking when they created this?
I've seen many other downgrades with gtk updates. The UI for Deluge, one of my favourite pieces of software, got pretty ruined by the gtk3 uptick.
I used to contribute bugfixes to Gnome2 in months before Gnome 3 was released. I observed product plan for Gnome 3 and was joking Gnome 3 will be just a red button that farts.
So many functionalities removed, slower response time, regressions and defects everywhere, broken user experience worse than what Window 10 gave us later. I moved to XFCE and then to Plasma.
"At one particularly frustrating moment, I offered the following: “Bill, a shower, a toilet, and a water fountain all have mechanisms to control water flow, places where the water comes out, some sort of porcelain basin to hold the water, and a drain, but we don’t combine them into one thing to reduce their learning curve. We don’t merge them into one object because each of them are in use in fundamentally different ways at different times.”
Then the pause.
Then Bill’s verdict. ["That's just rude."]
Ouch.
As I saw my career disintegrate before me, I started to question just how “beautiful” my analogy really was. To his credit, Bill was forgiving, and met with me many times after that, giving me numerous opportunities to get him on board with all manner of ideas coming from my team (with varying degrees of success on my part). Ultimately, I never did succeed in making Bill really comfortable with a more emotional approach to software design. But the real lesson of the day was learned. In the software industry, as long as the engineering-minded run the show, the notion of subtle and textured user experience design that balances the emotional and functional aspects of a software experience will always struggle to take root."
There was a paragraph in that article that made me think of something
>”But engineers (like everyone) see the world through their lens. Engineers look at code all day. And when they see two pieces of code doing roughly the same thing, they immediately think about ways they could eliminate the wasted effort by combining them into one piece of code that performs both functions”.
I shudder when thinking of all the times I have wasted time trying to generalize something only to end up with code that is harder to understand, awkward to use, more complex, more prone to bugs, or all of the aforementioned, just because there is a stupid voice in my head going “do not repeat yourself”.
With maturity comes the insight that not repeating yourself is good. But sometimes avoiding it makes things worse and costs a lot more.
> I shudder when thinking of all the times I have wasted time trying to generalize something
My programming life has improved for the better when my threshold to generalise and DRY is not when I need to use some piece of code in two different places, but when I need to use it in three different places.
I am not joking, that was life changing advice for me.
In software there is the distinction between visually DRY and functionally DRY.
The latter should be collapsed, but might not be duplicate code at all. Automated code analyzers will often not even see these.
And the former must be kept duplicate. Unless you can make it functionally duplicate too. Automated code analyzers will often flag these wrong.
Don't get me wrong: I love automated analysis in a CI or my workflow. But it is not binary like a linter: pass or fail. It requires context and interpretation; I see e.g. CodeClimate as suggestions, not laws.
I think we talk about slightly different abstraction levels.
I wasn't thinking of the things a compiler will tend to optimize. It was more the times when I have tried to do too much with some higher level abstraction and suddenly you find that the abstraction isn't a good fit for everything you need to do inside it and that you may even be writing code that becomes very awkward (hard to understand, "abuses" the abstraction, or just very slow).
These things tend to hit in the "oh shit" phase when you have enthusiastically convinced yourself (and your team members) that this is the way to do it, you have written a lot of code where the abstraction still fits and then you stumble upon the cases where it doesn't fit and things get awkward.
DRY is a good principle, but duplication of code that does nearly the same thing may have significantly lower cognitive overhead, be easier to maintain and easier to evolve in some cases. (The trick is to silence that little OCD voice in your head when you come across those cases).
Funny you'd post that in here because MacOS sucks at this and Windows does a great job. In fact arguably the engineering mind worked great there. The file open dialog in Windows is just a repurposed Windows Explorer view which means you can access all the things you can from explorer when opening and saving including things like unzipping a zip file, renaming some existing file that's in the way (like file.txt -> file-old.txt and then saving the current file as file.txt), moving files (create a folder "old", drag file.txt info old, save the new file as file.txt where the old file.txt was.
Basically you can actually do the things you often need to do. Conversely on MacOS if you need to do any of those things your only option is to use Finder which really sucks because you then have navigate to wherever you were in the app
And of course you can set the icon size in Windows file dialogs, something you can't do in MacOS file open/save dialog
So in this case, thank god the engineering mindset won out in Windows, at least for this particular feature. Whatever UX designer on MacOS decided to neuter the file dialogs failed UX class apparently and chose based on some random airfairy idea then users actually getting work done.
- Re: file open dialog - repurposing Windows Explorer means that every time I want to open a file in an app in windows, I have to look for it, rather than just drag/drop from a window I likely already have open into the file open dialog (or from a quick-find launcher tool).
- "Basically you can actually do the things you often need to do. Conversely on MacOS if you need to do any of those things your only option is to use Finder which really sucks because you then have navigate to wherever you were in the app" - I'm having trouble understanding what you mean here.
- Don't get me started on sizes for accessibility reasons, that was partly why I had to switch elder friends to a mac after watching them suffer on windows. Things may have improved over the past few years though.
- I really want to see Microsoft or the FOSS community figure these things out, I dip my toe in once in a while but I think there's an evolution in cultural/governance/funding needed. Maybe the popularity of videoconferencing may help the FOSS world actually see how people work rather than just posting pictures of 'screenshots' and battlestations.
Have you tried? A properly written Win32 app is supposed to handle drag-and-drop of files onto its window, and treat it as "Open". Try this in Notepad, for example.
That said, I'm not sure what this has to do with repurposing Windows Explorer? It uses the same widget to browse files, but the File Open window is not actually an Explorer window.
GP is talking about drag-and-drop of a folder into the file picker view, which results in the file picker navigating to that folder. Or drag-and-drop a file into the file picker view, which results in the file picker navigating to the enclosing folder and then selecting the file being dragged.
This is even more useful when saving files than opening files.
I see. I have to say, though, as described, this sounds as a rather inconsistent behavior to me. Does the macOS file picker not provide file management functionality at all (e.g. creating folders or moving them around)? If it does, it's kinda strange that it would behave differently from the standard file manager.
> Conversely on MacOS if you need to do any of those things your only option is to use Finder which really sucks because you then have navigate to wherever you were in the app
While I don't disagree that it would be nice to be able to do more of the same things in file picker as in finder, there is the possibility to right-click -> open in Finder
Filepicker also supposrt Finders "go to" (cmd+shift+g) that let's you type paths, with autocomplete and support for ~, which is a super nice feature.
An amazing feature of the windows file picker that i hardly ever see mentioned is that you can simply paste in a url into the name field and it will automatically download it to tmp and refer to the file.
Reading this story from 2012 now, it aged... interestingly. It's basically complaining that this mentality:
> Concept reduction, consistency, skill portability, were all core to how to make a great UI. Why have 17 different ways to pop up (or drop down) a menu? Why have 17 different graphical treatments? With “one menu to rule them all,” users could learn how to use the menu once and then apply this knowledge anywhere they saw this affordance. That way, developers don’t have to reinvent the wheel, and users don’t need to relearn the wheel.
was taken too far, and argues for dialing it down a notch or two. But the industry did exactly that, and the resulting UX is worse than what we had in early 00s - and keeps getting worse every year.
If software engineers wrote novels, most of them would just add new pages to a million page choose your own adventure novel, and then laugh at all the authors who write a novel from scratch each time.
If it's any comfort, had it been me, you'd have gotten a promotion on the spot. Toolmaking requires a delicate balance between realism, and sytemic abstraction. You have to simultaneously keep the view of system-as-world and end-tool-in-the-world firmly in mind simultaneously. Sadly, with programming, it can be very difficult to keep oneself from getting bewitched by overall system complexity in ways that end up having an adverse effect on the usability of the tool itself.
Great analogy, though. I posted about how macOS’ file picker behaves compared to Windows’ one; this analogy would’ve helped.
When I want to use the bog, I’ll use the bog. When I want to clean my bum, I’ll use a bidet. When I want to wish my hands, I’ll use a hand basin.
The way Windows does it feels like crapping in the bath tub, at least to me. Wrong tool for the job. “If all you have in a hammer” kind of deal.
On the other hand, I’m sure Windows users who defend the mini-Explorer think of it more like using one of those fancy Japanese toilets with a bidet and music player to hide the sound of your ablutions.
Pretty sure 99% of regular people would be happy if there was a desktop with GNOME 2 feature parity but with a good Wayland compositor and probably some modern features that would come from that (multimonitor, VRR, ...).
I just can't understand how anyone could defend GNOME 3. Their own staff have to use extensions (that break every update), even Fedora (!!!) has to patch GNOME packages now.
They kept fighting that their workflow is superior and now they are going to change it all over next release. They keep butchering their toolkit, I can only use Qt applications now. Hell I'll take even Electron over GTK.
For me the Linux desktop with a WM is the perfect balance of exposing the internals and UX. It could be better but that's true to every OS, at least here I have my freedom. I'm keeping my eye on KDE, seems like they rewrote their less than ideal compositor (legacy X11 is a burden) and maybe in a year I could be using that.
I've once heard someone say that GNOME is Microsoft's favorite DE. You can guess why.
Up until 2020, I didn't use screen sharing all that much, so the lack of support for that wasn't a big deal with using Wayland.
Now days though... this is a problem. I feel sorry for the folks running some Linux desktop that don't know why the option to start screen sharing just doesn't exist in various apps. I can imagine another Linux user saying "but it is right there!" to them, also not understanding why they have it but the person they're talking to does not have screen sharing.
To be fair, that's rather a problem of the applications not supporting Wayland. You can share within Xworld and Waylandworld, but not between them. I assume that's a non trivial problem and inherent to Wayland's design.
You can screenshare just fine through xdg-desktop-portal. It has nothing to do with whether the DE / compositor providing the implementation of xdp uses X or Wayland or something else, and it has nothing to do with whether the application doing the screenshare has an X window or a wayland window or any window at all.
I don't use a DE myself but I do package software that's meant to run on "normal" Linux distros and the lack of a desktop on modern Gnome is absolutely baffling. I make industrial software so these machines are really single-use so it makes sense to put shortcuts where they won't be missed by somebody who may not be super familiar with the Linux desktop (especially since said shortcut will often be used when something goes wrong and speed is of the essence).
I remember thinking "what on earth were they thinking" the first time I realized that none of the usual way of putting things on the desktop worked on modern Gnome. Absolutely baffling. Breaking such a well established convention is pure hubris in my book.
I'd be perfectly fine if this was a niche DE that you'd have to go out of your way to install but this is bloody Gnome, the de-facto standard DE for Linux. Absolute insanity.
I've been running Cinnamon on a few machines for years, and it mostly works fine, which for a Linux desktop is high praise. The file picker has thumbnails (although it only has a list view, so they're ant-size).
I haven't used MATE. My understanding is that MATE started life as Gnome 2, whereas Cinnamon started life as Gnome 3 reskinned to look like Gnome 2. Both have grown considerably from their starting points.
My desktop user experience with Mint Cinnamon was as close to delightful as I've ever had on Linux. All the GUI stuff worked without me having to fiddle around in the terminal like a "hacker", the UX was generally high-quality, and the default theming was pretty and consistent.
My overall impression was that it was definitely and surprisingly usable for non-technical people like my mom, grandma, etc. who don't use their computer for anything sophisticated but also don't have the time/energy/wherewithal to debug and configure things.
I can't speak highly enough about the Mint Cinnamon experience, and I recommend that everyone involved in the "Desktop Linux" world try it (at least in a VM) so they can get a sense of what "good defaults" actually look and feel like.
> All the GUI stuff worked without me having to fiddle around in the terminal like a "hacker"
This was also my experience.
The only customisation i've done is:
1. Moving the panel, depending on what my feelings about proper panel placement are at the time.
2. Removing all the default shortcuts, because they collide with IntelliJ and/or are useless, and defining a few of my own
3. Setting up custom compose key sequences
Removing the shortcuts was done in the UI, but i really wish i could do it in a config file instead, because it's a pain to spend ten minutes clicking around. I had to hit the command line to set up compose keys, although i think this is an X problem, not a Cinnamon problem.
Omg, this is insane, I now realize I automatically memorize the first 3 and last 3 parts of filenames I need in the picker... For screenshots I read the date very carefully and fear the day I upload a wrong one. I was going to the toilet with a plunger, not even realizing it.
Btw, if you work on MacOS (which has been a while for me now), you get very used to hitting space everywhere to get previews. What a feature!
No, not at all. The article is about this precise problem: the file picker in Gnome does not show a preview of the selected file.
It’s truly absurd.
Edit: Folks, instead of downvoting, how about pointing out that I apparently have an additional bug going on in my desktop setup? This is exactly the problem with Gnome.
I believe the article is about showing all the files as thumbnails at once, so you can select the file more quickly. The article shows once you've selected a file it shows a preview of it to the right.
Hm, I definitely don’t have _any_ previews in the GTK filepicker. I specifically had to open the Files application just this week so I could identify which screenshot I wanted to upload in Firefox.
I guess I have a different bug happening _in addition_ to what the article is talking about. Lovely.
I have zero thumbnails/previews in some of the GTK filepicker instances, but not others. Signal Desktop shows previews in a pane to the right. Thunderbird shows no previews at all.
No, the issue is that an application needs to implement the preview widget and add it to the GTK file picker, hence this work needs to be duplicated by every application and of course most applications don't do that. But if the application adds a preview widget it should work regardless of which view mode is active.
Edit: Also the new GTK API for file pickers to work better with sandboxing and platform integration, lacks the ability to add preview widgets altogether.
As a KDE user I wouldn't care what the Gnome people do if their BS wouldn't affect me. But it does, and it's annoying!
They refuse since over a decade to implement some generic way to open the file-picker native to the running DE. They force their garbage usability on everybody, even people that would prefer not to use "anything Gnome". Same issue with CSDs, by the way.
Like I said: They can have their broken stuff at their place if they prefer it like that. But it's utterly antisocial to force that stuff on everybody without any opt-out possibility. They even actively and deliberately break and remove configuration options. That's just not OK.
> As a KDE user I wouldn't care what the Gnome people do if their BS wouldn't affect me. But it does, and it's annoying!
KDE has own sins as well - they removed ability of running Dolphin as root giving some vague arguments about security and users protection, while other DE allows running their file managers with highest rights without any walkarounds nor weird acrobatics. I've seen some Plasma addons restoring this feature but it seems it doesn't work on my Manjaro at all.
They were right, you should never run a GUI as root. The wrong part was not providing the alternative before blocking it. That maintainer left KDE IIRC, not sure why but I heard there were a lot of conflicts.
Last time I checked this feature was in progress by KDE devs, polkit or something like that, that allowed you to do that kind of operation without root.
But it was in a limbo because it was huge and hard to merge. They were trying again last time I checked. They would probably help you or anyone who would like that feature implemented to get started.
On the plus side, unlike many other FMs, Dolphin has a built-in terminal (hit F4) that's sync'd to whatever dir it's at, and you can `sudo` your operation there. xP
Somehow I feel pity for Gnome users. It reminds me of the early KDE 4 days, just that they seem to be stuck in this limbo for a much longer time. Gnome 3 was released in 2011...
No, the GTK application needs to explicitly add support for that feature, by using the newer GtkFileChooserNative API, introduced in GTK 3.20, instead of the older and more extensive GtkFileChooser API. In my experience it's still a complete hit and miss whether a GTK application supports native dialogs and of course you actually might loose some features with it, since the new API doesn't support everything of the old one.
I wouldn't really expect that the new API will ever be able to support all the features of the old one simply because the dbus API it farms out to has to be generic across all toolkits / DEs.
From a distance it looks like a personal preference thing: some people that prefer the KDE desktop environment might just prefer the GTK dialogs, controls or UI decisions made by certain GTK apps.
How about when you try to save a file, so you choose File Save As, change the directory, and then try to start typing the filename and it starts searching (recursively!) instead of letting you type your new filename? Even better (not), then it lands on the first matching search item and makes the filename that filename?
Wait, this is a GNOME thing and not a Linux thing? WTF? I've used GNOME for over a year now but this thread is seriously making me consider switching to something like KDE...
A lot of people love GNOME, so I'm speaking from a place of personal opinion and not as objective fact: I loathe GNOME and only used KDE on my Linux desktops because GNOME seemed to have a motto of "there's only one way to do it, and it's going to be awful". KDE isn't perfect, either, but GNOME was a death by a thousand cuts.
Gnome is notoriously terrible for not accepting patches outside of redhat employees. I tried adding a patch to gnome in the 00s and the number of hoops they expected me to jump through along with the tone made me never install their de again.
Gnome uses Gtk; Gtk is the Gimp Toolkit. It was created for an image editing program. In a way funny that their file picker is missing such an feature one would expect in an image editing program these days.
(From scrolling offer the discussion I can in parts see the architectural constraints they have and can image they have other priorities ...)
According to Wikipedia[1] GtkFileChooser is from 2.4 in 2004. So that was designed more than 16 years ago. Not sure when Windows got the feature, but previews could have been thinkable then and machines powerful enough to handle it with some usable threshold.
On macOS, when you drag a file into an Open or Save panel, the panel’s current directory switches to the dragged file’s containing directory and highlights that dragged file.
On Windows, when you drag a file into an Open or Save panel, the dragged file is moved from its original location to the panel’s current directory. It is a destructive action!
That may be one little thing but it’s part of a whole number of reasons why I dislike using Windows. Alas, all the counter arguments to any and all reason I might give for preferring macOS do sound like toilet-plunging family members.
Note that on windows there are at least 3 generations of save dialogs. Which one you see depends on which generation of the api is used.
The most common one is the more modern which is basically just an explorer window. Dragging a file into an explorer window works that same regardless of whether it’s an open/save dialog or not. It’s a move/copy operation (depending on e.g modifier keys).
I didn’t quite get the point of dragging a file to a save dialog at all though? (Assuming that’s what you meant by panel) is it that you wanted to use it for navigate+set-name? That to me as a windows user seems alien. I expect it to work as an explorer window! Expectations are everything. The principle of least surprise doesn’t really work cross platform I guess.
Yes, a save panel is a save dialogue. It’s just Apple terminology.
> I don’t quite get the point of dragging a file to a save dialog at all though?
On macOS (since forever) and iOS (since 11), there is a heavy focus on drag. You should be able to drag anything from any app to any other app and something should happen.
This is facilitated both by system-level frameworks (so that all apps can gain correct drag-handling behaviour out of the box) and can be further enhanced by an app’s developer.
That begins with behaviour you might ordinarily expect from most apps: drag a image file from Finder into a Word, it should embed the picture; drag an audio file from iTunes into an open Audacity project, it should add the audio as a new track; or, drag highlighted text from a text field to the desktop and it will create a text snippet file containing that text.
On Windows, apps need to implement this behaviour manually. Figuring out how to deal with certain file types is not built into every app out of the box.
On macOS and iOS, it’s not just built into every app, it’s built into the operating system itself. It’s a fundamental feature of Cocoa, open which all native apps are built, so every app gets the correct behaviour for free. Dragging and dropping is super powered on Apple platforms.
For example, proxy icons: on any given document window (a window for an open document, like a Word document, Photoshop document, Final Cut project, etc), the name of the document is preceded by an icon that represents the document. You can actually drag that icon off the window’s title bar to any other on-screen element that supports receiving dragged objects — an open document, a Finder window, an email, a text field, etc.
I say all of this to cement one point: dragging and dropping is a key interface metaphor on macOS and iOS/iPadOS.
So, imagine I have a browser window open asking me to upload a file. If I have that file open, why should I navigate the directory hierarchy in the open panel? I can just drag the proxy icon for that document straight into the open panel. Bam, the open panel is pointing at the correct location.
Or perhaps I’ve just downloaded an image from the web that I want to share with my friend. Again, I can open up my favourite messaging program, click on the Add Attachment button, and drag the image in from my Dock’s Downloads stack.
(Although, that’s a slightly odd example; I wouldn’t bother with the Add Attachment button, I’d actually just drag the file directly from the Downloads stack on to the app and expect it to figure out what I want to do)
For save panels, I might already have a folder open in Finder where I want my document to be saved. When I save the document for the first time and the save panel appears, I can either drag that folder or its proxy icon from Finder straight into the save panel — bam, the save panel is pointing to the correct place.
Or perhaps I want to save a file into the same place as an open document. Again, I would just drag the proxy icon of an already-open document into the save panel, bam, we’re looking at the right folder.
Notice: these actions are non-destructive. Non-destructive actions follow the principle of least surprise. All I’m doing is telling an open/save panel where I want to be.
> That to me as a Windows user seems alien. I expect it to work as an Explorer window!
Ask yourself what the basic function of an open/save panel is: to select a location for a file (and in the case of a save panel, give it a name). Of the four CRUD operations, only C and R are directly relevant.
Something shouldn’t act as something else, especially if it’s destructive. That, in my opinion, violates the principle of least surprise — an interface to C or R should not U or D.
The only thing I expect to act as an Explorer window is … an Explorer window.
> On macOS and iOS, it’s not just built into every app, it’s built into the operating system itself. It’s a fundamental feature of Cocoa, open which all native apps are built, so every app gets the correct behaviour for free. Dragging and dropping is super powered on Apple platforms.
This isn't true. It is true that it's built into the development tools and toolkits that Apple provide and expect you to use when writing software for their platform.
But it's not particularly hard to avoid. Google "nibless development mac" and you'll find some links that reveal how to develop full GUI apps on macOS that do not rely on this infrastructure. Regardless of whether or not you think this is a good idea, please rest assured that an application developed in this way does not share the "OS-level" drag behavior that you describe above. For it to behave in this way requires explicit code to handle notifications delivered by the OS.
Why does this matter? Because those Apple SDKs that make all this happen "seamlessly" are hard to use if you want to do cross-platform development. Qt (and GTK) work at trying to take care of this for you, but its not 100%, precisely because (as you note) this concept doesn't exist on other platforms.
So yes, from a user perspective this is a "universal" feature of apps on macOS. But it does not come with the OS - it comes from only developing apps using Apple SDKs and tools, which makes it harder for people doing cross-platform development to correctly play the game in the expected way.
My only response to that is apps that aren’t made to be good macOS citizens wouldn’t even vaguely register on my radar as ‘native’, even if they link against Cocoa.
‘Native’ on Apple platforms isn’t just a technical description, it’s also about UI and, more importantly, UX. Of course, Apple are starting to muddy the waters with UIKit for Mac — but even then, the fact that iOS apps can now run ‘natively’ on macOS goes a long way to showing that just because an app links against the relevant frameworks compiled for the right processor architecture, that doesn’t make it native in the Apple-y sense.
Apps made using cross-platform frameworks like Qt and GTK certainly don’t register to me as native. They don’t just work differently, they even look odd. I don’t think this fazes Windows and Linux users/developers as much because there has never been any level of consistency remotely close to what Cocoa and macOS offers — if an app puts a few buttons in a slightly odd place, that’s not seen an a problem.
So I agree with your point on a technical basis that my assessment wasn’t 100% technically true — but I think from the point of view of what ‘native apps’ means when discussing Apple platforms, I don’t think I’m too far off the mark.
> My only response to that is apps that aren’t made to be good macOS citizens wouldn’t even vaguely register on my radar as ‘native’, even if they link against Cocoa.
Sure. But two things:
1) I wasn't saying that an app that use nib-less techniques couldn't do the right thing - it could. It could appear totally native if someone just does the work.
2) There are several pro creativity apps (Logic, Mainstage being the biggest) that are actually Apple products but they do not adhere to Apple guidelines. They use non-standard widgets, do not fully follow desktop interactivity guidelines, use the keyboard in non-standard ways. So even within the set of Apple's own applications, there are things that are about as different as a Qt or GTK application might be.
I agree on those points. Especially on the first: when people put in the hard work, those pay dividends — but often mean those apps lag behind when Apple does breaking changes (which must happen at least every 3 or 4 years).
Apple’s Pro-apps are very alien. I expect that’s because they appeal to an audience that spends almost all their time in them, not moving much between a whole bunch of apps.
Lastly: Nothing’s ever as non-native as a GTK app. :D Qt and Wx apps do an infinitely better job than any GTK app I’ve seen for macOS, even if I don’t think they come very close aside from tapping into Cocoa’s control drawing.
> So, imagine I have a browser window open asking me to upload a file. If I have that file open, why should I navigate the directory hierarchy in the open panel? I can just drag the proxy icon for that document straight into the open panel. Bam, the open panel is pointing at the correct location.
On Windows you can drag the file right onto the 'Browse...' button on the web page. (this does require some precision, as otherwise you'll open the file in the browser)
> Something shouldn’t act as something else, especially if it’s destructive. That, in my opinion, violates the principle of least surprise — an interface to C or R should not U or D.
Perhaps I'm too used to Windows's idiosyncrasies, but an open/save dialog is an Explorer window (at least in a functional sense). When you drag a file onto it, it does the same thing as an Explorer window. This does not seem that surprising to me.
> On Windows you can drag the file right onto the ‘Browse…’ button
I know, but I was illustrating a point about how the open/save panels work. That’s why in the following example, I mentioned that I’d just drag straight into the app.
> Perhaps I’m too used to Windows’s idiosyncrasies
Yes, you are. If you want an Explorer window, you should open Explorer. When you see a file picker dialog, you don’t see an extra Explorer process spawn nor does that dialog get added to Explorer’s list of windows.
> This does not seem surprising to me
Because you’re looking at it from a technical level, not a user interaction level.
At the interaction level, what is the goal of an open/save panel? To pick a location. It doesn’t fundamentally need to do or be anything more than that. That its default behaviour is destructive is classifiable as ‘surprising’.
Entirely agree with et dry thing you said. I just wanted to say, re
> For example, proxy icons
The way they are buried in Big Sur, and often invisible unless you mouse over where they are by accident is my biggest gripe with the update. This is fundamental in how we interact with documents on that platform, and one of its great features. What were they thinking?
I suppose it comes down to the fact that sidebars can now inhabit the space usually reserved for title bars. It’s not a design decision against which I have any opposition so long as draggable space remains (and there usually is; I complained to Apple during the Big Sur beta period and they made some spacing adjustments).
But I agree, those icons coming and going can make using them something of a pain. It also makes less clear what apps actually have them. An option in System Preferences to make proxy icons show all the time would be lovely.
Thanks for this great comment! As a non Mac person who has occasionally used a Mac, it makes perfect sense.
> The only thing I expect to act as an Explorer window is … an Explorer window.
One thing I wanted to add from my perspective (software engineer, use Linux and Windows): if I observed that the “save” button had created a literal Explorer window, then I think I would expect it to function as a Explorer window. I’m not surprised by that because I can recognize that Microsoft has taken the approach of implementing everything they can using Explorer. This gets back to what was discussed in the article actually!
Overall I think I prefer the approach Apple takes on this problem.
If the “save” button did indeed create a literal Explorer window, I expect it to come with all the trimmings — but it doesn’t. Plenty of what makes Explorer what it is aren’t part of the actual control that both Explorer and file picker dialogs use.
To me, thinking of file picker dialogs as literal Explorer windows is as contrived as file picker dialogs not offering full CRUD abilities — except one approach is vastly friendlier and safer.
I understand the technical decision, too, but there’s nothing that could prevent Windows from making file picker dialog behaviour non-destructive.
Indeed. Little things like Apple’s implementation of drag-and-drop being lost in this sea of ugly, slow Electron apps is something that you just can’t explain to Electron developers — they make for Windows first, they have no idea what Mac users complain about, and even when we tell them they think we’re being silly.
As per the comment to which I replied asked (although I believe GP asked in good faith): “why would you want to do that anyway?”
Because that’s how we do it on macOS. That could be why we use macOS. If you care so much about letting macOS users access your app that you went with Electron rather than writing something Windows-only, it shouldn’t be hard to learn to respect the Mac platform and, more importantly, its users.
> On macOS and iOS, it’s not just built into every app, it’s built into the operating system itself.
I can't see how it's any more part of "the OS" in MacOS than in Windows?
> On Windows, apps need to implement this behaviour manually. Figuring out how to deal with certain file types is not built into every app out of the box.
Every app on both Windows and MacOS have to implement most drag & drop handling themselves. You get notified that the user has dropped some data, and you implement it.
Some controls are basically miniature apps and can handle some of it (e.g. a text control could as default accept dropping text into it) but that's a rare edge case and in most situtaions you are obviously going to have to implement it yourself. If you are the audacity developer you'll be notified that someone dropped an mp3 on the surface of your window. You'll have to take it from there. That's 100% the same thing in windows.
> drag a image file from Finder into a Word, it should embed the picture; drag an audio file from iTunes into an open Audacity project, it should add the audio as a new track; or, drag highlighted text from a text field to the desktop and it will create a text snippet file containing that text.
File drag events work like that on windows. Text selections aren't objects in that sense (dragging just changes the selection) so that's typically not a draggable entity.
A picture is, and behaves like you expect (e.g. insert into a word document).
> I’d actually just drag the file directly from the Downloads stack on to the app and expect it to figure out what I want to do
Of course, a chat app has drag and drop for pictures into chat messages on both windows and mac. Otherwise it would be a pretty terrible chat app. Any cat app could of course be terrible, and there is every chance that more chat apps are terrible on windows - but that doesn't change the point. If you launch Teams or Slack or whatever and drag a picture from a word document into it, it will add it to your chat message. On both windows and mac.
> So, imagine I have a browser window open asking me to upload a file. If I have that file open, why should I navigate the directory hierarchy in the open panel? I can just drag the proxy icon for that document straight into the open panel. Bam, the open panel is pointing at the correct location.
As a windows desktop developer myself (who struggle a LOT with drag & drop) I can see myself implementing something like this. But it's always a question of user expectation. First of all, there is no proxy icon! I'd love to see those in windows, but it's not currently part of the UX. As such, you don't have a "drag source" for open documents. To get anywhere to drag from for an open document you'd need to open explorer and browse to the location. But that's the exact same effort as doing it in the file dialog, so what's the point? As you can see, the mistake wasn't "poor handling of drag & drop" here, the missing capability I think is the proxy icon.
> All I’m doing is telling an open/save panel where I want to be.
I want to repeat - and this is important. The windows save panel isn't special. It's a full explorer file list, plus a file name textbox. One can argue that this is a poor choice - but that's what it is. It has different areas (a filename textbox, a file listing view etc). The file listing view is just like any file listing view in any explorer window. As such it has all the capabilities you expect. If you select a file and hit delete, it's deleted. If you want to create a new folder - perhaps the most common operation for a SaveAs dialog, it does that. So here microsoft had a choice: if you drag a file onto this area of the dialog, should it work like all the other explorer file listing areas in the OS, or should the Open/Save dialogs have special treatment? I think you could argue both ways there, but there are definite drawbacks to both. It's absolutely not a clear cut case of "Well that dialog should be non-destructive so dropping should do navigation! case closed!". This doesn't mean you can't have that functionality anyway. You could just make a drop of any file elsewhere on the dialog (such as on the path-section of the dialog) initiate a navigation, for example.
> The only thing I expect to act as an Explorer window is … an Explorer window.
I think this is merely a UX choice not a clear case of "well this way is better". As I said there are several types of file dialogs in windows, and some are more like what you describe and not "Just an explorer window".
Perhaps if windows had proxy icons, there would never had been a thought to make the latest gen file dialogs be full explorer views, because then the proxy icons would have made drag to navigate work?
I use both windows and mac today, but growing up on windows, I use MacOS less and I use it like I would use windows. Which means it's extremely frustrating. For example, I had no idea whatsoever that the little icons in menubars (I just learned they were called proxy icons) were draggable. I always launch finder like I would launch explorer and drag things around, even documents I already had open... It sounds to me you have a few such discoveries to make on windows which would make the experience less frustrating.
> I can’t see how it’s any more part of “the OS” in MacOS than in Windows?
Think of “the OS” as the whole package, not just “system components and software other than user-installed applications”.
Because it’s implemented at the system framework level, and there’s basically only three system frameworks for developing macOS apps — Cocoa, UIKit for Mac, and SwiftUI — and two of them call into the other.
That means practically every application (well, maybe not every; the number of UIKit for Mac apps is on the rise) shipped with macOS is a good macOS citizen, compared to Windows which is a mish-mash of apps built with all the many various application frameworks that have shipped with Windows.
Some parts of Windows are UWP. Some are Win32. Some are WPF. None of them can be expected to behave identically. Many of them don’t behave the same way as basic system apps. Explorer behaves nothing like Settings.
> Every app on both Windows and MacOS have to implement most drag & drop handling themselves.
On macOS, only custom handling is required. When an app is built from standard components, Cocoa does it for them. These are not rare edge cases — these are buttons, text fields, text areas, image wells, and all the other basic components that make up the majority of apps.
> If you are the audacity developer you’ll be notified that someone dropped an mp3 on the surface of your window. You’ll have to take it from there. That’s 100% the same thing in windows.
I’m aware of that. Actually, I mentioned Audacity in a section where I illustrated three examples of where one would expect an application to accept something that has been dragged in. That wasn’t an example of anything exceptional to macOS.
> File drag events work like that on windows.
Again, you’re on a section where I’m illustrating standard, expected behaviour for drag-and-drop.
I don’t start really talking about anything macOS-specific until the section where I mention proxy icons, so I’ll respond to the next section.
> First of all, there is no proxy icon!
I explained proxy icons as an illustration of why a Mac user might want to drag-and-drop into open/save panels as a means to directly answer your question on that very point.
> the missing capability is the proxy icon
You got a bit hung up on the proxy icon. It was just one way that a Mac user might want to drag and drop. I mention a couple of other ways that a person might want to drag and drop something into an open/save panel.
The lack of proxy icons in Windows is orthogonal to the point of open/save panels being needlessly destructive.
> I want to repeat - and this is important. The windows save panel isn’t special.
That’s a technical detail. That has nothing to do with the merit of whether or not it should be that way.
> One can argue that this is a poor choice
Yes.
> but that’s what it is
Yes. That doesn’t make it good.
Microsoft has demonstrated an affinity for reinventing their own user interface elements with breaking changes in each iteration. There was nothing stopping them fixing this behaviour then, there’s nothing stopping them doing it now — there is absolutely no reason an application should depend on destructive behaviour.
> It’s absolutely not a clear cut case of “Well that dialog should be non-destructive so dropping should do navigation! Case closed!”
That slightly misrepresents my argument. I don’t believe it’s necessary that Windows open/save panels should behave as on macOS.
I just believe user interfaces whose purposes only cover two of four letters in CRUD (specifically [C]reate for saving a file and [R]ead for opening one) should avoid being destructive.
That could even be fixed with a simple confirmation dialogue.
> there are several types of file dialogs in windows, and some are more like what you describe
Why are there non-destructive and destructive file dialogs? Why are destructive ones the most common?
> Perhaps if windows had proxy icons
Irrelevant. Protecting user data doesn’t necessitate proxy icons. Microsoft simply chose to reuse a control with zero affordances for use-case; they made the choice not to protect user data.
> because proxy icons would have made drag to navigate work?
You’re stuck on the proxy icons. They were just one thing you could drag.
> It sounds to me you have a few such discoveries to make on windows which would make the experience less frustrating
I’ve been using Windows for the past 25 years. I still use it today, every day.
I don’t have any sudden discoveries to make, I know it back to front. With every release, it deviates worse from its own standards than any UIKit for Mac app ever could from regular Cocoa.
Fundamentally, Windows is composed of several incompatible technologies that all work completely differently from each other because of historical internal competitiveness from a fractured company. That legacy lives on today — and worsens with each release as Microsoft continues to pour efforts into other application frameworks (WPF is deprecated; UWP is unloved; WinUI is supposed to unify them; but React Native is more likely to have an impact), creating massive schisms in the consistency of the user experience.
When Windows’ absolute basic components, the user interface elements you encounter in every app, are clearly the product of some technical desire for standardisation on a single control rather than any real desire to protect user data, I’m inclined to think the user experience is not at the forefront of Microsoft’s design philosophy.
> Some parts of Windows are UWP. Some are Win32. Some are WPF. None of them can be expected to behave identically. Many of them don’t behave the same way as basic system apps. Explorer behaves nothing like Settings.
As far as I know there is only one one system for drag & drop so while it's certainly true that apps look like a mix of of every framework on earth, I don't think this makes drag & drop any less a core OS feature on Windows. Dragging from UWP to WPF to WinUI to Win32 works just as well as between two apps of the same kind (As far as I'm aware). Of course since there ARE no "standard drag & drop" thing - e.g. because text snippets aren't draggable so it's only app-specific objects that can be dragged.
> These are not rare edge cases — these are buttons, text fields, text areas, image wells, and all the other basic components that make up the majority of apps.
Maybe there are interaction modes I'm not aware of but apart from dropping text into text fields which basic components actually give meaningful default interactions? Dropping text or images into a document needs a per-app implementation just like the mp3 in Audacity. Can you give an example that isn't just a text field? For example what's the typical use case for dropping something on a button?
> just believe user interfaces whose purposes only cover two of four letters in CRUD (specifically [C]reate for saving a file and [R]ead for opening one) should avoid being destructive.
The topic of this post is "why are there no thumbnails in the gtk filepicker"? The anwer is that there is a thumbnail system in the explorer (nautilus) but the developers chose NOT to use the explorer component in the file picker. So the capabilities for browsing files diverged and would require duplicated effort to do what people expect from Nautilus, inside the filepicker. This had also happened in Windows - and this I assume is why explorer is now part of the FileDialogs in Windows. I don't mind it being a full file browser experience (I like it) and I also think it's pretty easy to rationalize the decision to make use of the system wide file browsing experience here. No windows user ever expected anything else. I'd always want my file open dialog to accept a dragged file to mean "move/copy file there". But I'd also gladly take a drop on the path part to mean "change location".
> Why are there non-destructive and destructive file dialogs? Why are destructive ones the most common?
There are older and newer APIs, even within the same frameworks since Win32 2020 is different from Win32 1990. A new app showing a file dialog would typically get the "new" one. An old app making a call to show a file dialog will always get the old one - even on a new version of windows. The reason they can't just redirect those calls to show the new one, is because these are objects that the app can also modify/customize the dialog with code that doesn't make sense for the next gen dialog. So all generations of the APIs and all the appearances of the dialogs must remain available otherwise those apps would risk breaking. E.g. a 90's AutoCad would hijack the window area and render a preview of the drawing to the right of the file list. In the modern dialog such previews are handled by explorer plugins instead of a hack to draw a picture in the dialog surface itself. But obviously that 90's AutoCad program isn't changing, and must continue to run forever. So it gets the old dialog. And obviously between different toolkits the dialogs could change just like between Cocoa and something else.
Of course, ALL file dialogs allow selecting any file and deleting/renaming it - so they are all 100% "destructive" and all have both "U" and "D" in CRUD if you want, apart from handling the job of selecting a file name.
I'm not sure whether the older ones handle drag-drop or not (good question). If they do, I'm pretty sure they do exactly what the new one does, i.e. actually move/copy a file into the filesystem at the shown location.
The ability to set the destination folder to a folder you have open in a file manager window without copy-pasting the path is convenient. But at the same time, the file-management capabilities of the macOS file picker are basically non-existent (although there seem to be more right-click options in Big Sur?)
Yeah, there are file management options available via a context menu. I believe certainly keyboard shortcuts also work (Cmd-Del to send a file to the Trash/Bin, Return to rename a file, etc.).
Having switched from Mac OS to Windows a year ago, this specific thing had annoyed me to no end, and there are no good ways to replicate that behaviour (believe me, I’ve looked!)
What I currently use is Listary, which automatically switches open/save modals to the last used Explorer window location. However, I’d rather switch to something that offers this functionality exclusively.
You can also see this AHK script which I found in a comments section here a few days ago - https://pastebin.com/cmLVFdbB
See you've been conditioned to think that some file views are different from others. On Windows, a file viewer is a file viewer is a file viewer. So yes, dragging a file from one file viewer (windows explorer) to another one (which happens to be inside a file save/open dialog) is a move action. I love this and wouldn't have it any other way. Although I agree it should be a setting. Although perhaps Apple has patented it. Gotta always remember that GUI patents are a thing.
> See you’ve been conditioned to think that some file views are different from others
They are different. Their purpose is different. It is the purpose of an open panel to let me pick a file/folder location. It is the purpose of a save panel to let me pick a folder to save a file.
User interfaces and user experiences go hand in hand. A user interface should be purposeful. It creates a better experience.
Sure, you can get used to an open/save panel having destructive behaviour and it can be handy — but that doesn’t make it a better user experience. It puts destructive actions front-and-centre, violating the element of least surprise and potentially endangering user data.
> Although perhaps Apple has patented it
Doubtful. It’s just a consequence of Microsoft using the same Explorer control throughout the operating system without making any adjustments for behaviour.
My personal theory about why this isn't fixed is that in open-source software, if you halfass a UI implementation one time it keeps that halfass implementation more or less eternally because it's "good enough" for the person who learns to work around it.
For my photo editor Filmulator I resolved to not add features that haven't had the UI fully thought through. For a while it meant it was definitely subpar capability-wise, but now that it's approaching feature completeness it means that it's actually intuitive and streamlined to use.
I agree with your theory. For instance, I’ve tried Anki and found it incredibly confusing to use. However, a lot of folks online comment on how it just works for them and how they can’t see how you’d improve upon it. I’m convinced that if you work with something enough and absolutely need to work with it, you find workarounds and eventually forget that you’re using workarounds.
I use Inkscape regularly and have issues with its UI. If I click and drag an object fast enough, often the object beneath the one I want is selected and dragged. It’s absolutely frustrating but I eventually learned to click, pause briefly, then drag to get around it. I’ve invested too much time learning the tool to move onto something else at this point.
Gnome seemed always vary bad to me. Missing a lot of convenient features. I used KDE instead which had all the features I expected plus some more that Windows didn't have yet but totally should have.
I was always wondering why Gnome is so weird and broken. Why does it exist? Who uses it? I found out when I got my hands on first Macbook in my life. While KDE mirrors Windows, Gnome mirrored some version of MacOS. Using MacOS was as horrible for me as using Gnome. A lot of basic features that I took for granted in Windows and KDE were missing or hidden so weirdly that I couldn't find them without googling. And I had to google each time I needed them because placement was so weird that my brain just refused to remember something this stupid. And yet some people used Macs, liked Macs, adjusted their daily routines to work with something that for me was missing basic functionality. And praising it! "Of course! That's how it works! That's what the plunger is for! That's completely intuitive!"
M1 chip might be all the rage but I refuse to touch Mac again till their os gets decent free window manager and file manager as alternative. Same way I'm not touching Gnome.
I'm going to assume that you didn't spend very long with the system.
I have switched between enough systems to know, that there is always some friction before you discover advantages.
I have also used Windows and Mac in parallel long enough to know that you are objectively wrong.
Okay just kidding - such things are, of course, to a certain level, subjective. But you didn't go into any details, so there's nothing to argue against.
> I'm going to assume that you didn't spend very long with the system.
I spent way to long with macos because the computer belong to my SO. She was an artist (used mostly Adobe) and wanted it for the aesthetics and was adamant to learn to use it and I had to guide her though tear-filled painful year long process of adjusting to macos ... 'quirks'
Just to clarify, tears weren't induced by me. I was coming when the tears started flowing to offer solutions and emotional support.
She persevered but I think she never was as efficient with mac as she was with windows previously. And I never stopped being occasionally called to task of researching and resolving some inanity.
For me personally macos was terrible until I found Terminal. Then I just concluded it's just kind of linux with very bad gnome-like gui window and file managers.
I know it's just my preference but learning gui with windows and then moving to macos for some advanced users is sheer pain that never subsides and some things just don't work (for some definitions of "work" like in the article we are commenting).
As for the details I remember that on MacOS when you drag and dropped a folder somewhere where folder of the same name already existed, then sub-folders were not merged. Just replaced. So you were loosing files in target location that were not present in source location. That behavior is highly unexpected and destructive for someone coming from windows.
If you select 100 files and right-click > show info, you get 100 popups ... hardly desirable.
> One might also say "Just use KDE!" Yeah, I guess I could use KDE, just like I use the downstairs toilet instead of the other ones.
Yeah but when you go to the downstairs toilet you can't bring in your favourite newspaper because the paper its printed on isn't compatible with the light bulb and you can't read it.
Firefox on KDE uses the GTK filepicker. No thumbnails.
I just set this up today and found that one also must install the xdg-desktop-portal and xdg-desktop-portal-kde packages. I then added GTK_USE_PORTAL=1 to .profile and relogged.
I remember doing that last year, or even the year before.
Anyway, a distro released in 2018 and still supported until 2023 and 2028 for extender support can't be "a bit too old" for something like the file picker. I mean, people were making fun of me when I told them I was using that ubuntu distro that had no mp3 support by default but it was 15 years ago.
Windows' file picker is actually an almost fully-featured Explorer instance, and is easily accessible from any application with a single function call. The "loose components" model that a lot of OSS seems to follow means that things like this require more effort, despite the fact that GNOME is supposed to be an integrated environment.
What’s the point of doing a whole upgrade of the GTK toolkit while ignoring this problem?
An unfortunate consequence of the incessant trendchasing that has taken hold of the software industry, closed and open source alike. Frankly, I am as puzzled as the article author how solving existing problems is somehow shunned in favour of ignoring them and making "new things"... which usually tends to just create more new problems instead. No one seems to value stability and the strive toward perfection anymore. This phenomenon has been ascribed to "resume driven development", but I'm not sure if that is completely responsible for it.
>The "loose components" model that a lot of OSS seems to follow means that things like this require more effort, despite the fact that GNOME is supposed to be an integrated environment.
It seems like the opposite. It's the tight integration of the toolkit with applications that causes this issue. If there was loose integration between the file picker and the application and its toolkit, like with the newer xdg-deskop-portal protocol, it would be simpler for someone to create a better file picker witout risking breaking anything else, and for applications to be made to use it.
Or maybe no one who's in the position to implement a feature like that or get it integrated wants it enough to prioritize it over new features. Some aspects of perfection are subjective.
Addendum: I'm not arguing icon view is not a great feature though.
GNOME is in general terrible for everything with image related work (last tested on Ubuntu 20.04). In the past I thought finder on macOS is terrible (it's still the worst piece of macOS and I don't like it) but GNOME files aka Nautilus tops it for sure (also because of space wasting issues).
XFCE and KDE both do a better job than GNOME in this regard. And also Windows Explorer was and is much much better in this area.
I mean it's definitely not for power-users but I think it's a pretty nice basic file manager. I've never really wanted for something more powerful than Nautilus but less powerful than a terminal.
I could give you so many, but I'll kick off with just three that spring to mind. i] Keyboard navigation is terrible. ii] Tags cannot be applied to symlinks. iii] If you're looking at a tree view, with any number of folders displaying, the only one you can create a new folder inside is the very top-level folder.
My biggest complaint: Normal Copy and Paste does not work. My mother is used to Copy and Paste and it would work in Linux but not in macOS finder because of: think different
Also why are folders sometimes cluttered all over the place and shorts cuts so weird?
Well I fixed it all with Forklift but I also grew up with Norton Commander ;)
What about copy and paste doesn't work...? I use that feature daily.
And for the clutter, you can configure Finder to be more militant in how it displays/orders things.
The only gripe I have with Finder is needing to set up a million QLPreview things to do better spacebar peeking. Otherwise, it's fine - it "just works" and isn't fancy.
I think they possibly mis-spoke and mean cut-and-paste, which does appear to be intentionally permanently disabled in Finder via the menu or shortcut. But you can drag so it's not a huge issue to me. Copy-and-paste works a-ok.
That's not cut-and-paste. That's copy and some weird modified paste that, as far as I'm aware, doesn't exist anywhere else. Why completely break the existing convention?
Because cutting-and-pasting is a destructive action that can lead to data loss.
Under the conventional implementation of cut-and-paste, it's easy for a user to inadvertently cut-and-paste a file, when they meant to copy-and-paste said file, either through a misclick or, by hitting the wrong keyboard combination. This is because:
1. The menu option for cut is right above the menu option for copy
2. The keyboard shortcut for cut (command-c) is just one key away from the keyboard shortcut for copy (command-c) on a QWERTY keyboard
Cutting and pasting deletes the file from its original directory, however under a traditional cut-and-paste operation, the system does not ask for confirmation. Consequently, if a user mistakenly cuts a file or directory without immediately noticing their mistake, their files could be rendered unrecoverable (and keep in mind that there's no particular reason why they would notice... the UI provides no special indication when a file or directory is deleted via cut-and-paste). This is arguably a very bad user experience.
The equivalent action to cutting-and-pasting on OS X is copying, pasting and then deleting the original file. By adding in this extra step, the UI has forced users to acknowledge that their action is potentially destructive and unrecoverable.
Also notice that the command-x shortcut in Finder copies a file. It does not cut the file. Again, this protects the user from inadvertent data loss if they use the wrong keyboard shortcut.
It's a rather unusual move Apple has made here by breaking convention, but I think they've made a wise wager that users would rather be annoyed by a small extra step, then be faced with the loss of important data.
Thinking about this design choice, I now wonder how many times I've had files mysteriously go missing on Windows and other operating systems simply because I used CTRL+X when I meant to use CTRL+C
>Thinking about this design choice, I now wonder how many times I've had files mysteriously go missing on Windows and other operating systems simply because I used CTRL+X when I meant to use CTRL+C
Zero. If one CTRL+Xs accidentally, Windows and most Linux Desktop pickers change the highlight colour before the copy. At worst you can CTRL+Z it after or copy it back. It's not a 'destructive' operation since you always have one copy of the file.
It's a typical case of Apple deciding users are stupid and therefore should be limited, combined with the typical 'just everything Apple does' syndrome.
I take your point. I can't be certain why, because it's been so long since I used Windows, but I never found this to be a problem in practice — maybe I was just lucky. I guess you could make the same argument about cut in any context, except:
a) you could argue that cutting text isn't as destructive as deleting a file, although they could be one and the same if you happen to have an entire file's text selected
b) mechanisms for undo'ing text operations tend to be more sophisticated than undo'ing filesystem operations; I might argue that's a separate problem to be resolved
I'd be perfectly happy if this were an option, buried in some obscure preference panel somewhere, labelled "yes, I really want to shoot myself in the foot" but, as it stands, I don't even get that.
>I can't be certain why, because it's been so long since I used Windows, but I never found this to be a problem in practice
I would have said the same thing. But then again, I'm sure there's been times where files have gone "missing" on my computer. Did I misplace them? Accidentally deleted them? Accidentally cut-and-paste? Who knows.
>I'd be perfectly happy if this were an option, buried in some obscure preference panel somewhere, labelled "yes, I really want to shoot myself in the foot" but, as it stands, I don't even get that.
Yeah, no argument from me there. I'd appreciate an option buried in the OS X CLI at a bare minimum.
If I accidentally cut-and-paste from a text document, the absolute worst case scenario is that I lose the contents of the text in that document. It's a bad situation, but the damage is limited and contained.
If I accidentally cut-and-paste a file or directory, the damage could be immense. Years worth of important documents, records, photos, etc... could be gone, because the user's finger slipped and pressed CTRL+X, rather than CTRL+C.
Whether or not the operating system should be protecting users in this manner is fully debatable and a matter of opinion, but Apple's approach here is definitely safer (at the cost of being a bit more annoying)
Do you not think that it's terrible UX, to have cmd+x followed by cmd+v for cut and paste in some places and cmd+c followed by option+cmd+v for cut and paste in others?
If you mean cut text and so on, it doesn't match because they're not the same thing. When editing a text document, if you cut some part, it actually goes away. If you saved the document at that point, that selection would be gone.
On files, if you cut a file on Windows for example, nothing happens. Until you paste, no operation is done. So it's not the same thing, and I think the way Finder handles it makes more sense.
Symlinks on the desktop or in Finder to files on network mounts don't receive preview thumbnails. But if you drag that same directory to the dock, those symlinks do receive thumbnails (but only when viewed through the dock.)
Somebody in Gnome did an awesome thing and I want to know who it was:
If I open my laptop after being logged in, I can just start typing my password and the login manager does the right thing: "Hey, he's probably typing a password. Let's throw it into the password widget and see what happens..."
I'm on an XPS running Ubuntu 20.04.
Who implemented that feature? It's a great ergonomic feature and improves the UX of logging in so much.
I love that feature! My work computer runs Windows and I need to press enter or space before typing my password (and because of that sometimes I type a space in my password on GNOME)
Definitely. At a previous job I set the password of my work Mac to my password less the first character to keep the muscle memory working. No need for an explicit "wake the screen" character.
The scary thing is we’ve moved on from there on other platforms because those problems were solved forever ago.
I sit at my Mac desktop, press any key on my keyboard to wake the machine or tap the touchpad and I’m logged in.
Being impressed with the very small changes is a symptom that there are lots of small problems. The most important change for me is I rarely if ever have to enter a password now while at the same time, no random joe can sit at my computer and use it.
...did you skip the part where you're wearing an Apple Watch?
Because when the watch isn't on my wrist, I have to either enter my password or hit TouchID, waking up the computer gets me to the password dialog box. Which, to be fair, I can start typing the password directly because the cursor is in the correct place.
And this is what you would want, if waking it up meant no authentication then J Random Badguy could in fact walk up and pwn my computer.
Yes I did skip that bit. The point is the total integration which the Linux desktop will never reach. Apple (and Microsoft) moved on from the simple cases.
TouchID is a second place to that. My T495s has the sensor to do that but it doesn’t work on Linux. Again a typical Linux desktop outcome.
Also for the record, regarding uncledave's general principle:
> Being impressed with the very small changes is a symptom that there are lots of small problems.
This is directly contradicted by my use case on my XPS under Ubuntu 20.04. I no longer have "Gnu anxiety" on my laptop-- the overarching fear that the values for the next default behavior I run into were chosen at random by troglodytes.
Suspend/resume just works. I haven't fiddled with a single touchpad setting and it works the way you'd expect on a Chromebook. Camera works, audio is fine, battery life is decent, and so on.
I did get a tinge of anxiety when clicking the desktop scaling setting, but it seems to have worked perfectly so far.
Same. Folks in a Linux bubble don't seem to appreciate that the idea of a password login is, frankly, quaint at this point. You're getting downvoted, of course, but that's just reality: on Windows and MacOS (and iOS and Android, of course), MFA and biometrics are the norm.
> This is why Free desktop operating systems are a joke and haven’t been popularly adopted.
I'm at least somewhat with the author in general, but this is a case of "grass is always greener" syndrome. I made a full switch to Linux from Windows in no small part because of issues just like this, I got tired of OneNote completely breaking on my Surface. Even on much more polished operating systems -- Mac's window snapping is still inexplicably awful for, as far as I can tell, no reason at all except that Apple refuses to copy the simple model that both Windows and Gnome adopted. We tolerate it. I purchased a 3rd-party program to replicate the functionality, and it sometimes works.
A more drastic example, my proprietary router won't let me set a custom DNS server at the router level. It has an option to do so, but it doesn't do anything, and this is an open bug that people complained about for years that was just... ignored. And eventually they pushed a fix for it that broke everyone's routers and required manual rollback.
If something isn't a showstopper, sometimes it just gets ignored in general. Has nothing to do with whether or not it's free software, and everything to do with whether or not somebody somewhere cares enough to fix it.
Death by a thousand small inefficiencies, quirks and bugs...
It's such a shame, because fixing most of these small bugs is far less work than building new features. Nobody wants to put the work in though... Nobody has the overarching vision of a consistent UX that just works out of the box without oddities, quirks and workarounds.
> Death by a thousand small inefficiencies, quirks and bugs...
I agree, this is the problem. GUI OS developers like to work on big features and eye candy but forget to fix the basics. I have yet to find a Window system that:
1. Works without glitches in HiDPI setups. Especially mouse pointer glitches.
2. Comes out of the box with fonts that don't feel like thorns in the eyes, including the browser.
Part of the reason no one wants to put in the work is because all it takes is a technical dictator to say "I don't like this approach, let's rethink this", and scuttle your weeks of work. Even if you got a sign-off on the approach earlier. This has happened enough times to me in open source projects that I only submit code to projects that I know have reasonable maintainers that I've interacted with in the past.
Developers frequently hate it when "product people" get a say in the direction of the product, but the alternative is commonly to have developers prioritize perceived code purity over actual user interests. And emphasis on "perceived", because usually the codebase is a hot mess but maintainers want it to be their hot mess, not someone else's.
Oh but people did put in the work[0]. The problem is that gnome maintainers are hostile towards anyone from outside their little bubble wanting to get in some patches.
Aren't there plenty of little UX niggles in macOS/windows just like this that haven't been fixed for years either? I'm not sure why this is being used as a reason why "Free desktop operating systems are a joke".
I think "use KDE" is perfectly valid advice here too. The toilet analogy doesn't really hold, your satisfaction of software that works for you shouldn't be at all affected by the existence of software you don't like and don't use, that's just silly.
Frankly I find the whole blog post silly. All OSes/software have trade offs. It's just a question of what is important to you. I'm primarily an Ubuntu user but I have one Windows machine. There are things in Windows that just flabbergast me that people put up with. And Windows users can easily say the same thing about most Linux variants.
IMO it's perfectly valid criticism in its lambasting of the bug itself as well as its vintage. When I want to upload a screenshot, photo or video to an email, an IM, a web page etc., I really do not want to send the wrong one.
It absolutely is valid criticism. It was more the snarky "and therefore commercial software is better than free software" stuff that rubbed me the wrong way.
At the risk of splitting hairs, to me it reads more that the author is slating free software (or perhaps the only available free software), rather than praising commercial software. I think I read the article as a bit of a "stream of consciousness rant" and often give the spewers of such words a bit of leeway for interpretation. I've written in a state of mind of frustration and later thought "Yeah you did go a bit over the top there, but it's a reflection of your state of mind at the time".
I can agree with that. But I could say that about things in Windows and MacOS too. It's not like Gnome is unique in this regard. In some regards Linux is more advanced than Windows or MacOS, does that mean Windows and MacOS users are "used to mediocrity" as the article says?
As for not wanting to upload the wrong one, doesn't the file picker show a preview of the selected file? Sure, not as good as thumbnails, but it should be enough to avoid the problem.
I do say things like that about Windows too, and I back anyone who writes a blogpost excoriating Microsoft for their longstanding faults. As a long-time Windows user I can definitely say I am used to mediocrity in many areas. Thankfully no longer on a daily basis :-)
Some of the GTK filepickers on my system do show previews (e.g. Signal) but others do not (Mozilla - since fixed by the incantations needed to have them use KDE's).
I can speak for Windows and say absolutely, yes. With each major version Microsoft try a new method of abstracting away the file system from the user in File Explorer and it just makes it less intuitive. One example being: the new "add recent places" feature just fills the navigation pane with garbage from system/program files areas.
There are still some keyboard navigation issues with File Explorer which can sometimes make it act in unreliable ways, there is a strange bug with system tray context menus still to this day and don't even get me started on the dumpster fire that is Windows 10's entire Start Menu design and implementation.
There are overwhelmingly many such contempties in Apple and MS systems. Not more, but different and disabling. Apple and MS don't try to present the illusion that what they build is for your benefit. People know they are Big Corporations that care less-than-nothing for you or me, or our wants or needs, and that it is only by luck when we can get them to do anything at all.
It is the imagined promise that Free Software is done for our benefit that lends us the delusion that things should be the way we want them.
In fact, Free Software things are much more likely to actually work, in the way that somebody wants, than Apple's or MS's. Just, not you. In the case of Apple and MS, there is typically no living individual who wants it to do what it does, but changing it would require initiative whose attempt at exercise would severely punished.
The contempt for user experience displayed at Gnome, over such a long period, is breathtaking, in its way, but Gnome are certainly far from alone. Apple presents the same experience, to me, except involving different details. Windows, too. KDE, too. Maybe one or other get icon-view in file pickers right, but there is a lot else to be got right, and they don't. More importantly, they neither want to get it right, nor want to enable you to get it right.
The commonality is not the details, which differ, but the attitude. "This is our thing, not your thing, so we will do what we like, not what you like." This is most evident in cases when a shiny new release, with hundreds of new singing, dancing penguins, breaks a thing that used to work.
"The old release was better." "But look, dancing penguins!" "Dancing penguins do nothing for me." "But look, dancing penguins!" "I want a way to switch back." "NO. Dancing Penguins!"
Apple's great achievement is getting their customers to believe that they always and only ever cared about the dancing penguins, and to forget instantly about each thing that had once worked, once it is gone. Gnome aspires to that, but lacks Apple's reality distortion field, so must make do with contempt.
Linux was always a Terminal-first OS. The UI efforts never came close to the depth that MacOS and Windows have.
Take for example the scaling issue. It has been now almost half a decade with 4k Displays, and Linux still does not know how to deal with it other than 100% or 200%. Currently Linux is unusable for anyone with a modern display.
I appreciate the work that all the contributors put -for free- in projects like gnome and kde, but unfortunatelly, it is not enough. You need a Giant with financial incentives to drive this, like Google did with Android.
> Take for example the scaling issue. It has been now almost half a decade with 4k Displays, and Linux still does not know how to deal with it other than 100% or 200%. Currently Linux is unusable for anyone with a modern display.
Fractional scaling works fine on KDE, and it's worked for over a year since I first started using it.
I use two monitors on linux mint with cinnamon. One is a 4k display, and the other a normal display. Display scaling works fine - but once enabled I get a weird bug where I can see a duplicate, frozen mouse cursor on my screen based on where the mouse was in the login prompt. And it hovers on top of all other windows. Somehow the mouse cursor bug is related to the HiDPI scaling options.
I've learned to just use the downstairs toilet. I move the mouse to the bottom right corner of the screen before I log in.
> Linux still does not know how to deal with it other than 100% or 200%.
I've been using fractional scaling for years. I had to learn how to use xrandr, but it works great. Better than windows or macos in the end, I can specify exactly what I want where.
Funny thing. The company I worked for, bought me a 1440p ultrawide screen to use on my mac at (the same I used home on my linux workstation). It displayed no scaling options whatsoever - NONE. Other displays (4k 16:9) shown it but not that. And unlike linux, or windows you can't even set the font size globally.
Suffice to say, that this isn't a solved problem everywhere else.
Glad it works for you. It does not for most of us. Including multi-monitor setups or various glitches in rendering. Google Kubuntu Fractional scaling to have a glimpse.
Probably there are workarounds, kernel patches, magic scripts that might solve the above, but honestly I don't have time to spend on these. It should just work. I use an OS to get work done, not to fix the OS.
Not providing a standard view in their file picker is only one problem in a looong list of GTK/GNOME inadequacies.
Try not having any way to set up or interact with system tray icons in a toolkit that purports to be a "cross-platform GUI toolket". It gets better when you learn that system tray support was only removed recently by GTK developers because GNOME doesn't have one anymore. The worst part of this is that even if I submitted a patch that implements system tray support, they would just reject it. I know this because I asked them.
These days, GTK and GNOME seem to be designed only for gnome developers and no one else. All 5 or 6 of them.
Sometimes I wonder if I should just quit starting my own side projects and instead take one open-source project and just work to improve the quality. No new and shiny stuff, but boring bread and butter business.
For example, I like XMPP, but many clients seem to have quality issues. So I could start writing tests for them and therefore find and fix bugs?
I have similar thoughts. I finally swapped to desktop linux last year and tried to be very mindful about all the little niggling issues I ran in to.
I think the difference between an okay piece of software and a great piece of software is how cognizant the designers and developers are of these things. It's partially why I use an iphone now over android. Even if I disagree with how something is done it's usually evident that Apple at least _thought_ about it. It's not perfect, there's still the occasional interaction that's just plain bad, but those moments are much rarer than I encounter on my PCs (Xubuntu/MX Linux).
If I ever have the resources to retire I think I'd dedicate a solid chunk of my time to just work on those quality issues.
Just to preempt the replies, this is how most of these conversations go:
Alice: I dislike [x] because I can't do [a].
Bob: Oh, why are you trying to do [a]? You can accomplish that by doing [b], [c], and then [d]. [a] doesn't really make sense, let me explain the model behind how this all works.
Alice: Thanks for explaining the model to me, but I still just want to do [a]. Could we expand the model, or handle this as an edge case?
Bob <any of the following replies>
: No! [a] breaks the model! Things are much simpler if you just embrace the model.
: If you want to do [a] go use this other product that's broken in other slightly annoying ways.
: If you want to do it, you can open a PR adding it. But we probably won't add it because it doesn't fit the current model, and we consider that 'bloat'.
It's difficult to get into contributing to some of these projects because you come in with a change you want to make, but you have no standing in the project to effect that change (or are out of your depth and need to convince a more established dev to help you). Which makes perfect sense, a project with random contributors adding their own preferences is anarchy.
It really seems like the best projects have a very strong guideline/interactions framework, or a BDFL (benevolent dictator for life) who takes UX very personally. Most open-source projects are founded with a strong technical vision, but not a strong UX one.
The closest I can think of in the open-source desktop space is ElementaryOS. Which is lovely, but I dislike a few of their core decisions enough that using it is a pain.
The dream is a DE that enforces strict UX paradigms...but also lets you customize them easily. But I'm not sure if that's even possible. Even Apple isn't perfect and they're just trying to enforce one 'Apple way' to do things.
Hello, just wanted to let you know you should probably use a different word instead of "niggling", just to be safe in case some day in the future someone may find your post and try to cast you as a racist. Or worst, it may be detected by an algorithm and your post could be demerited based on that parameter and you would not know why. While niggling is a legitimate word and has no racist origin, people may construe it as insensitive because it might trigger someone due to the similarity to a certain word. Also, actual racists sometimes use a variation of niggling to refer to black children. Sorry that it has to be this way.
While I appreciate you taking the time to write this note, I don't think I will edit the word.
The fact that it sometimes is being used by racists gives me a little pause (that's basically how semantic shift happens, and there comes a point where the new meaning eclipses the old), but I have never come across it in that context, whereas I see it used in it's original meaning commonly (and in professional contexts).
If someone tries to cast a comment of mine in a technical thread as racist I don't think changing my language is going to help.
Similarly I'm not so invested in my imaginary internet points that being flagged by such a poor future algorithm concerns me. If HN got to that point, I would probably have lost interest in it long before.
I'm here for interesting, technical discussion. Not for the zeitgeist's culture wars that are engulfing all the other platforms. With the exception of recent threads (which considering the tumultuous events that are happening, I understand), I find HN to be a lovely corner of the old web where users try to read each other's content in good faith.
I'm just curious but what were the issues with a few of elementary OS's core decisions that you have?
I know personally I'm not a fan of Ubuntu or that it's the LTS version too but I know that you can use Pantheon, it's desktop environment, on other distros (something I have been considering myself).
It's been awhile since I've tried it, but the first thing that comes to mind is not being able to put a file on the desktop.
I completely understand and even vaguely agree with their reasoning, I stopped putting icons on my desktops maybe 10 years ago?
But sometimes I just want to put a temporary file on my desktop as a visual reminder to finish something up later.
In this case it's not the same class of 'bug' as the missing thumbnails in gnome's file picker, it was a deliberate design decision, and I respect that the project thought about the experience they want to create and executed on that vision. It's just not the experience for me.
Thunar is great, however it does no good here. Your various programs like GIMP will always use the Gnome/GTK file picker because that's what they've been programmed to do. Or, if not based on GTK they will use whatever other file picker their toolkit provided.
> Your various programs like GIMP will always use the Gnome/GTK file picker because that's what they've been programmed to do. Or, if not based on GTK they will use whatever other file picker their toolkit provided.
Well, not really. Anymore.
Recently (give or take few years), toolkits and applications started to use desktop portal - mainly as a preparation for sandboxing (i.e. putting the app inside flatpak & co). The application, optionally inside sandbox, doesn't use the framework's common dialog - because that would not give it access to files outside sandbox - but talks to the desktop provided one via dbus.
That desktop provided one does not have to be implemented by the framework that the application uses. It is implemented by the DE that the user chooses.
Thunar is to Dolphin what a slingshot is to an M16. I never understood how people settle for such barebones file managers (i.e., less featureful than Windows Explorer).
Interestingly, Thunar has had a similar pet peeve: it could not remember per-directory view settings (e.g. sorting order). This was finally fixed a couple months ago, 13 years after the original bug was filed (#3521).
And without reading the bug, the issue with adding thumbnail support to that one is probably because thumbnails need to be cached to be fast, and it would be odd for a filepicker to be creating its own cache files (since it can't make any assumptions about the system it runs on).
It's not that. Firstly there is a standard for where to cache thumbnails at least on Linux, and secondly the file picker already generates (or at least displays) thumbnails. It's shown in the article. It's just that GTK has no suitable widget for showing them properly.
I'm not really surprised at all this is still an ongoing issue. And by far I think people that work on the so called Human Interface Guidelines need to get off whatever ideology/belief they fed themselves for the desktop environment to finally, you know, grow for actual humans rather than their egos. At times it feels more like a cred, like when elementary OS was released I read so many comments on how Apple nailed the UI.
From the site:
>If you use GNOME and this is a revelation to you, it’s because you’re used to mediocrity. If you think your experience all this time was normal, you’re completely mistaken—and it’s not least because you’re using a specific desktop environment that’s available only on Free operating systems that account for only a fraction of a percent of desktop computer usage anyways.
I like the author just sarcastically points it out, because I remember reading years ago the same on both GNOME and elementary OS subreddits "it's because people are used to mediocrity". Or, you know, maybe people find it super helpful to being able to see the images without extra steps so they can choose whatever they want.
And then it all just spirals down into:
"Have you tried X/Y/Z?" no? Sucks for you buddy I guess you are stuck with mediocre people making design decisions. But as crud as I put it, I might not be wrong.
That said, I have completely given up on all the nonsense someone would have to follow to file a enhancement report and discuss it just to be stuck on discussion for 10 years. There's just no time and energy for that, and at the end people would just ditch the desktop environment because it's just too much of a hassle to use.
What I find more a pain in the ass of the GtkFileChooser, it's that I can't type the path. It's very annoying, when you need to jump to a path that you have on the clipboard and you can't, and you are forced to navigate to these path because the removed a simple text field to puth the path.
The equivalent from QT/KDE does this far better. It allows the user to switch from the graphical "user friendly" path representation to a crude text field where you can write/removed/modify/copy/paste the path.
CTRL+L works and I have been using it but I had to google it first to learn about it!
It is not intuitive and bad experiemce. There could be a toolbar button for that or a permanently-visible address box or it could read clipboard and suggest something, be smarter.
This brings up a great point about GNOME. GNOME appears to try to emulate macOS at times, but tends to try to oversimplify and paradoxically be quite user-unfriendly.
GNOME has an obsession with a "distraction-free" interface that really takes keyboard shortcuts to navigate efficiently. For example, despite the popularity of the dash-to-dock extension, the GNOME developers stubbornly refuse to make the dock built-in. So with the default setup, mouse users (like many in my family) need two large cursor movements (flick to the left corner, then slide down to the dock) every time they need to switch between applications[1].
In fact, at least one core developer has even floated the possibility of removing the dock and its list of currently running apps altogether.
[1] No, the window previews aren't really useful because their positions are non-deterministic and it's hard to rapidly distinguish mostly white, unlabeled windows anyway.
> Why was there a Windows monopoly? I think it’s a stretch to just blame it on OEM bundling. No, it’s legit because there isn’t anything else.
I agree GNOME-3 is blocked toilet, but Windows 10 is also a blocked toilet. I have a file that I would like to open on my Windows 10 computer "passport.pdf", I hit the winkey and type "passport [enter]" to open the file. Windows launched a Bing search on Edge for the word "passport", but Edge has to go through its welcome dialog because I've never opened it before. This is only one example; all in all using Windows 10 is like taking a hike with a rock in your shoe.
Windows WAS a monopoly because of its usability, but now it's ubiquitous because we're path dependant. Having to use Windows 10 for me is having to walk downstairs to use the bathroom in the middle of the night. I wish I could stay on Windows 7 forever, but I'm very happy with Mint Cinnamon DE for now.
I am using a mix of Win7, Ubuntu, Win10 and old OSX on various computers.
To be honest, so far Win7 is winning, it is the OS that gives me the least headaches.
Win7 problems: occasionally something doesn't work because it is Win10 only and Wine can't emulate it. Also recently I had an issue trying to use hardware that was intended for Win98 but that is kind of expected.
Win10: randomly updates without permission, reboots itself, break stuff that I need working (for example one time its unexpected updates broke the software my company use to generate invoices, meaning Windows10 update managed to singlehandedly shut down my company income for a couple days until we reinstalled our bank invoice software on Win7), has telemetry, insists in re-enabling telemetry after we disabled it, has ads, has games without permission, insists that we use Cortana, but then complains Cortana is not available in my country, and the list goes on.
Ubuntu issues: the default interface is weird, there is no way to type file paths on filepickers, and this is quite maddening, it requires command line to do basic stuff too often, even native Ubuntu games might have bizarre issues with Fullscreen or random notification software hijacking the focus, and weirdly, it crashes more often than Win7, usually because of out of ram issues.
Also, I use the Lazarus Pascal IDE. After updating from Kubuntu 20.04 to Ubuntu 20.10, it has started crashing every other time I open a file with its GTK2 file chooser.
I’m legit worried about consumer FOSS, and especially around how work just kinda gets stuck in this limbo when an issue is over, say, 3 years old (I recently had this come up with a 12 year old FF bug as well)
I desperately want to pay, like, $100/month to get some guarantee of cleanup work on the free software I’m using (FF, GNOME, and Emacs in particular)
Lots of software projects do fundraising for lots of auxiliary stuff but I really want maintainers to be paid
I've always hated the thumbnail view. Always turned it off on all windows machines - it might be just me but it's harder to find what I'm looking for 80% of the time.
What's worse is that windows seems to find some sneaky way to turn it back on for some folders. Have multiple registry tweaks to show every folder in "details" mode that I have to run every couple of months for some reason to keep it that way!
I agree most of the time - aside from when I need to choose an image in a directory of (poorly named) images. Surely this is the situation where you do need thumbnail view? Does this never happen to you?
I agree, but that's really rare for me. Most of the time I find the right file by flicking trough the image viewer and memorizing the filename.
Also it's a more generic problem - say for poorly named documents or other files that don't have thumbnails. Right click -> open seems to solve most of those times.
So it does happen to me, but I still don't use it.
Gtk and GNOME is utter trash, it's going nowhere, has no art direction nor QA process. It's for the large part responsible for Linux desktops having negligible adoption. I wish there would be a open-source, but not free desktop environment built with Qt. Not free because you can't have just about everyone pushing their opinion on it. There has to be a team with strong design and QA skills behind it.
> This is why Free desktop operating systems are a joke and haven’t been popularly adopted
Free OSs have been doing very well. The ultimate reason I 100% switched to Free OSs was because I couldn't stand software crashing at random points in time anymore. With Windows (especially 98 like in the article) anything can crash, during boot, Explorer, Word, the Desktop, and in the past it did. Maybe part of the reason Free OSs did better at this is that they did solve things differently and didn't implement every single feature. That said, Free OSs offer other features: focus follows mouse, configurable window behavior, virtual screens etc. I think this is why I will never be able to use Windows again because it feels just too constrained.
Nowadays I use macOS for Desktop though but only because they make such nice hardware. It's only a question of time until I either install Linux or get a new Laptop with Linux.
While we're complaining about Gnome: why can't nautilus handle more than 10k files in a directory? Especially an NFS or Samba share. I installed Thunar in order to browse the pictures I have on a local server.
I think 10K file names should fit in cache on any processor made in the last 10 years. readdir isn't that slow.
I guess using KDE would be, to keep the analogy going, a Toto. It cleans the pipes before that shit even gets to the toilet.
Though I do find the various ways you adapt your work flow to tools amusing. Like the file picker thumbnail rarely bothers me, because I have a habit (hard won) of using clear naming for files. Though it does annoy me that Sushi doesn't seem to work in the file picker.
That said, what really annoys me, every day, is the breadcrumb bar. Damn that to hell. If you are serious about naviagtion, why not just show me the whole tree? And I have to press Ctrl-L to revert to a text directory imput, and then, or otherwise click fifteen times to navigate to another directory.
Imagine these sorts of honest computer novices watch you use GNOME. Imagine how silly you look to the 99% of the population who uses a functioning file picker.
Been trying to point this out for years. I love Gnome (not sure why, I guess because it used to be lighter than Qt?) but it's gotten really tired-looking. I think back to when I used to use Enlightenment on top of Gnome and everything was super-configurable and it looked way ahead of other UIs. Some things are still better, like semi-transparent terminal windows. But I can't remember the last time I looked at Linux desktop environment and thought 'wow.' A lot of things are...pretty clunky.*
I read this post this morning and felt pretty smug in my choice to use Windows.
But when I went to share a photo this evening, I found that the Chrome file picker in Windows is actually much worse! Not only does it not show previews for thumbnails, it doesn't even show the image in the detail pane. It just shows the registered application icon. So, you get a sea of big blue (E) Internet Explorer icons.
Not sure if this is a Chrome or a Windows thing, or if there's a setting for it. But as a user, I clicked about a bunch and couldn't find a way to see the actual images.
Note that showing the thumbnails would likely be simple enough. The whole desktop system needs a system for generating and maintaining those thumbnails too. Those systems are always complex and messy (remember thumbs.db?)
A dialog that opens every file in the directory to read the image and show it, won’t be very popular.
Nautilus does already have such a cache though. But there is little to no code sharing between nautilus and the gtk file picker, which I think is the actual problem here.
That the file save dialog isn't based on the explorer tool is precisely why a windows file save dialog has e.g. thumbnails "for free" while the gtk file picker doesn't.
It very clearly explains why you want to choose to base every file listing tool on the single file navigation tool. Any effort that goes into one is reflected in the other. If that means a surprising UX at times - that's probably worth it.
Ctrl+f tells me that noone wrote about the xdg-desktop-portal. As far as I understand one could easily provide one's own filechooser implementation by replacing / compiling one's own desktop-portal.so
No one is talking of the highlighted color used by Ubuntu in their file pickers? I keep believing I can type the file name when saving but instead I am just filtering. Nothing was highlighted.
I have a lot of issues with gnome on the latest Ubuntu. When you open a folder with icon view, sometimes loading the folder just stalls. You have to go back and open it again and then it’s fine. Also selecting multiple items with ctrl click only works in list view. There’s some bug in icon view where when I click on an item it instantly scrolls my window and selects something else. It’s honestly weird that this basic aspect of file browsing is so broken. I do wonder too if I’ve broken my system or if it always behaves this way.
As an aside right now I’m designing a part in the free version of the commercial software OnShape and I just discovered it does not support scaling a sketch. There is a long support thread going back 5 years of people asking how to do this and recommendations for elaborate workarounds. I decided to export the sketch as a drawing, open it in the free and open source program QCAD, select everything and choose the “scale” option, scale as desired, save, then upload to OnShape.
FLOSS needs to be better than this but as someone else said commercial software has issues like this too. The reality I think is that we need to look at how to better fund open source, as time strapped teams aren’t super functional in general.
Tools and features have ergonomics and affordances that suggest a certain way of using them, and desktop filling just seems to encourage people to make a massive mess. Even when I was a Windows user, desktop icons were the first thing to go. Not having quick access to a dumping ground meant that I had to go out of my way to make a mess.
As for a lack of system tray icons, the practical upshot is that my system bar isn't littered with multiple special snowflake applications, each with their own unique icon art style and mismatching proportions.
> As for a lack of system tray icons, the practical upshot is that my system bar isn't littered with multiple special snowflake applications, each with their own unique icon art style and mismatching proportions.
Plasma Desktop's System Tray widget that lets you hide icons you don't want to see. You can disable the widget, or configure it to show no icons at all.
The problem with that is, that applications will assume it is present and enabled. If it is not, they will inflict a pain on the user until it is enabled again. For example Skype.
With default being off, it is applications that have to be careful. They can use it, when they detect it is present, but cannot assume it anymore.
You can make the System Tray show no icons unless it is invoked to deal with applications that behave poorly.
System trays exist on most platforms, and apps, especially cross-platform apps, will sometimes assume that they exist. I prefer to use a system that can handle those apps.
It was a crutch when windows 95 introduced it, and it is still a crutch today.
I prefer when applications do not assume that it is available at all; if they do, they are broken. Applications, that force themselves on the user upon startup, then sit in the systray and are resisting the user that is trying to close them are outright black UI pattern.
LastPass is especially horrible at this. I have it configured _not_ to start with windows because I don't want it running in the background. Whenever I need to open it, I launch it, copy the password to the clipboard and paste it into whatever program, and click the X or hit alt-f4 to close it. Unfortunately, it does not close. It minimizes itself to the system tray, and gives me a helpful notification to let me know that my attempt to close it has failed. In order to close it, I must right click the tray icon, at which point the icon moves to hide itself in the hidden tray icons due to a bug in either LastPass or more likely in Windows itself. So now I have to click the overflow menu on the tray and right-click the icon again to close it. Finally LastPass is closed.
Now, due to another bug in Windows, the overflow menu has remained open and must be manually closed. The third bug here is when I alt-tab out of LastPass, it doesn't take me back to the most recent application; instead it dumps me on the desktop or some other program at random (why is the desktop even there in the alt-tab menu?)
This is exactly what I'm talking about. Applications abuse the systray to force themselves on the user and that is a bad thing, that should not be supported or apologized for.
I'm not against apps running in background, just that monolithic implementation with systray is the wrong approach. Android has shown a good model: background service that cannot talk to UI, but can send notifications or communicate with separate UI app. With this model, user has control over what is running in background or what started on login time by system (not app-specific!)-provided tools, like systemd user units under Linux or LaunchAgents under macOS. When the user wants something off, it will be turned off in one place, with no ors or buts or other black patterns that prevent user turning the application off.
If you're using Ubuntu then they include an extension to bring them back. In older versions of Gnome 3 there used to be a pop-out panel in the bottom left for legacy system tray icons.
You have to scroll through that keyhole of a window that you can't resize and it starts with the Desktop, so it's "Desktop - Computer - C:\ - Users - Me - Documents - Images - ..." every time.
> This is why Free desktop operating systems are a joke and haven’t been popularly adopted. It’s little things like this that add up.
> It stands though that KDE seemed to have this feature working for ages, and they’re doing it for free too. Also, operating systems from the olden times also had it too—Windows 98, as you see at the top of this HTML document.
I'm sure this will upset NN but it is 100% the truth.
it'd be nice if there were some quickly-accessible bounty portal (maybe even from the DE itself) where proposals could be upvoted and crowd-funded. 500 people see it and offer $10 and that's a $5000 bounty, payable on merge or returned in 90 days. people could even run side-hussles of proposing features in the hopes that they're funded.
The author unfairly attributes adequacy (or at least consistency) to the Microsoft desktop environment.
Start Microsoft Windows, open up File Explorer, remove the ever-present 'Type' column (because if you're old school you'll have suffixes enabled), then go to Options and say 'Save this view format for ALL Explorer instances'.
Within an hour you'll have a Type column back in some new Explorer window, to inform you that your file.pdf is a PDF file type.
Any and every version of Microsoft Windows file explorer has done, and continues to do, this. It's hugely frustrating.
If you're using Gnome then it's a relatively easy (free, ethically sound, painless, etc) process to switch to, say, KDE, and enjoy pleasant file explorer/pickers.
If you're forced to use Microsoft Windows (say for work) then you are stuck with this particular broken toilet.
I don't think the author attributes universal consistency to Windows? They just say that this particular issue has been 'solved' by Windows since 1998. It's been raised as an issue in Gnome since 2004 and still hasn't been fixed.
I agree with most of what they say, and I think the point is that we're uniquely bad at addressing these issues in the open-source world.
We accept a degraded UX experience (which I think this unarguably is from a normal user's point of view) because at least it's not proprietary lock-in. But it's a big reason why desktop GNU/Linux doesn't crack 2% usage. Inversely, I think this is _the_ core value proposition of Apple's ecosystem. They pay particular attention to consistent, unsurprising integration, and the Apple experience offsets their iron-grip over your device for most users. It's easier to convince someone to change how they do a task if you consistently deliver pleasant UX.
I recently had the opportunity to help a _very_ 'normal' user with their computing, and it was remarkably eye-opening watching them interact with their machine (Windows at the time, but they also use a Mac). Indeed, they hated Windows because it wasn't as consistent as a Mac, but Windows was dealing with their ambiguous interaction remarkably well I thought. Much better than a GNU/Linux DE would have.
If we want a world where normal people can use free software for their everyday computing needs this is something we need to get much better at. Forget 'normal' users even, these projects (and threads on HN) are full of _developers_ arguing back and forth that they find it infuriating/unusable. And unfortunately not many of us have the time and money to contribute code or fork projects to increase competition and spur improvements.
In the sense the author was saying 'Gnome is a bit bad, but Microsoft does this much better, which is why it wins' I was intuiting that the author believes Microsoft does not have extremely frustrating, long-lived, bugs within their basic OS suite.
Cue contra-example.
I've used Gnome perhaps for a dozen hours in the past twenty years - none of those (the dozen hours, not the two decades) were especially pleasant, but not because of this missing feature enhancement. So perhaps I'm not well positioned to cast judgement there.
Anyway, any claim that an operating system is intuitive is subject to much discussion. I endorse the early 90's (perhaps predating even then) claim that the only intuitive interface is the nipple, beyond that the necessary interactions are learned.
And - hello again, yes - I'll weigh in on the somewhat plaintive 'if we want normal people to use free software' rejoinder with a marginally cynical observation. Normal people can understand how computers work, and adjust their expectations, behaviour, and workflows to suit - worst case they'll acquire the necessary skills to file bug reports or fix it themselves.
Average people, on the other hand, are less likely to be satisfied.
GNOME team seems to be busy for years on the goal of baking out some weird hybrid of macOS, iOS and own solutions that tries to be so far away from classic desktop paradigm as much it's possible so I'm not surprised at all that this issue is still not resolved.
At least they managed to tame their DE to be not a resources hungry hog.
This is the one problem that torments me every time I am reminded of it.
Just today, once again, I tried doing the hack to make programs use the kdialog instead of the GTK filepicker. kdialog works, however none of the thumbnails are showing! Only the icons showing the filetype. I don't use a desktop environment, only a tiling window manager, so that's probably it. But what pains me is as much as I search, I don't know what the hell to install that will make the thumbnails work in the filepicker even though thumbnails work everywhere else.
Every time I must go through this, I want to cry. The linux community thinks they are so superior, yet they cannot implement this one little thing.
> I don't use a desktop environment, only a tiling window manager, so that's probably it.
I don't use the Linux desktop often, so perhaps this is an ignorant comment, but doesn't not using a DE require a certain amount of elbow grease anyway? If you wanted a more polished/less DIY experience, it seems to me that you should be using a DE.
If someone sets up a bounty on gitcoin or something similar I'd be down to contribute to sponsor this feature request. The thumbnail viewer would save me time from mistakenly choosing the wrong file when they're all labeled similarly.
On a tangential note: the author knows how to write.
The first few paragraphs of "rant" on his toilets are just brilliant. I wasn't sure I was going to read the whole thing, but after reading these, I decided that this blog post deserved my time.
I've had a thought in the back of my mind to write a replacement/alternative for the GTK file picker for years. I've probably spent at least a day total using it throughout my life, so it would make sense to spend a few days on it to help myself and others. To improve it I would remove several features I don't need, add features I would use, and repair subtle but important workflow issues such as key commands and widget focus issues.
But how extensible is it? Would it require a recompile of GTK? Or perhaps a shared library plugin?
Realistically, the likelihood of me actually diving into this is low due to life keeping me too busy.
When I read this article yesterday, it occurred to me that this was a specific symptom of what Jamie Zawinski cynically refers to as Cascade of Attention-Deficit Teenagers:
https://www.jwz.org/doc/cadt.html
> I report bugs; they go unread for a year, sometimes two; and then (surprise!) that module is rewritten from scratch -- and the new maintainer can't be bothered to check whether his new version has actually solved any of the known problems that existed in the previous version.
(No clickable link because he doesn’t like Hacker News as a referrer.)
> First of all, how do developers so casually ignore this issue? Second of all, how do users so casually ignore this issue?
Because it’s not important enough to them to force a fix. Hard to believe, in this day and age, but some developers have other priorities, especially when working with free software.
I question if this is actually a bug. It seems to be working as intended, just not the way the author wants. Seems like the quickest solution would be for the author to either take on the job themself, or absent the time or expertise, pay someone else to do it.
The file pickers in general in Linux are just dreadful. Wouldn't companies who release commercial products on Linux contribute to it by assigning a team to overhaul this? It's unbelievable that it seems okay to them to leverage "free" OS that people wrote sacrificing time with their families often after work into the night, without giving anything back. It especially looks bad when companies make billions off of these tools and won't share a penny with contributors nor open source their products.
I don't think it's a contributor problem, I think it's maintainers who don't approve of the changes necessary to make something work. In this case Gnome and KDE teams need to work together to fix this, and they're insular and will never cooperate.
Regarding your description of blocked toilet (i.e., where a plunger is needed every time): I used to have the same problem but then I realized that air bubbles came up every time I started using the plunger. That led me to realize that the toilet paper I was using trapped and carried a lot of excess air into the piping. I found another brand that is just as soft and strong but that does not do this - upon switching, the number of instances where a plunger was needed fell dramatically.
MacOS also has this issue. The thumbnails are so small as to be useless. Especially if you have multiple similar images. In the Finder you can choose larger thumbnails but not in a file open dialog. Used to be able to several versions of the OS ago though you had set some internal OS setting (no UI) but that setting no longer works.
If Windows does anything better than MacOS this is one tiny area. I don't understand who at Apple thinks not being able to have large thumbnails is a good design.
I feel this way about Ubuntu remembering my screen configurations without having to manually edit a file, why this isn’t a first class feature is totally confusing to me.
And this, to the surprise of people who think because I'm some 1337 h4x0r I must be running Linux, is why I use Windows 10. If I need Linux, I spin up a VM.
What's the root of the problem here?
In other words, why has an important usability bug been ignored for years?
Is the problem that Gnome is mostly funded by Redhat, and Redhat mostly focuses on enterprise usecases, as that's how they make money?
I remember years ago Ubuntu had their 100 papercuts initiative, which seems like exactly the sort of initiative to fix a bunch of smaller desktop usability items that enterprises might ignore.
I've noticed this problem on XFCE, and using i3, and I always just assumed it's because I hadn't installed a proper alternative, and was just using the defaults. I'm ashamed to say I'm part of the problem :( I didn't realise it was like this on arguably the main Linux DE though. That's awful.
Here's a trivial to reproduce and obvious issue that's been there for several years now:
1. Open a directory that loads slowly (e.g. one with thousands of files on a smb3 mount)
2. While the list is loading, select a file (but do not open it)
3. Wait for the whole list to load
Once the list finishes loading, the file on the very top of the list gets automatically selected (discarding your selection).
Thus, if you select a file and click open, in the time between you select and click open, the selection can auto-change and you'll end up opening something else than what you've selected.
It is this bad.