Wednesday, April 27, 2011
9:55 PM

A look at GNOME Shell

GNOME 3 and GNOME Shell were finally released, after years of development, just a few days ago. Their release was obviously raising enormous expectation, so it should come as no surprise that so shortly after it took place there are already tons of material both positive and negative about it. Exciting times, if you ask me.

MY THOUGHTS BEFORE TESTING

I had read several reviews on early GNOME3, as well as comments from an assortment of sources. As is so often the case, negative comments usually resonate louder and I must admit I approached GNOME3 with a generous dose of skepticism. I wanted to be fair, though, so I didn't give it a try until I knew it was mature enough. My review is based on the recently released Fedora 15 Beta, which already includes GNOME3 final.

A WORD ABOUT FEDORA 15

In my opinion, Fedora 15 LoveLock is probably the most exciting release to come out of the Fedora camp in years. While some of the previous releases excelled in certain aspects (such as features aimed at developers), they fell short in other areas as or more important, such as providing a polished end user experience. Things are not silk smooth yet, but I have definitely seen an improvement, plus there is a host of exciting new features coming as part of this release.

I will dedicate an article to review Fedora 15 final when it goes live, but let me just say that my first impressions were quite positive. Power management is superb (hard to tell which component is responsible for that, though, the Kernel, Fedora, GNOME3 or all of them combined) and the Beta feels like a final version already, solid as a rock. Tell that to Ubuntu 11.04 Beta!

A BUMPY LANDING

Before getting to the GNOME Shell desktop, we get the login screen with an up to date (sort of, as it is very very similar to Classic GNOME 2.x) GDM theme. That GDM theme already hints at the predominant colors in GNOME Shell: blue and black. I couldn't help finding a funny similarity with the original KDE 4.0 colors (blue and the shiny black Oxygen theme they used back then)... Coincidence?


Click on image to enlarge.

Having used GNOME 2.x for a long time, the first thing that came to mind when I started using GNOME Shell was lack of freedom. If you are used to your good old GNOME tricks, have customized the heck out of fonts, icons, themes, controls and Compiz effects... Well, all of that is pretty much gone now. You can still create your custom keyboard shortcuts, but customization is certainly limited.


Click on image to enlarge.

The GNOME Shell desktop is an extremely clean one. There is nothing on it (whatever you save on the desktop folder does not actually show) and the only visible thing is the top panel. Its name is the only thing that is similar to our beloved GNOME 2.x panel, though, for it does not support right-clicks, no add/remove icons, no launchers, no transparency... There is an Activities button on the left, the clock in the middle and a notification area on the right, no more, no less.

Clicking on the Activities button is the only action that seems to bring some joy, as we start to see something happening. There is a favorites menu on the left, a virtual desktop bar on the right and a couple buttons on the main screen: Windows and Applications. The former is the default, but it is a bit confusing as chances are, you will have no open applications the first time you get to it, so it apparently does nothing. When you do have applications open, though, they will all appear there with an animation reminescent to good old Compiz. The latter is, in my opinion, the most beautiful screen in GNOME Shell, displaying the full list of applications with big and beautiful buttons and a slightly transparent background, making it look as if icons were actually floating on top of the desktop.


Click on image to enlarge.

I must admit it, after a short time using GNOME Shell I felt lost and frustrated. The environment felt even more limited than other proprietary options out there. Undoubtedly there were many improvements, from the greatly enhanced looks (it looks muuuuuch better than anything GNOME 2.x) to a smart design and well implemented ideas... But the lack of options was killing me!

KEEPING AN OPEN MIND IS IMPORTANT

First off, let me be honest here: A lot of that frustration came from my own ignorance. Many things were different in GNOME 3 and GNOME Shell, so trying my trusty GNOME 2.x tricks did not get me very far. My own arrogant "experienced user" pride got me stuck trying to find things on my own, and when one is trying to open a new lock with an old key, chances are it will not work. I finally took the time to research a little bit (it doesn't take long, don't worry) and found my way through pretty quickly. On that note, the official GNOME SHELL CHEAT SHEET is a valuable asset. I personally believe it should be part of the Help documentation included in GNOME Shell, perhaps even made available on the desktop by default.

Anyways, once I made GNOME Shell a bit of my own environment, I started to feel a lot more comfortable. I had to learn a few of its quirky features, such as having to press Alt to get the Power Off option to show on the menu, a few system keyboard shortcuts available, etc., but the interesting bit is that once I got rid of those few "blocks" that bugged me about GNOME Shell and actually sat down to truly work with it, I quickly came to appreciate it.

As far as lack of customization goes, luckily there is GNOME TWEAK TOOL (available from the Fedora repositories), a great little application that brings back A LOT of that missing flexibility. Fonts can be changed, and so can icon themes and other elements. What's even more important, the community is quickly raising up to the challenge and releasing some very impressive stuff. A good example is the work that DevianArt Artist half-left is doing, releasing some of the most visually awesome GNOME Shell Themes I have seen to date. You can find and download those themes from HERE (instructions included on each theme's own page).

THE PLEASANT SURPRISES: Looks

The default GNOME Shell look is already quite a step forward when compared with classic GNOME 2.x. Everything looks polished and carefully put together and even if you don't like it from a subjective point of view, it is undeniable that GNOME Shell looks... Well, expensive. The panel, the notification area drop-down menus, the logout, shutdown and other dialogs... everything conveys an elegant and consistent vibe here.


Click on image to enlarge.

There is room for improvement, of course. I can't say I am a fan of the default Adwaita theme and fonts, and while icons look better than ever before on a default GNOME desktop, there are better options out there.


Click on image to enlarge.

Fortunately, even if customization is cumbersome at this stage, one can make GNOME Shell look truly awesome. In my case, I downloaded the Smooth Inset theme by half-left, Droid fonts and my beloved Faenza icon set. Combined with a new, better-fitting wallpaper, things improved considerably.


Click on image to enlarge.

Sexy, huh?

THE PLEASANT SURPRISES: Features

From the moment I started thinking about this review, I thought it wouldn't be fair unless I actually gave GNOME Shell an honest try, so I have been using it almost exclusively for the last week or so. Through these past few days, I have come to appreciate its features, sometimes small details that truly make a difference.


Click on image to enlarge.

GNOME 3 and GNOME Shell sport some exciting new features, most of which have been designed to "not get in the way and let users do their thing without distractions". One of the areas in which this is more evident is the great integration of social and communication tools inside the desktop. Notifications are a great example of such integration, and those from Empathy and Evolution are particularly impressive.


Click on image to enlarge.

Users only need to open Empathy and have it running in the background to see instant messages show up perfectly integrated with the desktop. Not only that, users can very easily reply straight from that same notification spot, there is no need to bring up Empathy at all. The same kind of notifications appear when Evolution is open and email messages are received.


Click on image to enlarge.

The desktop calendar also integrates perfectly with Evolution, showing current and short-term appointments straight from the desktop... Even meeting alarms show up perfectly integrated as system notifications... Killer feature!


Click on image to enlarge.

Another great feature I love, which again is cleverly integrated in the desktop, is the expanded search feature. In my experience with other distros or even other OS, this feature (if available) requires users to open the main menu, then either expand the search menu item or click on the search field to start searching. As far as I am concerned, that usually means that I end up ignoring the search feature, regardless of how cool it actually is. I just forget it's there when it's more than a click away!

GNOME Shell requires just one click (technically, not even one), so I have found myself using it quite a bit. All it takes is one click on the mouse on the Activities menu, typing on a single key (Windows key, although Alt+F1 can be used as well), or a mouse gesture to the top left corner to get the search enabled. In other words, one simple gesture or click and there you go, search is enabled, you can start to type. After a couple tries, it becomes second nature and a very convenient way to look for and start applications. That said, the search feature is not limited to applications installed; users may also click on the Wikipedia or Google links at the bottom to extend their search to those popular sites.

Another thing about GNOME Shell that is innovative, certainly different from what we were used to, is the use of virtual desktops. In Classic GNOME 2.x, the amount of virtual desktops was fixed, usually 2 or 4 by default, depending on the distro builder. There are obvious issues in providing a fixed number of desktops: They can be too few or too many. In addition, this awesome feature was not obvious unless one knew about it. I have seen many people with a Windows background who didn't even imagine virtual desktops existed, sit in front of a Linux desktop and it didn't occur to them that they had a better way to organize their open applications than what they had been using for ages. In fact, even after showing them, some wouldn't really "get it".

GNOME Shell introduces the interesting idea of Dinamic Virtual Desktops. The concept is simple: No matter what you do or how many desktops you are using, the system will automatically create an extra empty one for you. Likewise, and sticking to what I just mentioned, the system will remove those desktops which are no longer in use. Some people (myself included initially) will see this and, in burning frustration, immediately go "WHERE IS MY COMPIZ CUBE!!!!!" That point of view is a bit narrow minded, I think. Yes, the cube and other desktop effects were great to watch and made the desktop a bit of a "game" in itself, but they also added a potential point of failure and a source of frustration for many users who could not get them to work, as well as lots of inconsistency and a very hard to support environment.

Along those lines, I asked some people who had never seen a Linux desktop before to sit down and play with GNOME Shell. One amazing thing was that not only all users actually noticed there was a bar on the right of the Activities screen (it raised interest and questions), but some of them actually understood the concept of virtual desktops on their own and were off and using them after a few clicks. I believe that is quite an achievement that the GNOME Shell designers and developers should take credit for.

GNOME Shell introduced other features that have raised a fair amount of controversy, the lack of a minimize window button being one of the ones that has made most noise. Strictly speaking, minimizing is possible, as there is an option to do it through a custom defined keyboard shortcut, but a hack is already available to re-enable the minimize button. In any case, I wanted to give a chance to the GNOME designers and embrace GNOME Shell design for what it is, in this case getting the most out of virtual desktops instead of trying to minimize applications... And you know what? It works. It only takes a while to get used to, so there is no need to troll or waste time discussing minute stuff like this, specially when it mostly has to do with a personal preference. Once again, keeping an open mind is important.

GNOME 3 EXISTS!

The GNOME Shell and the changes it brings with it concentrate so much attention that it is easy to lose track of things and not even realise GNOME 3 and all the latest stuff from the GNOME camp are there too! I haven't looked into all applications in detail, but I have noticed some nice improvements in some of them, specially the Evolution email client, which is much simpler to configure now, faster and less resource hungry. I was very pleased with its supperb support for Gmail messages, contacts, calendar and tasks. Empathy also felt better this time, more solid and mature. Totem, Rhythmbox, Shotwell, The GNOME Dictionary and others also bring new features and/or enhancements. In fact, all those features and improvement will become more and more a reason to migrate to GNOME 3 as development on 2.x eventually comes to an end.

THE PRICE YOU GOTTA PAY

The latest GNOME release is loyal to its motto, providing users with a practical interface that offers very little resistance to user productivity. The learning curve is minimal, thanks to a very intuitive desktop design and all features and applications feel like they are there for a reason. Customization in many aspects has been cut, sometimes quite drastically, but users get a much more solid desktop that is fully usable out of the box. Yes, many of the bells and wistles that a fancy GNOME 2.x Compiz setup could carry are pretty much gone now, but if hardware support is there, users will get quite an impressive set of them that are reliable and consistent, no effort implied, no frustrations attached.

Long story short, the GNOME developers aimed at providing more of a finished product, a more balanced mix that is not as extremely featureful as older versions, but that a offers a reasonable amount of eye candy within the realm of a fully functional and reliable desktop. As much as I miss some of those neat compiz effects, I think it is a reasonable decision and the right call to make. It is also a bold move, one that will surely generate rejection from experienced users initially, but it will probably get a more positive response from new comers in turn.

"HEY, REMEMBER KDE 4.0?..."

I have read lots of comments about GNOME 3, GNOME Shell and the radical change they bring with them being similar to what happened when KDE 4.0 was released. I have now tried both and I completely disagree with that comparison.

Let's rewind around 3 years back to the first release of the KDE 4 series. Those who experienced the transition from KDE 3 or those who simply tried KDE for the first time back then will probably agree with me that it was Alpha software at best, more of a proof of concept than an actual release (Even Aaron Seigo himself agrees!). The software was unstable, inconsistent, slow, buggy and resource hungry. Even worse, it took about two years (KDE 4.4.x series) to get it to a state most users considered stable. Even to this day KDE still suffers from some basic functionality limitations, lack of consistency and an interface that is anything but logical and intuitive at times. Heck, it took 3 years and KDE 4.6 series to get Kwin effects to a usable level!

In other words, KDE 3.x users were asked to upgrade to software that was a departure from what they knew and loved, but most importantly, not comparable in many ways with what they were already using. Therefore, it was a no brainer for many of them to stay away from it. New comers, on the other hand, found software that was not ready, even if it looked nice. The end result? KDE went through hell to regain the status they had before they made the move to KDE 4, losing plenty of users in the process.

GNOME 3, on the other hand, is quite a departure from previous versions in the way it works, but I would say it is 85-90% there in terms of consistency, stability and ease of use. Sure, many experienced users will probably stick with what they use now, but not necessarily because GNOME 3 offers lower quality. New users will get a pretty polished product out of the box, completely functional and ready to go, which they can embrace from the first minute.

As I am typing these lines on my Fedora 15 Beta installation, I see the frantic pace of development GNOME 3 is under. I get lots of updates on a daily basis, but in 8-9 days of intense use, I have only seen one crash (On GNOME Dictionary, caused when I closed the application in the middle of a search, which by the way, I have not been able to reproduce). In other words, I believe GNOME 3 will reach acceptable maturity within 3-6 months after its release. Quite impressive, I might add.

OK, BUT WHERE IS THE CATCH?

Please, don't get me wrong, GNOME Shell is certainly far from being perfect. While I agree that limiting features is probably the safest way to provide a consistent first release, I hope that some of the functionality that's been removed will eventually make it back in future releases. I consider GNOME 3 is on the right path, offering an intuitive interface that requires little or no training to get the basics moving, but I believe it is unacceptable that something as basic as changing fonts, themes or icon sets, which even proprietary OS support, is not available.

The System Settings tool is literally being updated on a daily basis, so I am not entirely sure what it will eventually be able to do, but it is still missing some important features at this stage. Aside from the already mentioned tool to easily customize icons, themes, fonts, etc. (Gnome Tweak Tool is not there yet, but even if it was, it is not "officially" part of GNOME 3), I see the need for more flexible power management, for example. I believe power schemes are a must today, and they are nowhere to be found. Some other annoying little things include the inability to maximize the System Settings screen (What tha...?), the fact that it completely ignores the default icon theme, to name just a couple.

PRACTICE MAKES PERFECT

All in all, after using GNOME Shell almost exclusively for several days, I have to say I consider it a big success. It is certainly not perfect, there are plenty of things that can be improved, but the foundation is much more solid than I anticipated or even hoped for. I can only encourage current GNOME 2.x users to keep an open mind and embrace this new release. After all, the more support it gets, the sooner it will improve and mature, and that's best for everyone. Unfortunately, the Ubuntu move to Unity will certainly have an impact on the number of users testing and using GNOME 3, but I believe it has got a bright future ahead nevertheless.

I would recommend giving GNOME 3 and GNOME Shell a fair try, using them intensively for a few days. Get past those initial adjustment struggles and I am confident GNOME Shell will surprise you.

NOTE: The transition from Ubuntu or Ubuntu derivatives to Fedora may be a bit of a concern, so I will put together an article with some recommendations to hopefully help those of you with issues to "land" safely.

0 comments:

Post a Comment