GNOME 3.0 Final VerdictPosted by Jack on 2011-04-19 at 13:54
After GNOME 3.0 was released, I gave in and decided to take the plunge. I packed up my
.xmonad/ and decided to give it a fair shake. I used it for about a week of real work, as well as the usual recreational activities (surfing, coding, wine).
Overall I was impressed at how effective I became with GNOME 3.0, although it's a far cry from Xmonad (as I've mentioned in the past, but I'll try not to get into tiling evangelism here). I'm not as keyboard-centric as I'd like to be, so already I have my hands on the mouse more than necessary. Getting back into the drag and drop paradigm wasn't hard. I will admit I used the drag-to-side half vertical tile functionality built into mutter a lot and, for the most part, I was content with it. Vertical tiles are by far the most common layout I use, and even though it was restricted to a 50/50 split (and sometimes I like a 70/30), it was nice.
The gnome-shell bar took a little getting used to (it's hard not looking at the top right corner for a time), but the status icons contained in it were very sleek and their menu options were very useful. These little icons were one of my favorite changes in 3.0. Particularly on my laptop where the network manager icon is very useful.
As I've mentioned before, I love the keyboard friendly additions. Like the built-in run dialog with completion, and the ability to type two letters of a program name from the activities view and see it pop up in the icons. I like that even more than I like my Xmonad dmenu, which is saying something. I haven't figured out whether you can easily address the "favorites" on the left hand sidebar, but the new use case is very nice. Also, I was able to make the transition a bit easier from Xmonad by binding some keys from the keyboard controls (like Alt+F2 to open a terminal, Alt+F3 to open the run dialog, Alt+1,2,3 to switch desktops). These worked well, although I would have liked the ability to Alt+Shift+1 to send a window to a desktop.
Everything with my usual work went fine (with some caveats in the next section), surfing was no problem. Multimedia worked just fine, sound with pulseaudio was no issue (although I've been using pulse for awhile even outside of GNOME). I was pleased that running things like smplayer fullscreen on my TV was handled just fine and didn't interfere with working on the other monitor. I guess problems with using 3D and video at the same time have been worked out long ago, but I was concerned with the new desktop. My only qualm with that was that when someone switched to the activity view on the main screen, the full screen movie was shrunken a bit and enumerated like all the others (so it's hard to use the main desktop without jarring the people watching the movie on the other screen. At least it's consistent though and, because the movie was still playing in the slightly smaller window and with sound this is only a minor nitpick.
My wife actually really likes the new interface. She's running it on her netbook and also on our "family" machine (RAID box), which is where I did the movie testing. GNOME is more her style of usage, being the type that uses a web browser and the media players most often. I was pleased that her little netbook had no trouble with the graphics either (it's by far the lowest spec machine we have, unless you count phones).
Lastly, our Wine Diablo 2 sessions went very well. I found that if we run in a desktop, GNOME properly treats it like any other window, and it smart enough to full screen it on restore and hide its window bar. I attempted to run in unmanaged, full screen mode and it works. The bar was still shown for some reason, but that appears to have been fixed in the interim as I can't reproduce now. The one issue that I had was that running unmanaged, if I accidentally hit the windows key, I had no idea how to get back to the Diablo 2 screen. If I hit windows key again, it would automatically take me back, but if I had focused another window it was a mystery.
All in all, I was happy with what amounts to the initial rough cut of the 3.0 interface. I'm really looking forward to seeing where it goes. I think that if I'm ever able to finish up my current side project, I might start taking a look at contributing some improvements. However, for now, I have some definite WTFs.
Multiple Monitor Desktops
GNOME 3.0 has pretty decent support for taking advantage of more than one screen. As I mentioned above, playing a movie on one and working on the other works fine. The main problem is that, by default, your secondary screen can only have one desktop on it. Now this might be a sane default (i.e. switch tasks on the primary screen, keep static things like IMs / email / multimedia on the second screen), but it's not how I want to use my monitors.
There is a gconf setting to allow the desktop to basically span both screens (so switching to desktop 2 changes both monitors) but after I enabled it, support was buggy. Things like closing empathy would cause windows to warp onto my primary desktop for no apparent reason. I guess there's a reason this is hidden in gconf. Although I have no clue why it would still be a gconf key, as I though they were switching to dconf, but I could be wrong.
Anyway, ideally I'd like to see Xmonad style multiple monitor support. I.e. you have one desktop apiece and can change them independently. Xmonad enumerates them all and allows you to show any two, but I'd settle for having a per-screen desktop stack since that seems like it would fit the GNOME 3.0 paradigm.
Empathy / Integrated Messaging
I'll admit, I was excited about the integrated messaging. It seems so useful and one of my nits about XMonad is that I always have to switch back to my IM windows, or send them to the desktop I'm working on.
This feature is entirely broken on release though. Empathy is just not ready, and neither was the integration. For example, you get a nice notification on a new message (or, configurably, on contacts going online / offline). You can even click that message and respond inline. Cool! But what you can't do is focus another window and keep that inline chat window open. I want to hold a conversation while surfing Reddit with the inline window hovering on my desktop. I like to be able to read the last four or five lines of my conversation, not just see the next response show up for an instant in a notification and decide whether I want to respond.
In addition, the interaction between the integrated bar and the "traditional" empathy chat is absolutely bizarre. For example, if you have a real empathy chat window open (which you almost always will because of the inability to keep the integrated window open), and you receive a new message, you get a notification and a little chat blurb on your notification bar, but no new chat window in the actual empathy window. Some sort of foibling is required to get it to open there, and I'm not quite sure what.
The "traditional" empathy contact list is also underfeatured, like not being able to change the order of contact groups. It also doesn't remember your status setting on return (just setting you to "Available", whereas pidgin will automatically reuse that last status). Finally, because it supports some form of LAN messaging that never seems to connect the contact interface is constantly spinning as if it's loading.
The last thing, and the true deal breaker for me using GNOME 3.0 is that the notification bar fails to show you urgent flashing notifications. I walked out of the room for a moment and missed a message. I had no idea I had missed anything until I randomly displayed the notification bar and say the empathy icon flashing and a two-hour-old message from my boss asking for an email. That doesn't work ladies and gentlemen. I can't take two hours to respond to a message. That's ridiculous. Especially since I was sitting at my computer the whole time. Hell, I've even missed notifications because I was looking at my other screen.
I thought GNOME 3.0 was designed specifically for this workflow. I guess I was wrong.
Nobody argues with the fact that the GNOME 3.0 interface needs work. I was pleased with using it for awhile, but it's sorely in need of improvement with a handful of things. Especially the chat and notification features, which are effectively broken.
The upshot though is that nothing is so wrong with the concept or the execution that these bugs couldn't be fixed very quickly. These are not problems that should require heaps and heaps of code to fix. In fact, I wouldn't be surprised if distros officially packaging GNOME 3 have already addressed and patched some of them.
NOTE: All of the above judgments were made using the current (as of 19 April) Arch GNOME 3.0 packages from gnome-unstable and testing. Particularly the gnome, gnome-extra, and telepathy meta-packages. Arch is great, but I'm assuming these packages are basically packages as-is, with only minimal distro integration patches.