ZachIR's Blog - Response to The Linux Gardiner

Response to The Linux Gardiner: Re: How GNOME thinks.

Well, here we are again. It’s always such a pleasure. Remember when you tried to kill me twice?

Portal 2 reference aside, Gardiner Bryant is one of the people I have followed since the early days in my Linux journey, back when I used and loved Unity (and used and didn’t love GNOME 3). We disagree on a lot of things, but I’ve never really felt the need to make some sort of official response until today, to his video “How GNOME thinks.".

I’m going to make a couple of assumptions before I get into this response, just to make sure we understand the bare minimum before continuing.

First, I’m going to assume you (the reader) have experience with GNOME 3, or at least know what it is. If you have no experience with it, that’s great, because it sucks. The fact that people think GNOME 3 is the best Linux desktop environment is more of a statement about the quality of Linux desktop environments than it is of any particular benefits GNOME 3 has.

Second, this is not me saying “GNOME can only think the way I think is correct”; obviously they can do whatever they want with their project. We CLEARLY have some differences of opinion, and that’s fine. Libre software is more than capable of having two conflicting viewpoints.

And now, onto the points:

I don’t know why Nautilus drew the files on the desktop; that seems like a window manager kind of job. But this is not the only feature that has been stripped from Nautilus, at least from what I’ve heard from people with experience with GNOME. I originally had a scathing comeback here, but after messing around with Nautilus in Solus Budgie (4.3), it does do enough for what I would need, so I guess it’s alright. I understand that a lot of GNOME users have been frustrated by it though.

[1:13] Yes, in the world of libre software, a minor inconvenience is enough to drop a feature from a project. I understand this; I, due to a personal decision, don’t support fish for any of my shell scripts. I get it. I just think it’s hilarious from an outsider’s perspective, and I would imagine (and in fact know) how annoying it would be for an actual user.

Mission failed successfully.

I don’t understand this movement recently, where a lot of the creatives seem to have collectively decided, “We don’t want this functional stuff anymore, we want something new,” and in so doing they end up content with something technically far inferior.

GNOME 3 (and 40) is:

And what benefits are there? Well, there are now GNOME shell extensions, so if you don’t mind the javascript (which is also fully baked into GTK 3, btw) and your extensions being broken and having to roll back GNOME 3 frequently, you can apply some small fixes (which is the approach System76 took with Pop!_OS).

So, the first part is an obvious exaggeration, but I’ll take the bait and respond to it anyways.

No, not even close. Do you know how many apps still support Qt4? Do you know how many apps support the Trinity Desktop Environment (one of my favorite DE’s), based on Qt3, while it’s still being actively developed? I’ll tell you: outside of the applications which are part of it, none. You know, people don’t still make GTK 2 apps either. Nor are most app developers trying to get their apps to work well with DOS, or AmigaOS, or any of the early versions of Windows (except ReactOS, which is pretty cool), or any version of Classic Mac OS.

And if you’re referring to “paradigm” as the specific combination of keys and screen layout, then yes, GNOME 3 is different; different doesn’t always mean better. And when different means that nobody wants to use it (as was the early days of GNOME 3), I wouldn’t call that a rousing success.

Now to the second part: GNOME should critically examine the intuitiveness of their own paradigm. Sure, if you were teaching someone who had no experience with a computer to use it, they might catch on quickly (especially if they were still a smartphone user). However, I would think the target audience for a desktop interface would be desktop users, i.e. people who already know how to use their interface. And it’s not like GNOME 3 is easy to learn; it took me longer to learn GNOME 3 than it did dwm (yes, you can quote me on that; it’s the truth).

I don’t know if you’re thinking this, but my immediate response if I was reading that is “but sometimes having a different UI is better!” And I agree. As I said earlier, I really liked the Unity desktop, and this was immediately after I switched from Windows 10. I loved how it was something totally different, and it made it easier for me to remember “this is Linux, I do Linux things here”, vs “this is Windows, I do Windows things here.” I actually recommend people switching to Linux (depending, of course, on the person) to pick a UI that will constantly remind them that it is not the OS they came from, so they can learn the Linux workflows. (I recommend Budgie or Plasma, personally).

Well, if Budgie gets off the hook, then what’s wrong with GNOME? I’ll tell you.

Budgie can look different from the Windows UI, but it has a similar workflow. You don’t have nearly as much of a learning curve to use it. You press the Super (aka Windows) key to open up the menu, you click your app (or search with the searchbar), it opens up. You drag it to the edge of the screen if you want pseudo-tiling, and it doesn’t pull up some weird thing because your cursor touched the wrong corner. You can minimize all the apps quickly if you need to see the desktop. Budgie even lets you move things around to get it just like the Windows setup if you wish.

In GNOME 3, all of these are different. Pressing the Super key (at least used to, I’ve heard it might be different now) brings up the app drawer, which is almost entirely like the similar function in OS X, except it scrolls vertically instead of horizontally. Dragging a window to the edge of the screen (again, this might have changed in recent releases) might tile the window, it might do this weird thing where it shows all of your windows at once, it might change workspaces. According to the GNOME philosophy, you’re not supposed to minimize apps, just use a different workspace (although I am a fan of workspaces and not minimizing windows for tiling wms). Also, GNOME doesn’t include any way out of the box to change its appearance. You can install the Tweak tool, but it’s unsupported and will probably break stuff. You can install extensions, but the GNOME team is constantly breaking whatever API there is so that whenever GNOME upgrades the extensions will probably stop working again.

This is the most unabashedly, incompitently stupifying take I have heard in a hot minute.

“My app doesn’t work with your theme, so you shouldn’t theme it.”

Excuse me? It’s my desktop. If your app breaks with my theme, then that is not my problem. “That sounds completely unreasonable!” I can already hear you responding. “How on Earth is a programmer supposed to work around every single theme out there?”

Easy: they don’t. In a good toolkit, there will be a theming API, and the programmer will be able to test some basic settings to see if things will break. However, GTK 3 (and by the sounds of it GTK 4) is not a good toolkit, and because of this, every single theme is basically a hack to get apps to look somewhat better than (ugh) Adwaita. Additionally, icon themes are (again) a hack to get around the awful default icon set.

Does this problem plague Qt applications? How often do you encounter issues in Plasma where Qt apps are unusable because of your Qt theme? I can’t speak for everyone, but I have never had this happen.

Additionally, do you know how hard it is to get a reasonable feature from a GNOME app? The Termite dev could tell you.. And that’s just a single library; imagine trying to convince every single app dev to support a colorscheme. And the issue with that would be it only provides you with the one colorscheme; imagine trying to support all of the ones people (and distros) want to use. If only there was a way to get all of the apps to use whatever theme the end user wanted to use. Maybe someone should make an API for that.

Well, GTK2 was not fully thought through, and the theming set the default backgrounds for web page items. 1) that is still bad design on the part of the web devs, as well as the GNOME team, and 2) just because they did something not quite right before, doesn’t mean they should totally abandon it now. Especially with something as fundamental and ubiquitous as theming. Again, I point to Qt: how often do you load up a Qt browser (I can tell you from using Qutebrowser, with the QtWebengine backend) and find stuff to be unreasonably broken? I’ll tell you: you don’t. Now, I’m not making the claim (right this very second) that GTK 3 is a bad toolkit, but Qt proves that you can have reliable system-wide theming. So to completely dismiss it because you didn’t do it right before is asinine.

I talked about this before, but this is the fault of 1) developers not taking into account things they should and hardcoding some values and not others, and 2) the toolkit for not even allowing them to if they wanted to.

I don’t even want to talk about Flatpaks right now. They’re fine I suppose, and I’ll leave it at that for now because if I went over everything I have to say about Flatpaks now, this page would be around 3 times as long. I will say that it’s better than Snap.

I guess you could say that. However, removing settings that let users fix the “underlying problems” that you created doesn’t seem like a very nice thing to do. Especially when you already had the options ready and being used, and then you just take them away later.

Um… no? Like, I guess, but not really. Also, man someone should really tell Plasma they’re doing it all wrong. Giving the users the choice to make the desktop workable and maybe even look good? Nah, you need to tell the users what they want, a la Apple.

Yes, absolutely. This one is right on the money, and is the biggest actual reason to limit preferences. However, it is not an excuse to eschew them entirely.

Again, I guess, but you haven’t begun to prove that.

Again, you are technically correct, but they are also often a way for the user to tailor their computer to their workflow, rather than having to tailor their workflow to the whims of the GNOME Foundation.

As a matter of fact, KDE Plasma is more my speed. And I agree, the beauty of Linux is that we can choose. I am not telling anyone not to use GNOME. This isn’t Windows, where we only get one UI and no chance to improve it. If you like GNOME, you can use it. If you like MATE, XFCE, LXQt, Plasma, Trinity, Budgie, Cinnamon, you decide what you use (as long as your distro maintainers package it).

I almost agree. In terms of ethos, yeah, they are basically opposites. If you want something truly unlike GNOME or KDE, try xmonad. (Actually, don’t do that if you’re not already familiar with tiling wm’s, you’re probably going to have a bad time).