Over a month ago I embarked on my own personal challenge to use GNOME Shell (otherwise just known as GNOME 3) for an entire week. That week happened and went, I wrote some thoughts I had after that initial week, but did not officially end my usage of the Shell. Fast forward to now... I'm still using GNOME Shell and here's why.
First of all, it's worth mentioning that what follows in this article is my personal experience and may not reflect your own such experience, even a prolonged one, with GNOME Shell. Therefore, please do not assume I am trying to convince you that GNOME is all sunshine and rainbows and that you're completely wrong in all your negative opinions of it, if you happen to be one of those people who do not like the GNOME desktop.
As Captain Jack Harkness of Torchwood said, "the 21st century is when everything changes". Which is likely true, aliens and monsters aside. Still, we as people are creatures of habit and I think this is also very true when it comes to how we use our computers. For me, I'm certainly not averse to change and I like to think I can have a fairly open mind. Nevertheless though, I'm human and perhaps even a change in desktop interface or paradigm can at first make me pull back and shout, "Whoa, whoa there cowboy. Why change what works? Where's my taskbar?!". Etc.
So, what happened? Did my experience with the modern GNOME desktop simply mean I adjusted to it, to the differences it has? Did I find GNOME wasn't as bad as I had thought? Or is it some strange self-inflicted digital form of Stockholm syndrome?
Perhaps the truth lies somewhere in between. During that first week of the Challenge, sure it was an adjustment from a conventional panel and taskbar kind of desktop interface, but at the same time allowing myself to get used to GNOME Shell's keyboard commands and handling of windows and such, I found it to not be all that bad.
In fact, here's the funny thing: if I use a fairly standard panel and taskbar (i.e classic) desktop interface now, I feel a bit slower and clumsy. It was the other way around when I started the Challenge, yet now I'm zooming around GNOME Shell without any trouble at all and if I use a non-GNOME desktop, I find myself subconsciously hitting the "Super" key to either get an overview of my open program windows or to launch an application. In most desktops nowadays (even in Windows, for quite some time), the Super key has a standard functionality to either launch a main menu or act as a meta key in combination with other keys to perform important functions. The later, for example, can be seen in some tiling window managers.
But it's GNOME's specific usage of the Super key that really ingrains it in your brain. It becomes a central power to launching applications and also getting real-time previews of all your windows in any given workspace. And of course you also get little real-time previews of all the active workspaces themselves and the windows they contain. You can see why it's called the "Activities" area. In that same area there's also that dock thing called the Dash that holds your Favourites, but in truth I don't use it that much, except for right-clicking on a program icon for, say, opening a new private window in Firefox or the quick list menu of Steam.
Taskbar? Who needs one!
Well, not exactly true. One of the criticisms no doubt aimed at GNOME Shell is that it lacks any sort of conventional taskbar. Well, let's face it, there isn't one, unless you go and download an extension that adds one. GNOME Shell is clearly designed to move away from these conventional methods of accessing and managing tasks. And this is no bad thing, in my opinion.
At the same time though, there's no perfect "one-size-fits-all" system to launching and managing applications and tasks. If you look at the conventional layouts that you see in the likes of Windows (pre-Windows 8), Xfce, LXDE and even GNOME 2 versus the "modern" approach taken by environments such as GNOME Shell, each paradigm has it's own pros and cons.
In GNOME Shell, I quite appreciate the less distracting approach it takes and I find the Application Switcher (Alt-Tab) has the power to kind of act like an on-demand OSD (On-Screen Display) taskbar, complete with real-time window previews and keyboard control. But at the same time, I then lack some of abilities that a conventional taskbar panel with a constant screen presence provided, such as an urgent notifier from an application or a number on top of an application icon that, for example, lets you know how many new emails your mail client has received. That last sentence once again probably points to a more traditional way of doing things however; a way that I'm "used to".
On the other hand, GNOME has it's own central notifications system to handle those things I mention. If an application is ready or requesting your attention, GNOME Shell will use it's bottom-screen edge popup notification to tell you just that. You can click on that notification, which will take your focus directly to that application window or you can just ignore it, which means that particular notification will be sitting stored in the Notifications Panel (accessible with Super+M) for later access, if you wish. If you have new messages, it will let you know in a similar manner. The GNOME lock screen itself even shows notifications so when you return to your computer you can immediately see what's new. It's different, it may not be what you're used to, but it works.
GNOME Shell Pros and Cons
I could spend all day pointing out the differences of GNOME Shell and how some things work great in place of certain conventional designs or how some really don't. But it would become a long boring ramble so instead, allow me to simply make a basic pros/cons list in regards to GNOME Shell. This is my personal opinions of course, but I like to think I look at it objectively and honestly. Let's go.
- It aims to be less distracting and I think this is largely achieved.
- Great keyboard driven power if you choose to use it and learn the shortcuts.
- Unique UI. I've heard comparisons to Apple's MacOS but to be honest I've never quite seen the similarity. The overall look is subjective as to whether it's a good thing that it's unique looking or whether it's beautiful, but for mine it gets the "pro" marking here.
- Luxurious feel. Similar to the point above, GNOME Shell somehow achieves, in my mind at least, a luxurious feel compared to many of it's competitors. It's not as outright fast as say Xfce and certainly not something like Openbox, a lightweight standalone window manager, but it's smooth and has some nice features and conveniences provided out of the box. Kind of like a Mercedes luxury sedan versus a Formula 1 race car.
- First class application search and keyboard launching capability. Most desktop environments I install something like Synapse launcher or Kupfer to provide this functionality but the likes of GNOME Shell (and increasingly other desktop environments) provide this out of the box. This also lends itself into integrating with local files and folders, contacts or even web searches (the latter not provided in GNOME Shell by default anymore but easily provided with an Extension).
- Very extensible. You can install a plethora of extensions to do pretty much anything. On the other hand... well, see the cons section.
- Keyboard shortcuts are not as discoverable as they should be, because they are very useful but for some reason you have to go digging through the GNOME Help application yourself to even know what they are.
- The applications menu is very obviously touch-screen oriented and while it is very usable with mouse and/or keyboard, it lacks application categories to help you sort or discover applications by type. GNOME Shell actually did have application categories in earlier versions, but as I understand it, the GNOME developers thought they were superfluous and taking up space on a cosmetic level so they were removed. To be fair, simply typing a keyword such as "internet" in the Activities/applications menu will bring up every application in that (internet) category, so it's a fairly intelligent and intuitive system, but it's not for everyone. Especially those people who prefer to browse through a more traditional menu, by category, with the mouse cursor. Of course, as often is the case with GNOME Shell, there is an extension to provide such functionality.
- Extensions can cause issues ranging from minor glitches all the way to major stability problems. From the GNOME developers' point of view, the default GNOME configuration is the supported one and extensions are up to the extension author themselves to ensure they work correctly with any given version of GNOME Shell. As such, you cannot load up your GNOME Shell with a tonne of extensions and necessarily expect it to "just work" without any issues. It may well work perfectly fine, but then again a new update to either GNOME or the extension itself could introduce some problems. The point is, you have got to take some care if you want a totally stable GNOME while using extensions, because unfortunately an extension, by nature of the fact they can change core Shell behaviour, can potentially adversely affect any part of GNOME Shell.
- If GNOME Shell's Mutter OpenGL accelerated window manager doesn't play nice with your hardware or driver configuration for some reason, then GNOME Shell's trademark smoothness may not be so smooth at all. If the Shell's animations get all jittery and even hesitant, it's not such a nice experience. Of course this would apply to any graphics accelerated interface, but this is something I have experienced with GNOME Shell previously. Thankfully, GNOME Shell 3.10 and up seems to be a good performer even on my NVIDIA blob-powered desktop machine, which was once a fairly inconsistent experience at best.
- While very extensible, GNOME Shell isn't exactly "customizable" from the point of view of a heap of options in the settings panel. While desktops like KDE are almost a tweaker's paradise even before you install extra goodies, GNOME opts for a less-is-more approach and just provide the bare essentials. This does help with the whole "be less distracting" idea, in that you will likely spend far less time playing with your desktop itself, but some people crave to have that tweaking power available (without writing entire extensions/plugins). If you are one of these people, you'll likely not like the more sparse and tight nature of GNOME. On the other hand, GNOME Tweak Tool is a nice third-party program that does provide some nice options.
- This isn't necessarily GNOME's fault, but Steam has a terrible bug where certain popup windows such as Steam Announcements, don't display correct size. Often all you can see is a portion of the popup window which you cannot interact with. You can't even close it. It has happened on other desktops before, but as far as I'm aware, it was largely fixed except it is still, as of this writing, happening in the GNOME desktop. It doesn't always happen, but when it does, you have a useless left over popup element that you can't get rid of, short of actually restarting the entire Steam application. Often I just move the "dead" popup item into an empty virtual workspace and ignore it.
So, you may still be wondering why I'm still actually using GNOME Shell. In my original article regarding the GNOME Shell Challenge, I had no hesitation in stating that I found GNOME to be restrictive in my productivity and that it felt awkward to use. The challenge itself ended after a week and no one took me up on the offer to donate to the GNOME Foundation to increase the time I had to do the challenge (that's not to say that readers of the article didn't donate to GNOME, but certainly not for the reason I just stated).
I believe the "change" happened sometime during the latter days of that challenge week, where after I got used to some aspects of how the Shell functioned and adjusted my mindset in regards to my work-flow a bit, I started to, well... you know, do things. Instead of focusing on the Shell itself and every metaphorical switch, lever and storage compartment, I just went and did my work. Whether it be writing, such as for The Linux Rain here, or forums posts or whether I be coding in Vim, playing with new applications or even some games (thanks to the recent GOG.com Linux support), I did all my usual tasks in GNOME and found it to be no hindrance whatsoever. In fact, it stayed out of my way and arguably made me feel more productive due to it's nature of less distractions and admittedly less tweaking bits to play with. What's more, it even taught me to use virtual workspaces, which I have rarely bothered with, but that too helped with productivity. Some would argue forcing you to learn to do something differently is wrong, in a UI, but the fact is we have all had to learn to do something the best way that a given UI allows us. We just became very accustomed to it to the point where we felt it was THE way to do it.
In the end, I think what it came down to was that a lot of my discomfort with GNOME disappeared and I was happily using my computer with it daily, so... why get rid of it? I got used to how GNOME functioned, to the point where my muscle memory had already adjusted to doing things "differently". You might say I stayed with GNOME all this time because: why change?
How's that for irony?
GNOME Shell isn't perfect. Far from it. But what desktop is? I once thought KDE was possibly the greatest desktop in the world and I still think it ranks very highly, but even KDE is far from perfect and has it's own nitpicks or quirks.
What GNOME Shell IS, is a smooth attractive interface that tries to stay out of your way and be accessible to everyone. Some would argue it's too "dumbed-down" for a typical power-user to accept, but then again, I always considered myself a power-user as well. It may depend what you're after though. I alluded in my article earlier that I am also running GNOME on my desktop system now as well (not just my main laptop machine). My desktop has always been a bit of a tweaker heaven for me as well as a multimedia machine, but at the same time recently I got frustrated with screen tearing with various setups and playing around with compositing window manager configurations that just didn't quite work as smoothly as I'd like, especially when I was either trying to game or get something done or even just watch a movie. So I installed GNOME. Bam, it works, it's smooth and I could use my desktop to do what I wanted to do without any issues.
What GNOME Shell ISN'T, is a hugely customizable (out of the box) interface where you can put your panels on the left, right side of your screen or upside down, topsy-turvy. If you're an "applet" fan, again you will be disappointed save for the user-created extensions you can install. While it's performance seems quite good in recent times, it's also not a speed demon that sips on RAM and leaves all your CPU and graphics resources free for you to squeeze every spare frame-per-second out of a game or other 3D application.
But here lies the great strength we have in GNU/Linux. Want a graphical environment that uses next to no resources to get the highest performance you get out of your hardware? You can do it. Want maximum bling on your desktop, even if it costs some resources? You can do it. We have choices.
I think GNOME strives to try and break away from the "old-school" way of navigating and using the desktop and really try to design a different but still fairly simple to use interface that is distraction-free as possible. It doesn't completely succeed in everything and to be honest I feel there's still much that can be improved in desktop UIs in general, so I admire GNOME for trying something different even if it's not completely there yet. Again, at least we have so much choice. You want old-school? Install one of the myriad of classic style desktops.
How long will I use GNOME Shell? It's hard to say. I don't have any reason to leave it, but if something new comes along that is tempting to try, you can never say never. For example I am very eager to try the latest Budgie desktop in Ikey Doherty's Evolve OS, which has massive potential... more on this to come later (hint: subscribe for Linux Rain updates!).