Wednesday, April 27, 2011

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.

16 comments:

  1. Hi, congrats for an awesome review on gnome shell. You have managed to highlight what's good in it with awesome screenshots. I have finally decided to test gnome 3 and gnome shell.
    About this: "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" I don't agree with you. It is clear to me that KDE is not for you. If that were the case I believe KDE distros like openSUSE would see a drop in their KDE user base (it isn't the case). In my case it helped me move from windows to linux. My very first distro was ubuntu 6.06 LTS with gnome 2. Needless to say I quickly found out it was for me.

    ReplyDelete
  2. Hey. Thanks for the awesome review. I've been looking forward to gnome shell for a while and most of what I've read are complains for the lack of window menu and minimize button, without taking into account what gnome was trying to achieve.

    I have a couple of questions:

    What do you think of the integrated search compared to Synapse, which I use a lot?

    Do you feel that installing a dock for window management would be useful or not at all? Can you even install one?

    After coming here for a few months I was looking forward for this review. And that article on switching away from ubuntu would be awesome

    ReplyDelete
  3. Great Review!

    Like you, I agree that Gnome 3 is a lot better than many of the initial reviewers give it credit for. I'm testing out Gnome 3 on Fedora 15 beta on my desktop and under Arch LInux on my laptop. My experience has been a little buggy with Fedora, but granted, this is to be expected as it is a beta release. Surprisingly, Gnome 3 has been running really smoothly on Arch, and I've experienced few issues so far. I definitely like the Expanded Search feature. It's a major improvement from Gnome 2, which required you to use Gnome-Do or Synapse. I also like how the activities menu is triggered by dragging the cursor into the left hand corner.

    My only complaint so far -- and I understand this to be a bug that the developers are working on -- is that you can't add custom keyboard shortcuts yet. Once that's ironed out, Gnome 3 will be pretty solid.

    On a final note, I've also been testing out Ubuntu 11.04, and I'm impressed with Unity. Both Unity and Gnome 3 are positive developments for the desktop. It will be interesting to see how they both mature.

    ReplyDelete
  4. Thanks all for your positive feedback!

    @josericardo: We can agree to disagree and that is perfectly fine. I like a lot of things about KDE myself, but it bugs me that the basics are not as solid as they should be for such a great desktop manager.

    @blank: Synapse is more powerful as far as my testing goes, but it still nice that you can do a lot of what it does in GNOME3 without the need to install anything extra.

    I haven´t tried to intall Docky or anything similar, but haven´t felt that I needed it at all.

    @Bordee: I believe the bug you talk about was fixed today, or at least very recently, because I was creating my own custom keyboard shortcuts this morning!

    I was disappointed with Unity initially, but am curious to see where it gets by the time the final release goes live. I will review it then.

    ReplyDelete
  5. Great review!
    You make me really want to test Gnome 3.
    The screenshots are impressive and I like the way how you described the functionality of Gnome Shell in a objective way.

    Im looking forward to see soon your review about Fedora 15 and some tips if you want to make a transition from Ubuntu.

    ReplyDelete
  6. Hi thanks for a great indepth review.After three weeks of regular use I'll agree that Gnome 3 is a great improvement in terms of overall usability.If the shortcuts in Gnome-shell-cheatsheet are easily available to the new user, their first impression of Gnome 3 is certainly going to be far more positive.

    ReplyDelete
  7. Really good review, i especially like this:"A lot of that frustration came from my own ignorance. "
    Thats exactly what i though about some of the first negative comments beeing posted in blogs/boards.
    Im using Gnome3 on my netbook for some weeks and im getting to like it more every day i use it.
    Today gnome-tweak-tool got the changing window decoration feature (im using arch-linux, dunno if its out for fedora already) wich solves the last problem i had with gnome3 (yes the default theme´s window decoration is too big) without console/gconf-editor use.

    Theres a single thing that im missing, thats getting the damn menu off the window an on the panel, unity did it and its a good thing to have.
    Theres no need for all those stupid applets gnome2 has in the panel, ergo theres plenty of space for the menus wich has to be used, its the best "feature" on mac together with exposee and i want it, period.

    ReplyDelete
  8. I would love to see a guide on transitioning to Fedora from Ubuntu. It would be great to see something like an up-to-date version of this http://ubuntuforums.org/showthread.php?t=568481 from the Ubuntu Forums.

    ReplyDelete
  9. Nice review there, gnome shell looks kind of ok. But I'm not impressed with it. It doesn't add anything special that I have seen. Remember some years ago when gnome was ranting about their spatial file manager windows, feels the same.

    I'm already using my desktop more or less the same way the gnome shell works anyway with kde+compiz. Difference is gnome shell appears to be using a dynamic number of workspaces instead of using a static number like 4x4 to dump windows. Guess what, the static wall of desktop is less confusing than a pile/list. Sure if you're a windows user used to not have more workspaces available dynamic may be good. Compiz Scale (expose) and expo does better whatever this thing does. Compiz is not all cube. The kde-search finds apps just as fast as the shell. Perhaps gnome shell outperforms on touch screen but on the desktop? Gnome shell looks ok they did a great job on it but.. is this all?

    ReplyDelete
  10. @Anonymous: Of course this is not all, GNOME3 is just taking its first steps, and as any other project in that position, it lacks in certain areas.

    Having said so, I installed Kubuntu 11.04 yesterday, which is KDE 4.6.2, and guess what? I had more crashes in an evening (3-4) than in a week with Fedora 15 Beta and GNOME Shell. That´s why I think the KDE community is missing the point, it all seems to be about the fancy bits, while little attention is paid to the basics. It should be noted that I was using Kubuntu final and the second dot release of 4.6 series.

    At the rate it is going, GNOME 3.2 will be more solid than KDE 4.x has ever been, providing a simple yet functional interface that requires very little time to get used to. I think KDE will become a niche for computer geeks unless it notices the current trend in computing... Nobody cares about interfaces that are difficult to use anymore!

    The only thing that would justify KDE´s extra complexity is better performance, higher stability and greater functionality, and none of those is happening, unfortunately.

    ReplyDelete
  11. Great review! This is really the best and most complete one I have readed and finally one that gives a very good description about what Gnome 3 is all about. :) I am very excited about this project now, and actually going to see if I can install Gnome 3 on top of Ubuntu 11.04! :D

    ReplyDelete
  12. Very nice work reviewing Gnome3. I read many articles but yours is truly the best I found. It is complete in review reflecting both merits and demerits and with an unbiased view.

    Keep up the good work.

    ReplyDelete
  13. Thanks all for your kind comments and feedback!

    ReplyDelete
  14. Unlike most of others here I'm using Linux desktop all the time at my job. I tried the gnome shell and found it to be extremely inneficient.
    First, it ruins my work with workspaces. The wrong thing is they who didn't use workspaces before won't use it now. On the other hand, I hate dynamic workspace creator: I had 8 workspaces before, 4 of them were fixed ones with fixed apps. Others used for occassional tasks. Today they want I must go to overlay full of bells and whistles in order to create new workspace or start an app in one of existing workspaces.
    The next thing is Ctrl+Alt+Up/Down. The Left + Right are MUCH better. That's about human physiology.
    The third thing is they want me to enter ugly overlay in order to launch app. I did the same much faster and that looks much more elegant with Gnome 2 applications menu + Gnome Do.
    The fourth is I need to enter overlay again in order to open bookmarked folder in nautilus. I did it much faster with gnome 2 places menu.
    The fifth is I HATE those intensive mouse movings with GS. Don't tell me the touchscreen is a future: it's a pure bullshit. The mouse decreases moving significantly. Refusing from them will mean the same as the refusing from cars. Mouses decrease a work need to perform a task.
    The sixth is the pointless switching to overlay with such a massive redrawings, flashes, etc. It's pointless. It looks like they are emulating their iPhones. I don't need iPhone at my desktop. As I said, my mouse reduces the work.
    The seventh is super-idiotic on/off applet. Again, they saw it on their iPhones. With MOUSE the checkbox is better choice. Their applet is unclear at all.
    The eighth point is the GS is resource hungry.

    So, my impression this DE was made by trained monkeys who only can stole ideas from skilled professionals without any mind if these ideas matches the area. I really doubt if this interface will be any clearer for noobs, since the gnome 2 was quite clear and many newcomers noticed how quick they were getting used in it.
    And me and ALL my collegues decided not to switch to this stuff. Most of us find Unity being even worse.

    ReplyDelete
  15. @Denis: As much as Chema put here a good article and as much the Gnome Shell seems to be interesting, I feel the same like you using it. I really dislike it more and more and Unity is also not my cup of tea.
    But we still have the choice. :)

    ReplyDelete