Preamble

In a very short while, I have had the opportunity to try three new desktops. KDE 4 (not new but completely unknown to me previously), Unity on Ubuntu Natty (not a new desktop, but a novel shell nevertheless), and GNOME 3. I have previously documented my experiences on KDE 4 and Unity, and in this third and final installation it is GNOME 3′s turn.

As I revealed before, I’m no stranger to GNOME by any means, having used it since the first stable version was released. I remember the desperation, bewilderment, and uproar from a portion of the user community when the transition from 1.4 to 2.0 happened in 2002. Many configuration options were removed from the user interface, which was interpreted by many as functionality being removed. Visual clutter was removed both in the GTK+ widgets and the GNOME applications and dialogs, due to developers beginning to follow the newly created GNOME Human Interface Guidelines, themselves largely a result of professional usability testing done by Sun.  Some users and developers rebelled against such preposterous dumbing down of the interface and removal of 290 of their 300 panel configuration options, and there briefly existed even a fork of GNOME, trying to fight back change.

Panel options in GNOME 1.4

Panel options in GNOME 1.4 (image: LinuxSelfHelp.com)

Panel configuration in GNOME 2.32

Panel configuration in GNOME 2.32 (image: Techtopia.com)

Eventually, the ruckus died down. Some of the loudest critics of “dumbing down” GNOME probably went to other desktops that retained their configuration options in the UI, others realized that the functionality did not in fact diminish but was actually greatly improved. The defaults were accepted by those who liked them, and those who did not learned to change the hidden gconf keys that controlled them.

GNOME 3 has officially been in development for five long years, having been announced in the 2008 GUADEC. I remember jdub giving talks on ToPaZ (Three Point Zero) at even earlier GUADECs, possibly as early as 2004 but certainly in Stuttgart in 2005. The first mockups were blue-sky visions of a future desktop where people and tasks come first, with applications and interface elements disappearing from your work-flow. I loved it.

Now that GNOME 3.0 is finally out, I’m surprised by the relatively mild protest from old GNOME users. To be sure, the perceived pain in the Ubuntu community over Unity has been much louder. This may be because I live in the Ubuntu community so I can hear the yelling better. Or perhaps because a large portion of Ubuntu users simply have never lived through any significant user interface change before. After all, Ubuntu 11.04 even offers the exact same GNOME 2.32 as the previous release, with a slightly different shell! Surely GNOME 3.0 should be a greater shock.

I must find out!

In at the deep end: going ToPaZ

Ubuntu did not offer me GNOME 3.0, so I went off to obtain a system that does. I first downloaded Fedora 15, which had just graduated to stable status. However, I was unable to get my wireless chip tamed under Fedora, because RPMFusion did not yet have either the free driver nor NDISwrapper. I had last used Red Hat in 2000 (Zoot) and never touched Fedora, so I thought I would skip the learning session. I knew that Debian has GNOME 3.0 in experimental, so I used this as an excuse to run Debian again, quickly proceeded to install Sid and grab GNOME from experimental.

GNOME 3 works hard to put the application window you’re working in to the forefront and keep the interface out of your way. The applications themselves have of course received their own share of new functionality, as with every six-month increment that is the GNOME release cycle. The fast release cycle guarantees that there almost never are great, big, upgrades to your apps, but that the changes drop in little by little, which makes it easy for users to move on to the next version. I love that.

The biggest change this time is GTK+ 3.0 and the accompanying breakage of old themes. Many of your favorite GTK 2.x themes simply won’t work anymore, because the theme authors have not yet ported their theme to the new toolkit, and I assume many themes will never be ported. This was also a problem with the move from 1.x to 2.x – you just need to find a tolerable theme that does work on both versions. By default, my Debian desktop used the new default Adwaita theme for GTK 3.0 and the old default Clearlooks for 2.x applications. Naturally, being on Sid and pulling GNOME 3.0 from experimental also means that I’m running a collection of 2.x applications from Sid and the 3.0 apps that ship with the official GNOME  release. I found a solution from gnome-look.org in the form of “Aldabra“, which copies the Adwaita look for 3.0 and ports it very well to 2.x. This looks very consistent, and Qt apps assume the look as well, thanks to Qt’s ability to assume the GTK+ 2.x look in use.

Adwaita itself looks wonderful, but it also serves a couple of annoyances. While the menu bar on focused windows blends beautifully into the title bar, the latter’s color change on unfocused windows breaks the illusion. The toolbars are huge, with lots of padding around icons. I assume this is for the benefit of touchscreen users and learned from Meego developers. Big, fat toolbars probably are the way to go on touch devices, but it’s a terrible waste of space on other small screens such as netbooks. The scroll bar is also likely the fattest I have ever witnessed. Adwaita is only a theme though, and not a very good whining object.

The shell

GNOME apps are GNOME apps, and there isn’t very much to talk about after each six month development cycle. The great disruption in GNOME 3 is the GNOME Shell, which does away with the panel, the main menu system, and the Metacity window manager, and replaces the whole lot with a completely new desktop metaphor. Is it any good? It is absolutely fantastic. The GNOME team (and the shell developers in particular) deserve a big hat tip for having the patience to develop such a comprehensive, re-imagined vision for computer desktops, and the courage to execute on that vision.

Before you start the clean desktop is just that: clean. The first impression of GNOME 3 is provided by the beautiful look. It looks very smart, neat, and professional. “GNOME 3 looks expensive,” in the words of one reviewer. (Who happens to otherwise absolutely hate GNOME 3. We shall see whether or not I agree.) The shell team also threw away the panel menu concept altogether, but placed a single “Activities” button at the left end of the top panel, which is very discoverable and begs a new user to click on it. In fact you don’t have to even click if you’re too lazy, just throw your mouse in the corner, which will bring out the Activities view.

The Activities view of GNOME Shell

The Activities view of GNOME Shell

The Activities view needs no manual to operate, it is very discoverable, giving access to everything. Open windows on the current workspace are represented by big thumbnails with clear captions. Running applications on all workspaces have glowing icons on the dock on the left. You can pin favorite applications to the dock via drag and drop or the dock’s context menu. Hovering over the partially obscured workspace pager on the right hand side lets you switch workspaces. You can launch new applications by clicking on the “Applications” headline at the top row and selecting one from a smartphone-like matrix, which you can also filter by traditional menu categories. You can also launch applications by simply typing, which will activate the search field. The same search can even search Google or Wikipedia. If you don’t feel like clicking, you can bring up the Activities view also by hitting the Super key (A.K.A Windows key). It’s the only user interface you’ll need, and to be clear, it’s also all you get.

The Activities view is the heart of the Shell, and naturally, it is also the home of most of GNOME 3.0′s annoyances and regressions.

You can bring up the view with a keyboard shortcut, and you can launch an application by searching and hitting enter. You can even change workspaces with keyboard shortcuts. But you can only select a window from the Activities view by clicking it. This makes me absolutely mad. The shell has potentially the best window management system ever, but this regression ruins it. I only hope it will be fixed in 3.2. Fortunately, you don’t have to use Activities to switch windows on a workspace. Alt-Tab has been greatly improved. Plain old Alt-Tab cycles between applications, and brings up the latest active window belonging to the application. Switching through individual windows is implemented with an Alt-<above-Tab> shortcut instead (above the Tab key on my Finnish keyboard lives the ‘§’ key, Americans tell me they have ‘`’ in there). But once hitting the Super key and entering Activities for everything got into my muscle memory, I keep missing this opportunity and have to come back from Activities for Alt-Tab action.

While Shell in general works very smoothly on my little netbook, bringing up the Applications selector takes forever. Populating the GNOME menu for the first time in a session always took a while, but since you now get all the apps by default instead of single categories, this is a real pain. Debian doesn’t make this easier by duplicating everything with both the Debian menu and the GNOME menu items. Fortunately, the search is my default way of launching anything anyway.

Workspace management is the best ever. The virtual desktop concept has been pretty much entirely reformed, and is another success in addition to window management. For the first time, I am actually using each workspace as a task-specific “activity”, something that the KDE “activities” system so ingeniously tries to do, but in there I somehow failed to use it. You leave windows for each task open and switch to the next desktop when starting a new task, or indeed, activity. New workspaces are dynamically created and deleted as needed. I love that. Who knows in the morning how many desktops they want or need by the end of the day? Well, you don’t need to, as they just magically come and go, following your work-flow.

Annoyingly, the use of virtual desktops is somewhat brutally enforced on users by the removal of the minimize button from windows by default. I ended up re-adding both minimize and maximise buttons, although maximising also works easily by dragging a window to the top of the screen à la Windows 7. As one reviewer put it, “Basically, the designers of GNOME 3 have decided that users will use activities, regardless of whether they want to or not.” Well, I do want to use them, but I don’t like being forced.

The notification system is simply brilliant. GNOME 3 has a standards-compliant notification area, but it’s hidden “under” the bottom right corner of the screen until you throw your mouse to the corner. Old apps, even KDE apps such as Quassel use the notification area seamlessly, as well as the pop-up notifications that briefly inform you that the system or an application has something to say. You can ignore the notifications if you so choose, and they stay hidden in the notification area until you’re ready to take a look. Integrating chat into the notifications is a very nice touch as well: you can reply to a chat message directly from the notification bubble and get back to work, or postpone it and come back to it later. Two annoyances plague this otherwise great system: the Empathy notification icon will keep blinking even after I react to the initial notification until I actually click on the icon to bring up Empathy. The other thing is that notification area icons are moving targets, because when you hover over one, a descriptive text appears beside it, moving the icon and every other icon to the left of it. I don’t think it is acceptable to make me hit and miss like this.

If you do not like the default settings, GNOME 3 is not going to be much to your liking before you learn how to change things. Just as you learned to find the hidden gconf keys that let you change the more esoteric settings in GNOME 2, things change with the introduction of gsettings and dconf. This will be cured in time, as you do find out how things work. The “System Settings” dialog doesn’t let you change very much, and even gnome-tweak-tool is rather limited right now. This is an x.0 release though, and I’m sure things will improve. The defaults are very bold and very “Gnomish”, and I can’t complain too much even though a few things make me scratch my head.

  • I like creating new virtual desktops for each activity, but suppose someone would rather work on just one desktop? By default, they cannot minimize windows.
  • There is no Nautilus desktop by default: right clicking does nothing. No way to put files on the desktop while working on them. No right-click menu by which to create new files from templates. I’m used to doing both of these things all day. To make things weirder, the ~/Desktop directory still exists. I promptly re-enabled Nautilus desktop and restored my productivity.
  • While the defaults are undoubtedly fine for most users, especially casual users, why do the GNOME designers suddenly think “most users” are all disabled in one way or another? The accessibility menu on the panel is nice and works well, but why can’t I remove it?
  • The only “shutdown-like” option visible on the session menu is Suspend. Suspend? Even Windows defaults to Hibernate. And the “shutdown” and “hibernate” options are not discoverable at all, but are hidden behind a hover-suspend-option-and-press-alt dance. Infinite energy is not here quite yet, guys. Batteries do run out.

Whining about annoyances aside, I am insanely happy with GNOME 3.0. Being the first release in the 3.x series of GNOME, 3.0 makes me full of hope and trust in the future of my favorite desktop environment. It is definitely still GNOME and retains its nature and tradition, mostly just vastly improving the window and workspace management and even further simplification and workflow streamlining than the 2.x series. The interface is extremely unobtrusive, contributing to the user’s greater focus on the task at hand and increased productivity. I can wholeheartedly recommend trying out this new desktop vision that I might even call a paradigm change of some degree.

GNOME 3 is the most radical of the three desktops I reviewed in this three-part marathon, but still manages to stay GNOME. I salute the team who had the courage and skill to make it happen, and I look forward to 3.2, which is likely to fix many of the annoyances I complained about above.

On technical IRC channels, mailing lists, Usenet groups (remember those?) and Web forums, you often learn a lot of interesting and useful stuff. If you hang in there for long enough, you’re going to learn some more universal truths as well. I have learned a couple of things that I think i may have tweeted about some time or another, but would like to document here too, for future application.

topyli’s law:
When a user asks for help on a problem (s)he is having with $PROGRAM, another user will immediately suggest they switch to $ANOTHER_PROGRAM and use that instead.

topyli’s second law:
When you add an “Advanced” button or tab in the configuration dialog for your $USER_INTERFACE, all your users immediately become advanced.

The second law is actually a special case of mahen23′s law, which I learned on #ubuntu-offtopic. Here it is:
If you create a button, people will press it.

How to design a desktop

Tagged with , , , | Comments Off

Working on my dissertation, I was going through my field notes again today. I came across this snippet from my IRC logs, concerning the high-level design of the GNOME desktop.

<Amaranth> An option where two people disagree on how something will work? Not gnome
<Amaranth> Automatically figuring out what to do based on the circumstances? Gnome

‘Nuff said. Should apply to any user-facing software.

But yes, even after this Zen moment, I’m still writing the book. =)

We all know why GNOME is the most popular desktop in the enterprise. It does so much for users — they don’t have to do a thing while the GNOME daemons get things done. topyli and mc44 were trying to convince aubade of the benefits today.

user friendly breakage

I think it was a pretty noble effort anyway.

OpenOffice.org has released version 2.4 with many improvements. Congratulations to both developers and users of OO.o! I personally am in no capacity to evaluate it. I’m pretty sure it has about as many buttons and check boxes and sliders as the previous one. I still like Abiword.

The new OpenOffice.org website looks awesome though, double cheers for the clean and usable design!

Inspired by this, and also probably about my previous post, my friends nickspoon and mc44 on #ubuntu-offtopic defined a topyli-friendly design for OpenOffice.org 3.0. There’s still time to make a difference before they feature freeze!

But as mc44 says, don’t get your hopes too high :(

Ideally, a Unix program is silent. Only when a program fails for some reason, it must fail spectacularly, providing the user with detailed, helpful error messages. PFA, topyli, riotkittie, and gord all agree.

sane errors and pie