Hacker News new | ask | show | jobs
by Aethaeryn 5129 days ago
If you have to wait for a Linux desktop environment to improve over time into something that's fully usable, wait for a desktop other than GNOME 3's shell to improve.

I have used Fedora and GNOME since Fedora Core 4, which was almost 6 years ago. I even tested out GNOME shell in early alphas and liked the new interface.[1] Of course, there were plenty of annoyances, but I was giving the GNOME 3 team the benefit of the doubt because it was very early software.

A few months ago, I switched to LXDE. I am much happier in an environment that is closer to the traditional GNOME 2 experience than GNOME 3 is.[2] LXDE is not user friendly like GNOME and so it requires some basic customization (with text files) to get it working comfortably. On the other hand, GNOME 3 is user hostile when you want to do any customization at all!

GNOME 3 is nice when you use it exactly as the developers intend, but they purposefully make it hard to customize:

Do you want to set custom GTK themes on a per-application basis like you could in GNOME 2? Too bad -- that feature doesn't exist in GTK3 and the GTK2 command line magic that used to work no longer works in GNOME 3. I mean, it's not like some applications simply look horrible in the default theme while others pretty much require the default, right?[3]

Do you hate wasted space on your screen? Well, the padding is there to stay so you have to set the title bar font to a tiny size with a third-party semi-official customization application if you want to make the title bar a sane small size without touching source code. Big GUI elements are touch friendly, yes, but I am not using touchscreens and I don't want wasted space when I could devote more pixels to the actual content I want to focus on.[4]

Do you have two large desktop monitors? Too bad, the GNOME 3 experience isn't optimized for multi-monitor setups. They put more thought into touchscreen devices (where currently no one uses GNOME 3) rather than fairly common multi-monitor setups.[5]

There's a complete lack of meaningful customization in GNOME 3 and the tiny bit of customization that exists is via the GNOME Tweak Tool rather than integrated officially into the desktop environment's settings. This 'do not customize' attitude is a design preference and it's really annoying, especially when no software works flawlessly for all use cases. It seems like they really want to move all customization to random third party add-ons downloaded from the Internet via their website.

Don't get your hopes up for GNOME 3. A lot of the missing features are conscious design decisions that might never be fixed. For me, there's no one reason why I can't use GNOME 3, but there's just lots of constant minor annoyances I simply don't experience in other desktop environments. Most of these annoyances will take years to fix and many will never be fixed.[6] Again, none of these are irredeemable flaws, there are just many little faults and the anti-customization attitude of GNOME 3 makes those flaws considerably harder to deal with than they should be.

I wouldn't give up on Fedora, but I have definitely given up on GNOME 3.[7] Again, most of GNOME 3's barriers to customization (i.e. fixing their many annoyances) are deliberate decisions that will probably never change. GNOME demands you follow their One True Way of doing things. If I wanted to conform my workflow to some organization's opinions, I probably wouldn't be using Linux in the first place.

-----

[1] I was pleasantly surprised that the fancy version works even on my laptop, which has terrible Intel integrated graphics from years ago. My laptop barely handles anything that requires a graphics card, but it runs GNOME 3's new shell.

[2] LXDE doesn't have some features that GNOME 2 had, but LXDE also has some cool things that GNOME 2 didn't have. One cool feature I particularly like is being able to remove window border decorators. It's the little things that count. LXDE+Openbox have as many little details that I like as GNOME 3 has little details that annoy me.

[3] This was actually the last straw that sent me to LXDE. I spent days trying to either set an appropriate theme or figure out how to set themes for each application. The GTK3 theme for GNOME 3 simply doesn't work for all types of applications even though you can only use one for all of your currently running applications. Of course, the default themes for just about every other desktop environment seem to work fine for all popular applications first-party and third-party, so I really don't know why GNOME 3 has a complete lack of aesthetic taste. Maybe it's some subtle issue like the title bar background color in the window decorator matching the toolbar and menu bar background color.

[4] They also want you to constantly switch to a separate mode (the Activities view) to do many common tasks, like quick launching of applications that could easily be located as an icon on the top panel instead.

[5] I could get into more detail about all the minor annoyances here, but it would make this rant far too lengthy.

[6] It seems like they love the large icons and the massively huge window decorator title bar padding. Expect a user interface that works universally, even on device form factors you will never use GNOME on, to be a higher priority than one that works well on large desktop screens.

[7] I don't hate GNOME 3. I wouldn't have put this much effort into criticizing it (based on over a year of trying to like it) if I immediately hated GNOME 3. It's just that the GNOME team has a different target audience than me (or, really, hackers in general[8]) and it is more work customizing GNOME 3 to work the way I want it to than it is to customize LXDE. LXDE isn't perfect and it isn't polished, but I do expect desktops like LXDE and XFCE to get improvements and attention now that GNOME 3 has alienated most of GNOME 2's audience.

[8] The funny thing is that GNOME shell's target audience appears to be people who don't use desktop Linux and who probably will never use desktop Linux. They clearly aren't targeting Linux 'power users' with their design decisions. The issues that prevent desktop Linux from being used are market barriers (i.e. almost every laptop coming with Windows pre-installed (supply) and people being used to Windows after almost two decades of use (demand)) rather than technological or UI barriers. (Yes, I put a footnote in a footnote. I don't care.)

2 comments

> GNOME 3 is user hostile when you want to do any customization at all

It's not: https://extensions.gnome.org/

> It's not: https://extensions.gnome.org/

That's not user friendly customization:

(1) When there's something that's called "Remove Accessibility" on the front page that's indicative of a broader problem. A tiny little script to remove the accessibility menu (which most people probably don't use) from the top panel? Couldn't this be a simple checkbox integrated natively into GNOME 3 instead of a third party download? Why is the accessibility menu there by default in the first place if very few people are going to use it? Honestly, this is something I'd expect in a Microsoft product, not in a community-based open source project.

(2) I already mentioned in my previous post how customization depends on "random third party add-ons downloaded from the Internet via their website" so I am aware of this. It's not a counterpoint to my post.

(3) Compared to "App Stores" or even distributions' repositories, that website is a terribly designed way to download content.[1] It is not user friendly or modern. The only modern aspect is updating a desktop environment via a browser.

(3b) Is there even a way to automatically update these extensions? Can I see the source code? Where is the average rating display and the sort by ratings even though ratings and reviews exist? Why can't I sort by rating even though there are apparently ratings in the comment system? Is it curated or can anyone upload malware there? Is it a secure site or could someone circumvent the security measures easily? There are many more questions, mostly of design, quality, and trust. If you have a Linux (or BSD) distribution, you (hopefully) trust the software in its repositories.

(4) Speaking of a distro's repositories, shouldn't this kind of thing be managed in your distro's repositories? Well, it should except that GNOME 3 has so many problems, bad defaults, and (of course) missing options that could easily be placed in its configuration menus. There are simply too many necessary extensions, which forces this to happen. Many of these only do very tiny things that certainly wouldn't justify their own independent package, like "Alternative Status Menu" that merely separates Suspend, Hibernate, and Shutdown.[2] Yet again, just a line in a configuration GUI would be preferable.[3] (I mean the official configuration GUI, not the Tweak Tool.)

(5) Why do users have to trust random downloads from a browser? I mean, I suppose we could all code extensions ourselves and get rid of this trust issue, but this isn't emacs. This is meant to be a default desktop environment, the first thing a newbie Linux user will see. Not every single user of the OS is supposed to be computer professionals (especially given GNOME's new target audience). Programming shouldn't have to be a prerequisite to having a usable desktop enviornment. Wizards or configuration menus will be something the typical user is used to. Code integrated into the desktop will be faster, more reliable, trusted, installed and updated via yum/apt/etc., and so on. Many of these things are already toggled in hidden ways and could easily be configured explicitly through the official GUI in a way that's tested and trusted.

I could go on. I won't. It's too easy.[4]

-----

[1] There are probably hundreds or maybe thousands of people who read Hacker News (I'm not sure how many active users there are) who could code up a better website as a weekend project. Why does the largest desktop environment in the FOSS world have such a terrible way to download extensions?

[2] Yet another minor annoyance: shutdown is hidden by default behind the modifier key Alt. There is no easy built-in way to change this. When I used GNOME I had to Google command line magic to trick GNOME into thinking my computer was incapable of suspending to get the shutdown to display by default on the menu. Apparently the One True Way to deal with "turning off" your computer is to suspend it and pretend it's off.[5] And since Shutdown is capable of being displayed on the menu without a modifier key instead of Suspend when you do some command line magic, that means yet again it would be trivial to make it able to be toggled in a menu since the functionality already exists!

[3] I hope you're noticing a pattern here.

[4] There was a thread on Hacker News calling PHP a "fractal of bad design". GNOME 3's shell is certainly a fractal of bad design. My post was a broad overview of what is annoying about it for the sake of being concise. That might be surprising due to its length, but I was holding back the entire time I wrote it. I can go more in depth on various parts if challenged.

[5] There's one really annoying thing you'll notice about GNOME 3 shell's philosophy of there being one way to do things and no trivial way (downloading third-party scripts where a checkbox would do is not trivial) to change it. Remember the example of the accessibility menu being enabled by default: GNOME shell's way of doing things is rarely in line with the most common ways GNOME 2 was used. Thus, old GNOME users upgrading will have to actively fight against the defaults. That's about as close to being user hostile as you can get, almost literally being hostile.

> That's not user friendly customization

1) You were arguing in your original post that the default is good for a target audience of non-power users, but not for power users. However, power users should be able to go through the dead-simple extension two-click installation process. So you're contradicting yourself.

> Couldn't this be a simple checkbox integrated natively into GNOME 3 instead of a third party download?

http://ometer.com/free-software-ui.html "The question of preferences"

> Why is the accessibility menu there by default in the first place if very few people are going to use it?

It's just an icon, no one has to click it. But it's there for those who need it. Why make it harder for them while others have no loss with the icon being there? And everybody will need it at some point in his life.

3) e.g.o is not meant as app store. Extensions are not intended to be apps.

3b) Automatic updating: it's coming with Gnome 3.6. Source code: You can see the source code of every extension under .local/share/gnome-shell/extensions/. It's plain JavaScript.

> Is it curated or can anyone upload malware there?

Extensions go through a review process. You could have figured that out by looking at https://extensions.gnome.org/about/ "Are GNOME Shell Extensions safe?"

4) Power users and extension developers do not want to wait for the next distro release in order to have fun. Same rationale for browser extensions.

5) https://extensions.gnome.org/about/ "Are GNOME Shell Extensions safe?"

6) It's not a random download. It's from the official Gnome project site and subject to a review process.

[2] > shutdown is hidden by default behind the modifier key Alt

Don't you have a hardware button on your machine? Why not shut it down the same way you turned it on?

[4] > PHP a "fractal of bad design". GNOME 3's shell is certainly a fractal of bad design.

No, "fractal" is referring to the PHP syntax and API being overly complex and frayed. Gnome is the opposite of complex. Adding more options, however, would certainly make it a "fractal" (think KDE control center and apps)

By default the accessibility options - should be very.. ahem.. accessible. For good reason. But yes, have the option somewhere to turn it off, if it really does bother you.
So I need to either start hacking the shell in Javascript or wait until someone else hacks it for me.

If that's not user hostile, I'm afraid we have a different idea of what UX is.

Besides that some of these add-ons cover functionality that was available in Gnome 2 and/or is usually available in any modern desktop environment.

EDIT: typo corrected

What's your experience with LXDE and multimonitor setup? I have some issues with ARandR, it doesn't remember the configuration; and I "fixed" it with a little bash script that configures xrandr.
I haven't had any issues with the multimonitors besides:

- The Fedora defaults for background image stretches a 1920x1080 picture across what is effectively 3840x1080 pixels. There doesn't appear to be an elegant way to set a background image for a multimonitor setup, so I just paste together two different 1920x1080 pictures to form a 3840x1080 picture when I need to set something as my background image.

- The panel defaults to being stretched across both screens so I needed to adjust its size. Very minor annoyance that this doesn't work by default.

-----

There's also a larger issue with fullscreen.

Fullscreen on most applications that try to launch fullscreen, especially games with SDL, appears to be broken. Apparently they see my displays as one large 3840x1080 monitor instead of two separate 1920x1080 monitors. They then throw some type of error about unsupported resolution and switch into windowed mode (or, rarely, they crash).

I set Ctrl+F11 as a custom hot key to force fullscreen, which seems to work on almost everything. So I launch things in windowed mode, drag the window to the monitor I want to use the application on, and then press Ctrl+F11 to make it take fullscreen on that monitor. If that for some reason doesn't work, I can maximize the screen and remove the Openbox window decoration.

VirtualBox is the one application I regularly use that seems to handle fullscreen okay without any effort on my part. RightCtrl+F makes the VM fullscreen on its current monitor without any issues and VirtualBox remembers this and has no issues launching into fullscreen, either. Thus, it's probably an issue with common libraries and not with LXDE itself.

GNOME 3 sometimes has problems similar to this, especially when games using SDL attempt to launch into fullscreen at the start. I prefer LXDE's workarounds to the ones I had to use in GNOME 3. I especially like LXDE+Openbox's ability to remove window decorations just by right clicking on the window title bar at the top and selecting the appropriate option.