Warning!
Im going to heavily criticize GNOME’s approach at developing software. This will be long!
Please keep in mind that i don’t have anything against the people behind GNOME, I actually use their software on a daily basis, i wouldn’t be able to live in Linux without things like Gnome-Boxes, Bottles or Parabolic.
If you are a GNOME developer or someone that uses GTK, please take this constructively and use it for something helpful, i know you already get a lot of not useful opinions on a daily basis.
I will provide, when possible without making me sink too much time here, sources that back my claims in the beginning of each segment and keep in mind that I spent a few months back in early 2023 giving my hardest to try and use GNOME, i had experiences and observation shape my viewpoint.
1) Shipping Broken GTK4
Since the early stages of GTK4 development, a pretty substantial bug that made a lot of programs practically useless was discovered, Listview Scrolling is Broken.
What this would do is that if you were scrolling in a GTK program that uses Listview, it would make the list of objects (let’s say, files) start moving up and down like crazy, making basic scrolling a nightmare.
Honestly it’s normal for this kind of problems to appear, what is outrageous is how GNOME handled it.
In a development environment where stability is important, what would happen is decreasing the porting efforts to GTK4 and make it the top priority to make the toolkit actually usable to avoid breaking User Experience. Oh and of course, avoid shipping the broken toolkit to users at all costs, even if it means interrupting the work of contributors.
Well, GNOME decided that shipping the broken listview to users was a good idea.
I experienced the issue firsthand, i found that i could no longer scroll in any folder without Nautilus going insane.
GNOME seriously screwed up here, because v43 of Nautilus and the affected GTK versions got shipped to distros like Debian Stable (im not sure if they have back-ported a fix), basically it affected everyone using GNOME 43, forcing them to either live with it, change the file manager or switching desktops.
It feels like im stating the obvious, but GNOME should really focus on delivering a usable product. I have asked programmer friends unrelated to Linux what they think about this and they were shocked at the lack of care.
2) Extensions
Insert countless reddit and forum posts complaining about XYZ of extensions:
Ohhh boy.
I think extensions are great and on most cases everything goes smoothly, but sometimes GNOME is like an absent parent giving his kid a mobile phone to avoid interacting with them.
This was made evident with the announcement that GNOME 45 would require a rewrite of every extension.
Not really a problem, the deal-breaker was the time frame.
They gave very little time (less than a month) to developers who are most likely working on extensions in their free time to make pretty substantial changes in the code-base. And guess who gets all the hate if the extension is not ready for the next release, exactly, extension developers.
GNOME should focus on making sure the top 20 extensions can work correctly with the changes they make. A good way would be to introduce them in the official extensions, like the gnome_fallback or user themes extension.
This sounds hard but everything is possible with good organization.
3) Libadwaita & more GTK
Insert countless reddit and forum posts asking how to theme libadwaita and “why do my apps look out of place” questions
GNOME decided to have an interesting relationship with GTK4 (i will treat them as the same development team behind both because that is usually the case). They pulled a very selfish move in deciding to continue work in GTK4 in an addon system to it, Libadwaita.
Before, in GTK3 days, GNOME would work together with all the other developers outside GNOME and reach consensus in decisions related to how develop GTK. This was really useful to smaller players lacking funds, like Xfce, Budgie, Mate, etc. (take that with a grain of salt because im not a gtk developer, but you can see that lots of popular gtk apps and desktops are stuck on version 3, that’s the fact.)
What GNOME decided was to redirect development efforts away from GTK and instead concealing them in Libadwaita just to avoid dealing with reaching consensus and develop their things faster. Now, i don’t see a problem with that, but the side effect is a very decreased development to the universal GTK, making the lives of smaller players that disagree with Libadwaita harder.
Another problem with Libadwaita is the lack of theming (i know the accent colors are being worked on, but it’s going to take a long time). You can see in lots of linux forums that new users who are just getting into customizing their desktops, are often confused to why lots of programs lack theming.
And the solutions to theme Libadwaita are often hacky and will make the application behave badly if you don’t use a very select group of themes (like vimix or catppuccin).
To be fair, KDE is also doing this with Kirigami. If you ever tried to get a QT Kirigami app to look okay in a GTK desktop you will know how hard it is. At least it supports themes inside KDE.
I had this visual cancer happen when i opened Kate meanwhile using Kvantum.
Unrelated, but is Linux customization dying?
4) Bad Design
Okay, this part is mostly a personal opinion based on design tastes.
I think that GNOME 40 changing the layout was a bad choice to make.
In 3.38 you had a more space efficient layout that allowed a more easy management of open windows, keeping track of what is open in each desktop (thanks to the bigger thumbnails), more efficient mouse usage by having the dock near the activities menu and a more compact quick settings menu.
Tastes aside (that can get fixed using extensions or going with Pop!_OS), there are some real problems with Gnome 4X’s redesigns.
Navigating the system without extensions, especially for mouse driven users, is very cumbersome. Having to click the activities menu, then go all the way down to open a program and repeat it a bunch of times (especially if you don’t know about drag and drop) will wear your hands down like crazy.
There is also a big problem with the quick settings menu that is very likely to go unfixed, because the design itself is flawed. When you are using a 720p screen (like the one found in the Steam Deck) it’s very likely for the quick settings menu to go outside the screen and make certain options unreachable.
I find that GNOME is going more with a “let’s make it look good” mentality that is often making functionality or even accessibility worse for users. You could argue that GNOME 3X was more forgiving for people with mobility problems in their hands and i find it surprising that nobody thought about that during GNOME 40’s creation.
5) Lack of features
Insert lots of users asking for XYZ feature in all kinds of forums:
GNOME has a serious problem with the lack of features present in most of their programs. Yes, i know i am being a bit hypocritical asking for stability + features, but literally every desktop does that already.
The other day i decided to play around with a gadget that works as a remote mouse + keyboard in a controller shape. I wanted to adjust the mouse speed of that gadget to make it more comfortable to use, only to find out that GNOME only supports one mouse configuration at a time.
There are other examples, like Nautilus missing split file view, including a terminal, compositor and more advanced Wayland features and probably more things i can’t think of at this moment.
It really FEELS like GNOME is wasting time and money developing useless things, something very strange for the desktop with currently the most funding. We end up getting a buggy mess with few features that don’t address real needs of their users.
It really makes me wonder how KDE is lately managing to be so stable but yet add so many features that are very well tested.
A notorious example of the lack of features & questionable design is GNOME not putting the work in getting drag and drop support fixed, they put a band aid by making Nautilus able to manage compressed files. Too bad you can’t use it because scrolling is broken, and file roller is used in every GTK desktop, the priority to fix it should be higher.
6) Future Technologies
“And then, we waylanded all over the place, just when the year of the linux desktop arrived!” ~ Neo-Richard “The GNU” Stallman in 2075, probably.
Jokes aside, something strange i see is how slow GNOME is at approaching new technologies, specially Wayland.
In the last few months, Wayland has been at full speed developing protocol after protocol to finally get all of the missing pieces together, especially thanks to KDE and other projects forcing GNOME to reach consensus on how to approach certain things.
The unexpected side effect is an arms race of who gets closer to 1:1 X11-Wayland support.
Thing is, the users that really want to use Wayland are more and more likely to drop GNOME in favor of other desktops or window managers like KDE, Hyprland or Sway.
The reason are the protocols getting implemented faster on every place but GNOME. You have KDE merging tearing, color profiles and likely more stuff.
This already makes most gamers and graphical artists prefer KDE over GNOME and it will only get worse for GNOME if they keep slugging around in adding proper support.
7) Conclusion
I really hope that everyone involved in GNOME and GTK take this criticism seriously and in a positive light, what i want most is for the Linux Desktop to improve, but sometimes you just gotta take a slap in the face to realize that you are doing things wrong.
And if im the one who needs a slap in the face, please give me one! Oh and please try to be constructive like i tried to be.
Oh and please avoid using the “fix it yourself” argument, i don’t have the skills, what i can do is write this. That point just a cheap way to make me look bad, the point is arguing over GNOME and going places via discussion.
Now, a TLDR for those who don’t want to read that wall of text:
I think that everyone who values their computer and sanity should avoid using GNOME at ALL COSTS. Above are the reasons of why i think that.
KDE 6 will mark the death of GNOME