Saturday, December 15, 2012

Gnome Shell Revisited, and the Shocking Truth About Unity

If you've read my previous posts, you've probably ascertained that I like Gnome Shell least among the three main Linux Desktop environments. But my recent experiences have altered my perspective.

I've primarily used Ubuntu and Debian in the past. However, since my job now requires me to develop software for Redhat Linux, I recently installed Fedora on my work laptop, in a dual-boot configuration with Windows 7, in hopes of becoming more familiar with the RH platform.

I do most of my development work on a RHEL 6 workstation, but I also occasionally work on code on my laptop as well. The awkwardness of software development under Windows was getting tiresome, so I requested permission to install a second OS on my laptop. Admittedly, Windows 7 now seldom sees the light of day.

I decided to use the default Fedora install image, rather than the KDE variety, with the idea that it would be better supported. After a couple weeks of using Gnome Shell, I have to admit, it's kind of grown on me. It could still use some polish, and there are far too many features that are only partially implemented, but there's also a lot to like.

One big dislike I had initially for Gnome Shell, is that I can't take advantage of my full screen real-estate to view my workspaces. Instead, they're stuffed into a tiny strip in the right margin, that looks like something that came out of a photo booth at the mall.

However, after several days of using Gnome, I booted up a machine at home running Ubuntu's Unity desktop, and quickly recognized the method to the Gnome devs' "madness." In Unity, if I want to find a window on one of my desktops, I have to:

1 - Switch workspaces,
2 -  Go into scale mode to view the windows on the current workspace,
3 -  Close scale mode,
4 - Change to the next workspace, and so on.

The fact that you can only see the topmost window in Expo view (assuming that window is maximized), renders this feature almost useless. Or at least it makes it far less useful than it could be. There is, of course, the option to click on the launcher icon for the desired application. This is very similar to the way it works in OS X; which is a feature I've always found annoying about OS X. Clicking the icon takes me to the correct workspace, but now I have no idea what workspace I'm actually on.

In Gnome Shell's Activities view, by contrast, I can quickly switch between workspaces, and immediately view all of the open windows on that workspace. I also appreciate the fact that all of Gnome's features are accessible from Activities view. I can access the system menu, the notifications tray, the calendar applet, etc., all without leaving Activities view. In Ubuntu's/Compiz's scale view, I can't do anything without closing scale view first.

I was disappointed, however, upon upgrading my wife's macbook to OS X Lion, to discover that the workspace switcher is now very similar to Gnome's. One of the thing's I've liked about Gnome Shell from the beginning is that the concept felt so original.

I don't know whether it was Apple or the Gnome Foundation that came up with the idea first. If it was the Gnome Foundation, then it's no big deal, because they've definitely put their own spin on the concept. It's just another example of Apple stealing other people's ideas, and then boasting about how truly original they are. If it was Apple, on the other hand, who had the idea first, I see trouble ahead. They seem ready to sue over the slightest similarities in design. That still applies, even if they copied the idea, but were the first to patent it.

I must also mention here, kudos to KDE for their implementation of the workspaces view. It presents you with a scale view of all the windows open on each desktop, and is much more informative than the Compiz counterpart. KWin, in so many ways, seems to me like what Compiz Fusion might hope to be when it grows up.

All this may seem like splitting hairs to you, and just a matter of user preference. However, I found that it goes deeper than that.

I quickly found Fedora to be far too unstable, and trying to get it working was eating up too much of my time. First off, I couldn't even get the system to shutdown without hanging. And then it would drain my battery like a sailor on shore leave drains a pint of beer. My laptop was always hot, and the fan sounded like a 747 on the runway. Then there was the intermittent loss of touchpad control, which could only be remedied by dropping into the console and killing the session.

There's so much to like about Fedora. It's a shame that the support cycle is so short, and it has no LTS equivalent. The closest thing is RHEL, which is like stepping back in time.

So I replaced it with Ubuntu 12.10, which resolved most of the problems I was having with Fedora. This was my first time using Quantal, and I really liked some of the new features, such as Unity previews and web apps. However, I found that running even very lightweight virtual machines under Unity made the desktop almost unresponsive. And this is on a system with 4GB of DDR3 RAM and a 3.0 Ghz i7 processor. My guests were two minimal CentOS VMs, with no desktop, 512 MB of RAM, and 1 processor each.

Well, this just wasn't going to do. Curious, I decided to try installing Gnome Shell. Actually, it was already installed, thanks to a package in Ubuntu Software Center mis-labeled as "Evolution Calendar."  I thought I was installing a calendar, but instead installed a whole desktop environment!

So, I logged out of Unity, and logged back in to Gnome Shell. I then opened up my regular applications - Chromium, Gnome Terminal, Gedit etc. - and then fired up my VMs. There was a little sluggishness as they were booting up, but after that the loss in performance was almost unnoticeable. Gnome Shell remained snappy and fluid. Even with Evolution Mail and Calendar open - a notorious system crasher - everything still worked smoothly.

I find the huge resource load difference between Unity and Gnome to be kind of shocking, and it may spell the end of my experience with the Unity desktop. If I wanted an OS that requires frequent hardware upgrades to keep it functional, I'd still be using Windows. Sad, I was really starting to get excited about the direction Unity was going.

No comments:

Post a Comment