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.

Slashdot 10th Anniversary Party

On Friday night, I attended the Slashdot 10th anniversary party. Well, I attended the one in Dallas, anyway. There were others all over the world. It was a fairly uneventful event. For reasons known only to himself, the organizer chose to have it in a small, noisy bar despite many suggestions of better (i.e. bigger, quieter) alternatives. So for about an hour and half 20 to 30 geeks shared a cramped space and engaged in conversations that went something like:

“Hi, is this the Slashdot party?”
“What?”
“IS THIS THE SLASHDOT PARTY?”
“Yes”
“What?”
“YES!”

Most people either shouted into the ear of the person immediately next to them or just gave up on conversation as not worth the effort and sat around staring at each other and waited for the organizer, who had the free T-Shirts. He eventually showed up shortly before the event was scheduled to end and passed out the shirts. A lot of people had given up and left already, so there were plenty to go around.

At a couple of points, the loud music stopped long enough to have some quick conversations and I learned that: 1) I was the only one there who ran Linux on my workstation or laptop 2) most people I talked to ran CentOS Linux on their servers 3) Everyone I talked to had tried Ubunutu and hated it 4) In every case where I could get specifics about what they hated, it turned out to be something I do on Fedora all the time (I’m pretty sure most of what they wanted to do could be done easily on Ubuntu as well, so I don’t know why they were having troubles) and 5) I was the only person there who actually wrote code for Free Software or Open Source projects.

Once I got my free T-Shirt, I headed home. It was too dark to snap a photo inside with my phone (no flash) so I shot one of the exterior of the Inwood Theater. The dark, noisy bar is attached to the theater’s lobby.

I haven’t forgotten the Austin Makers Faire. Full account coming soon. Stay tuned.

Fedora 7 on my Dell Laptop

I updated my Dell Inspiron 8600 to Fedora 7. I debated about switching to Ubuntu this time around but a number of developments made me stick with Fedora. One particular issue for me is my laptop’s nVidia card. Ubuntu appears to be using proprietary nVidia drivers while Fedora is strongly supporting free drivers like nv and nouveau. Unfortunately nv was rather buggy and very slow on Fedora Core 5. It frequently crashed. It didn’t support any 3D acceleration. The best glxgears rate I ever got with it was 130 fps. The good news is that with the new version of nv and X.Org on Fedora 7, nv is completely stable so far. Even though there is still no 3D acceleration support, performance is twice what it was on Fedora Core 5. Glxgears reports over 300 fps and everything seems significantly faster. I don’t know if this is due to nv or X.Org improvements. Better still, the Fedora folks are working to get the nouveau driver in as soon as possible, which will bring free, 3D acceleration for nVidia hardware.

The install went smoothly and everything worked right out of the box; even things that required a lot of custom setup in the previous version like sound, 1920×1200 LCD resolution, and WiFi. Even suspend works. The only customization I needed was to turn on NetworkManager.

Which leads me to my one gripe so far. With both WiFi and Ethernet, odds are good that only one will be able to connect at startup. For some reason Fedora considers this a startup error and switches out of the nice GUI startup mode into the old-timey text-mode startup about half through the bootup. If it’s plugged into Ethernet, the WiFi usually isn’t needed and doesn’t connect. Fedora thinks this is an error. If I’m using WiFi, the Ethernet cable usually isn’t plugged in. Fedora sees this as an error too. Why not just assume that neither is an error condtion, stay in GUI mode, and let NetworkManager sort out which network connection to use after everything is loaded?

Anyway, I’m very happy with Fedora 7 on my laptop overall.

Fedora Core 5, the Good and the Bad

Since the Dell laptop I started using a year or so ago has Nvidia graphic hardware, I’ve been following the status of xorg nv driver a bit more than I used to. At present, no 3D acceleration support for Nvidia hardware is available for free software users. I learned today that there’s now a project working on DRI support for Nvidia hardware. It’s called project nouveau. The feature matrix is a bit sparse but it’s good to see some work being done here. It would be great to finally have 3D support for Nvidia cards in xorg.

That’s the good Nvidia news. The bad news is that there seems to be an nv driver bug in the version that shipped with Fedora Core 5. It’s causing problems for a number of folks (including me). Hopefully some fixes will be coming along soon.

In my previous blog entry I was complaining about the horrible Linux CD writing software called X-CD Roast. I was pleased to find it wasn’t needed in Fedora Core 5. All I have to do to burn a CD of an ISO image now is right click on the CD and select “Write to Disc”.

Random Complaints

Does anybody else miss the O’Reilly Meerkat aggregator? It was nice because you could subscribe to the results of arbitrary keyword filters rather just specific blogs. Anybody know of another aggregator like that? There are plenty of places that allow keyword searches of blogs but I’m not aware of any that allow one to subscribe to the results of those searches.

I downloaded the Fedora Core 5 ISO images this morning and burned them using X-CD Roast. That program wins the prize for worst, most non-intuitive user interface of the week. I’ve used several Windows CD burning programs that take just a few clicks to get from ISO image file to burning the CD; something like “create CD from image”, “select an image file”, “burn the CD”. on X-CD Roast I spent a half hour trying to figure out how to get it to burn anything at all. I eventually gave up and Googled for the website. Helpful hint to the developers: when your interface is so bad that “how do I burn a CD from an image file?” is a FAQ, it’s time for a redesign.

For the curious, the steps are: click “setup”, “HD settings”, type the path to your ISO images and click “Add”, “OK”, “Create CD”, “Write Tracks”, select the image file, click “Add”, click the tab labelled “Write Tracks” (not the nearby button labelled “Write Tracks”!), click the new button that just appeared, also labelled “Write Tracks” (yes, at this point there are two buttons and one tab that all say “Write Tracks” – all three do different things), insert the blank CD, click “OK”, grumble, and blog about bad user interfaces while you wait.

Fujifilm FinePix S5200 First Impressions

I picked up a new gadget last week; a Fujifilm FinePix S5200 digital camera. It’s very cool. It’s almost as good as my trusty Canon T90 35mm film camera (not quite) but still small and inexpensive. I’m hoping it will work out well as an interim camera until the next generation or two of digital SLRs come out. The S5200 is almost like a mini-SLR. It has full manual control so you can do time exposures, control depth of field (the aperture only varies between 3.2f and 8f though), and it has a 10x optical zoom that’s about the same as the 300mm telephoto I use on my real camera. I’ll post some photos soon.

It was interesting how easily it works with Linux compared to Windows. I plugged the included USB cable into my laptop which runs Fedora Core 3 and a little dialog box immediately popped up asking if I wanted to download the photos. The gThumb photo viewer automatically started and allowed me to view the photos and park them anywhere on disk I wanted. I didn’t have to install anything or configure anything. It just worked.

It took me about half an hour to get to that point on Susan’s Windows box. I plugged in the cable and nothing happened. So I stuck the included Fuji CD in the drive and waited while it installed a USB driver, a photo viewer, and about 40MB of other apps which turned out to be worthless and eventually had to be uninstalled. When it finally finished I had to reboot, of course, since this is Windows. After the reboot, I plugged in the camera again and got a USB error message, followed by several cryptic dialogs complaining about missing drivers. Finally the Fuji photo viewer started. It’s very non-intuitive and it took a while to even figure out how to download the photos. After it downloaded the images, it popped up a dialog claiming it was “safe to disconnect the camera”. So I unplugged the USB cable. This immediately resulted in another string of error dialogs complaining that I had “unsafely” removed a USB device. We get the same series of errors before and after each use of the clumsy photo viewer, but it does work, sorta. It’s amazing how much easier it was on Linux though.

Robots seem to be occupying what little free time I’ve had lately. I’ve done a little more writing for Servo magazine that should show up in the March issue. I’ve instigated a group robot project at the DPRG – I’m not actually doing much of the work on it though. I’m leaving that to the folks with more time. I’m also still working on a C library for the MRM board with another DPRG member. We hope to release the library in the relatively near future (under the GNU GPL, of course).