Fedora 16 and GNOME 3: First Impressions

I’ve been holding out on Fedora 14 for as long as I can, trying to avoid moving to GNOME 3. I’ve read too many bad reviews and horror stories. But I finally decided it was time to try it. I backed up my laptop and did a clean install of Fedora 16 and thought I’d offer my impressions.

GNOME 3 seems to be the result of a well-intentioned user interface design that largely misses the mark. The results could have been greatly improved by proper use of time-motion studies and consideration of common use-cases. Unfortunately, it feels like the design was done without the input of users. The result is that GNOME 3 makes almost everything I commonly do on my computer less intuitive and slower. By slower I mean three things: more keystrokes, more mouse clicks, more waiting while the UI presents unnecessary eye-candy in a task-blocking way. Here’s a simple example you’ll run into right away:

Shut down your computer in GNOME 2 – click ‘system’ menu, select ‘shutdown’, click ‘shutdown’ (or suspend, hibernate, or restart) on the shutdown dialog. Done.

Shut down your computer in GNOME 3 – click the name of the current user in the upper right hand corner. Select ‘logout’. Wait several seconds while the desktop cycles and brings up the desktop login screen, click ‘shutdown’.

Sure it looks really cool with all the animations, boxes, and stuff sliding up and down. And you could argue that it’s the same number of clicks but it really does take significantly longer. And there’s the added non-intuitiveness that a user will have to overcome to discover that clicking their user name and then logging out is required to find the ‘shutdown’ option. Compare that to a user guessing that a click on a ‘system’ menu might present system-related functions like ‘shutdown’.

Use GNOME 3 for a couple of hours and you’ll find a dozen similar cases where common tasks are slightly slower and slightly less intuitive.

There are other, more drastic and baffling UI changes. One thing I noted throughout GNOME 3 is that there is a general move away from multi-tasking towards something more akin to a primitive task-switcher. Using GNOME 3 feels like a cross between a 1980s DOS task switcher and a badly designed phone UI.

For example, in GNOME 2, suppose you’re running several terminals to monitor real time data on a remote system. Now you want to open a word processor document to make some notes about the data you’re monitoring. You’d probably click the ‘Applications’ menu, select ‘Office’ and then ‘OO Writer’. And it would start without interrupting your other activities.

That simple, everyday scenario is completely impossible in GNOME 3 because it can only do one thing at a time visually. In order to start a word processor program you have no choice but to stop watching your terminals because the UI literally can’t do both things at once. Viewing the desktop and the ‘Activities’ menu simultaneously is not possible. So the thing to be aware of is that if you need multiple programs and are doing something critical, start them all before hand or you’ll be interrupted by the UI’s inability to multi-task.

So how do you start a new program anyway? Basically the same as always, except the applications menu is now called ‘Activities’ and takes up the entire desktop instead of a small area on the upper left. The first step is to click ‘Activities’. Then you wait while you’re shown a 2 or 3 second eye candy animation of windows zooming all over the place. Once the animation is over, the entire desktop is replaced with a combination of the old applications menu and a sort of crude taskbar that shows what’s running.

Not only does the ‘Activities’ menu take up the entire desktop, but each level of the menu is in a different visual form and location. The first level is a horizontal text menu on the upper left, the second level is text-based again but vertically on the far right side of the screen, and the third level is a jumble of gigantic icons that fill the center of the screen. You’ll waste a lot of time and effort pushing the mouse pointer the full width and height of your screen several times to start one program. Need to start two programs? Sorry, can’t do it. Once you’ve started one, you’re taken away from the ‘Activities’ menu and back to the desktop, where you’ll have to click ‘Activities’ again and start all over for each program. Starting up a dozen or so things can be incredibly time consuming. The apparent design goal here is to slow productivity while speeding development of carpal tunnel syndrome.

As you’ve probably heard if you’ve read any reviews of GNOME 3, they’ve removed the maximize and minimize buttons from the windows. It makes you wonder if they set to out make GNOME 3 the most frustrating user interface ever. Think how many times a day you minimize windows. In GNOME 3 you’ll quickly end up with a disorganized mess of overlapping windows. Need to get a window out of the way for a few seconds and then bring it back? Sorry can’t do it anymore. Need to keep a certain program minimized and at the ready so you can pop it up briefly and hide it again? Sorry can’t do it. If a window becomes completely covered up, there’s no obvious way to reach it. The only way to get it back to the top is to drag and resize other windows until you can see enough of the desired window to click on it.

Why not just click on it in the task bar, you ask? Well, there isn’t one any more. At least there’s not one that’s visible on the desktop where you need it. So even though I found a hack to get the minimize button back on the windows, if I click the minimize button, I’m pretty much screwed.

Where does the minimized window go? Non-intuitivily, it ends up on the ‘Activities’ menu. Remember I mentioned when you first arrive on the ‘Activities’ menu there’s a crude replacement for the task bar? That’s where you’ll find your minimized window. Only you’ll have to identify it by squinting at little screen captures. There is some tiny text with the window title but it’s significantly smaller than the text in the GNOME 2 task bar. So if you had say, 10 browsers or terminals open and minimized a few, it becomes non-trivial to tell which is which among the screen captures on the ‘Activities’ menu. But you can always click them at random until you find the right one.

And between each of those random clicks you have to “task switch” back and forth between the desktop and the ‘Activities’ menu, watching the eye-candy animation of windows flying around between each transition. I think the goal here was generating something akin to road rage in the computer user.

Is there more bad news? You bet! Context menus have been removed. You remember context menus? The menus you get by right-clicking on things to find meta-functionality. Traditionally, left-clicks affect a thing itself (e.g. left clicking an program icon starts the program). Right clicks on the other hand traditionally bring up a menu of properties (e.g. a right click might lead to settings or version information).

Well throw a couple of decades of usability research out the window because GNOME has a better way of doing it! Let’s get rid of that right-click menu by – wait for it – taking away all the functionality that it accessed. In GNOME 3 a right click duplicates exactly the functionality of a left click. Any function you used to access from a right-click is gone, with a few exceptions where they’ve shoe-horned the functionality into a left click menu. So, no, your mouse isn’t broken, it’s just being used half as efficiently now.

Typical example: left click the Network Manager icon in the task bar of GNOME 2. You get a list of available networks. Now right-click. You get a list of options that affect how Network Manager behaves, like turning notifications on or off, editing connections, or version information. Okay, what about in GNOME 3? Left click is pretty much the same, a list of networks you can log on to. Right click is – yikes! – it’s the same as left click. How do you turn notifications on and off? Sorry, can’t do it. How do you edit connections? Left click again and look at the bottom – they’ve shoved a new option in there: “Network Settings”. Where’s “about”? Gone. I’ve noticed that menus like ‘help’, ‘about’, and ‘version’ are hard to find in GNOME 3. Even finding out what version of Fedora you’re running (two clicks in GNOME 2) is now a complex task that a new user is unable to discover without help.

To give a more commonly used example, how do you change your desktop background? In GNOME 2 you right click on the desktop and select ‘change desktop background’. In GNOME 3 it’s a bit harder to find. Click your user name, then ‘System Settings’, then ‘Background’. As with a lot of the changes, it’s only slightly harder and slightly less intuitive but the cumulative effect will make you want to throw your computer out the window.

It took nearly an hour to get a common network printer working with Fedora 16. This is a process that was intuitive and took only a few seconds on Fedora 14. GNOME 3 kept complaining that I needed to change the settings in a firewall daemon (firewalld), a message that would be meaningless to new users (and may represent a new firewall mechanism – the name isn’t familiar to me from previous versions of Fedora). Where is the firewall UI? Never found it. Not in ‘user name’ -> ‘system settings’ which would be the obvious first choice. Also not in ‘Activities’ -> ‘system tools’ or ‘Activities’ -> ‘internet’. Apparently there’s not a firewall UI component in GNOME 3.

After a little Googling, I discovered the GNOME 3 printer setup UI is completely broken anyway. The recommendation online was to ignore it and use the old version from GNOME 2, which is possible by going to the command line and typing ‘system-config-printer’. You may need to install it if it’s not there already. Once I did this I was able to get the printer working in under a minute.

There are too many similar annoyances and my rant is getting way too long so I’ll just list a few others I’ve run into without expounding on them:

  • You can’t run multiple instances of a terminal any more. Trying to start a second terminal just takes you back to the one you already started. This is a deal-breaker for me as I often have as many as dozen terminals open at once.
  • No more applets on the tool bar. Forget the weather applet that tells you the temperature outside, or the little CPU temperature monitors, and bandwidth monitors, all gone.
  • There is a clock on the tool bar but it’s completely unconfigurable aside 24 hour vs 12 hour time. No date, no seconds. And worst of all, it’s centered and displays in a proportional font, so it jiggles back and forth every time it updates.
  • The only difference between the active desktop window and inactive windows is a slight variation in the text color: dark gray on light gray for active compared to slightly less dark gray on light gray for inactive.
  • There are lots of violations of the principle of least surprise. For example, typing something in the “search” field of the ‘Activities’ menu doesn’t search the ‘Activities’ menu, it starts a web browser and does a wikipedia search (forget about finding the firewall configuration that way).
  • One of the most surprising changes is that the update notification in the status bar is gone. There’s no way to know when software updates are available now unless you manually start the software update program, another thing that won’t be intuitive for newbie users.
  • The concept of multiple desktops is gone as is the desktop pager on the lower task bar. Maybe the theory is that since window management is a mess now, one messy desktop is better than several?

So to sum it up, there are two fundamental problems here: 1) GNOME 3 is buggy and unfinished 2) GNOME 3 is fundamentally a non-intuitive UI design that’s inefficient and slow to use. I suspect that by Fedora 17 or 18, problem #1 will be rectified and it will be a lot less buggy and have features that are missing from the current version. Problem #2 I’m not so sure about. There are a lot basic UI design mistakes in GNOME 3 and I’m not sure they can be easily fixed.

A good start to improving GNOME 3 would be:

  • Add a better, smaller applications menu to the top toolbar so programs can be started without leaving the desktop.
  • Add a bottom task bar, or at least a task area to the top tool bar so it’s easy to find out what’s running without leaving the desktop.
  • Add max/min butttons back to windows to simplify windows management
  • Add right-click context menus to speed up access to frequently used properties of desktop objects.

Those four changes would make GNOME 3 ten times faster and easier for new users. It wouldn’t completely fix things but it would be a good start.

New GNOME, Slow Nautilus

Time for another Mozilla upgrade – I’m posting this from Mozilla 0.9 and so far it seems to show the usual incremental improvement. There have been major performance improvements but there still need to be a few more before it’s ready for prime-time. The bookmark manager is still a bit slow and the initial start up is still slower than Netscape but there have been lots of bug fixes and the general responsiveness while browsing is greatly improved over 0.8.1.

I also upgraded GNOME on one of my boxes to Ximian GNOME v1.4. Mostly good with the exception of Nautilus which appears to be a complete waste. Nautilus sucks up huge amounts of memory but doesn’t appear to actually do anything except allow you to get a simple context menu on the desktop and a goofy folder-view of disk directories. The context menu is so slow that it’s virtually unusable (you click on it and nothing happens, you fire up an xterm and do a ps to look for the process to kill and about that time you see the menu option you clicked become hilighted, another 5 seconds or so and the menu option depresses and executes – making something that slow must have taken some work!).

The folder-view thing seems equally useless – it takes up a huge amount of real-estate and the icons are about 4 times larger than they need to be (not to mention that it took around two minutes to open and render for the root directory which has maybe a dozen files and directories to display). I killed all the processes that seemed to be Nautilus-related and GNOME has seemed pretty snappy ever since. I haven’t missed it and GNOME seems to run fine without it, so I guess it doesn’t do anything too important. Now I need to find a way to configure GNOME not to start Nautilus so I won’t have to kill it manually when I start up. Other than Nautilus, GNOME 1.4 seems to have plenty of improvements. The only other complaint I can come up with is that the panel at the top has a clock on it that isn’t removable for some reason (or at least I haven’t figured out how yet).

I was amused to see that Nautilus is so bad that it now has an entire mailing list devoted to flames about it.

robots.net got mentioned on a radio show called Computer Insider about a month ago. I wonder if anybody heard it? (I didn’t even know the radio show existed until I ran across their web site recently!)

B-Ark Middle Management

It’s been nearly two weeks since my last news update – I think that’s the longest gap in over a year. It looks like the recent on-site work that’s been sucking up so much of my time will coming to end fairly soon, however. We’re still working on server migration issues and the client is a large company with way too much in the way of corporate politics and B-Ark middle management – so I’ll be glad to get back to work in the Open Source world where people have these wacky ideas about working together and helping each other. I will miss the IT staff I’ve been working with when the job is over though as they are a great group of people.

There’s been all sorts of good news lately. Mozilla is being GPL’ed, Sun, HP, and IBM announced that Gnome is now the standard Unix GUI, IBM has finally produce a working 5 qubit quantum computer, and there are new rumours of Microsoft porting software to Linux (not that anyone would want to use it, but it’s fun to see them running scared). There was also some bad news with the good guys losing to the MPAA (at least in the NY case). Guess that means I’ll be a wanted criminal next time I wear my DeCSS shirt.

Bright Blue Light of VA Linux

I configured one of two new VA Linux FullOn 2200 series servers today. They’re fast. The thing that most impressed people wandering by, though, was the very, very bright light coming out of the blue LED on the front of the case. It was bright enough to project a blue circle of light on the wall opposite the server.

After reading others experiences with Helix Gnome, I decided to try it out for myself. It’s an easy install and the installer handles the download as well. It seeems like a vast improvement over the Gnome that ships with Red Hat. Among other things, the GUI is much faster and more responsive. I suspect this is because Red Hat uses Enlightenment and Helix uses Sawfish by default. Sawfish seems much faster and less bloated than Enlightenment in general – it does Window Manager stuff and leaves everything else to Gnome. Anyway, Helix is very cool. Recommended.

I also spent a few hours resolving yet another Verio DNS problem. One of our clients is also a Verio customer with DNS problems. In both cases, Verio does the secondary DNS. We’ve decided to do secondary for each other instead. It will be a bit of work to switch all our domains over to the new secondary servers but it will be worth it to be free of Verio’s incompetence.

Random Software Updates

Thursday and friday I worked on two things (and got so busy I forgot to update my news). Ironically one of the things I’ve been doing it working on a new release of my newslog cgi program. I’ve been trying it out under mod_perl and found a few things that needed fixing or improving. I’ll put a link here once the upgraded version is completed. I may even post an item on freshmeat.net for it this time. The other thing I’ve been working on is upgrading my Linux development machine to Red Hat Linux 6.1. It appears that Gnome has made another huge leap forward in functionality and stability. If this keeps up, there won’t be any question of Linux becoming a popular desktop OS. On the other hand, I tried out the latest Mozilla alpha release (M11) and while it’s begining to be reasonably functional it still can’t render DHTML properly and the UI design is really ugly. It’s still months away from replacing Netscape 4.x.