Ars Technica on GNOME3
A shiny new ornament for your Linux lawn: Ars reviews GNOME 3.0

            
  
  
  
      

      

      
        Ars takes a hands-on look at GNOME 3. feel.
      

      
    



  

  
      
    
    
                      
                      
          
The developers behind the GNOME project have announced the official release of GNOME 3.0, a significant redesign of the open source desktop environment. The update introduces a new desktop shell that offers a streamlined window management workflow and a more modern look and feel. The new version also represents a major architectural overhaul, with many important enhancements to the GNOME platform's technical underpinnings.
The effort to deliver GNOME 3.0 has a long history. It took the developers years to reach a consensus about how to proceed with the new version, and years more to implement it. The protracted development period has largely paid off in stability and coherence. It's fit for duty out of the starting gate, though there is still plenty of room for further improvement.
Many of the substantial and far-reaching changes that the new shell brings to the GNOME user experience are compelling and thoughtfully crafted. The new desktop will likely appeal to users who share GNOME's philosophy of debris-free computing, but there are parts that seem to have been pared down too aggressively. The whole environment is significantly less configurable than its predecessor and is missing a handful of important features.
History and culture
The original vision for a new GNOME environment first surfaced in 2005 and became known as Topaz, a wordplay on the phrase three-point-zero. This initial effort to revitalize the desktop failed to gain traction among the GNOME development community which felt that substantial changes were unnecessary and would cause undesirable disruption for users.
The decision resulted in very gradual stagnation, eventually leading to a general feeling among some contributors of frustration with the lack of direction and technical progress in the desktop environment. That era is best described by Andy Wingo's historic GNOME Decadence essay. The desire for new innovation caused a new GNOME 3.0 plan to materialize in 2008, finally winning broad support among the developers.
At the time, the goal was to deprecate legacy APIs and gradually replace some of the underlying infrastructure without making major changes to the user-facing parts of the stack. The plan changed drastically when an effort to improve the traditional GNOME panel led to the emergence of the GNOME Shell project, which soon became a key part of the GNOME 3.0 update. It has been under active development since that time and has only now reached maturity.

          
                      
                  
                    
        
          
    
    
          
          
The predictability and conservativeness of GNOME's release management strategy and development model have played a huge role in driving the GNOME desktop environment's popularity among Linux distributors and other commercial stakeholders. The initial trepidation among the GNOME developers about moving ahead with a major update was partly based on concerns about how a huge half-baked overhaul would impact all of the users who rely on GNOME in production environments. It was obvious from the start that a 3.0 plan had to minimize that kind of friction and the finished product had to land on its feet.
A lot of care and attention has clearly been devoted to making sure that GNOME 3.0 is fully baked. Years of intensive work by many volunteer and paid developers have resulted in the current product. Virtually all of the underlying infrastructure was ready last year, but the release was pushed back into 2011 in order to facilitate a final redesign of the shell user interface and allow everything to settle in. The extra six months of polish is evident in the new version's relative maturity.
Quality
Although GNOME 3.0 offers a fairly robust desktop, there is one issue that significantly detracts from its reliability. Hardware-accelerated rendering is absolutely essential to creating a modern and competitive desktop computing experience, but the poor state of Linux graphics drivers makes it very difficult for software developers to rely on that capability. The open source drivers are hit-and-miss, and the proprietary binary-only drivers from the major hardware manufacturers are buggy and prone to misbehavior.
The new GNOME Shell is built largely with the Clutter drawing toolkit and depends on composited rendering to function properly. If you don't have compatible graphics hardware or drivers, you won't get to run the new shell. It will instead punt you back to a more conventional 2.x-style desktop with regular GNOME panels.
There are also some driver and hardware combinations that can run the shell, but exhibit really bad behavior. For example, I noticed some bizarre visual artifacts and eventually encountered a fatal error when I tried to use the openSUSE-based environment on my desktop computer with NVIDIA graphics hardware. The Fedora version, which is what I used for this review, worked properly on the same computer.

          
                  
                    
        
          
    
    
          
          
It's a big caveat that hangs like a raincloud over a desktop that is otherwise very stable. It doesn't seem like there is much more that the GNOME developers can do to address the issue at this point. It's really going to be up to the distros to ensure that working drivers are available.
User experience
The new shell is designed to be simple and unobtrusive. Basic task management functionality has been swept off the screen entirely and is accessible through a dashboard view that doubles as a workspace manager and application launcher.

    
          
                  
          
    
    
      The GNOME 3.0 desktop

          
  
        
            

In the standard desktop view, you will see your windows open on the screen and a status bar at the top. The right-hand side of the status bar has pop-down bubbles that work like Ubuntu's indicator menus. These allow you to control audio volume, manage your network, and globally set a presence status. At the center is a clock that pops down to display a calendar and upcoming appointments. The left-hand side has the Activities trigger and a slot that displays the currently running application.

    
          
                  
          
    
    
      The shell's calendar popup

          
  
        
            

When you click the Activities trigger or move your mouse cursor to the top-left corner of the screen, the shell will display the launcher and window manager. The window management view shows you an Exposé-like spread of the windows that you have open on your current workspace.
Predictably, clicking a window in the window management view will give that window focus and take you back to the regular desktop. You can also easily close windows from this view by hovering over a window thumbnail and clicking a black "X" icon that will appear over the window. You can use the scroll wheel to expand a particular window in the spread to get a closer look at its contents.

    
          
                  
          
    
    
      Selecting a window in GNOME 3.0

          
  
        
            

There is a bar along the left-hand side that works like a standard task dock. The bar has launchers for your favorite applications and will show highlighted icons for the applications that are running across all of your workspaces. You can switch into the full application launcher view by clicking the Applications item at the top of the screen. This will show launchers for all of your software and allow you to filter it by category. The launcher view works basically as expected and did what I need it to do. There is a convenient built-in search box, with find-as-you-type functionality, that you can use to activate an application.

          
                  
                    
        
          
    
    
          
          

    
          
                  
          
    
    
      A view of the shell application launcher

          
  
        
            

The right-hand side of the window management interface is dominated by the workspace tower. You will see blocks representing all of your open workspaces, with thumbnail views of the windows that are open in each space. Unlike conventional virtual desktops, the new GNOME workspaces aren't preconfigured in a static arrangement. In the simplest use case, there will always be at least one active workspace and one empty space. When you drag a window into the empty space, it basically spawns a new workspace. When you remove all of the windows from a workspace, it will disappear.

    
          
                  
          
    
    
      Managing workspaces in GNOME 3.0

          
  
        
            

This fluid and dynamic approach to workspace allocation is much saner and more flexible than the conventional virtual desktop model. As some readers will probably recognize, a similar concept appeared in the Moblin netbook shell back in 2009. It's a lot more fluid and polished in GNOME 3.0, however. This was easily my favorite feature in GNOME 3.0 and it stands out as a really solid bit of design work.

    
    
            A hands-on look at GNOME 3.0     

          
  


Features removed
Although I'm relatively impressed by the efficacy of the dashboard as a window management interface, it's enormously frustrating to have to shift into the dashboard view in order to have access to all of those features. During day-to-day computing, I really want to have some kind of persistent preview of my workspaces and active tasks without having to switch out of what I'm doing.
That's really where the new shell falls short. I can never really remember what workspace I'm in or where I put everything else. In their crusade against desktop cruft, the developers have removed important visual cues. I'd really like to have the option of having at least the left-hanging dock visible on the desktop, perhaps with intelligent hiding features so that it doesn't get in the way of regular windows.
Another odd design move was the decision to completely remove the minimize and maximize buttons from window titlebars. Maximize still works properly thanks to the inclusion of functionality that mimics Microsoft's Aero Snap, but is much less discoverable now.

          
                  
                    
        
          
    
    
          
          
The minimize feature is still accessible from the titlebar right-click context menu, but the feature doesn't really mesh well with the GNOME shell interaction model. Minimizing a window will hide it on the regular desktop, but it will show up normally in the window management view. I'd really like it if minimized windows would be set aside somewhere and have thumbnails visible on the regular desktop so that the feature is actually useful.
Some of the most noticeable feature omissions are in the desktop preferences. The settings have all been compacted back into one application that functions a lot like the System Preferences panel from Mac OS X. You can click an item to access the settings.

    
          
                  
          
    
    
      There seems to be a few things missing

          
  
        
            

As I have previously stated, the general configurability of the desktop has been broadly crippled. You can't change your widget or window manager theme, set a screensaver, or adjust any of the interface colors. Shockingly, even font configuration appears to have been removed. I couldn't find a way to change the default interface font sizes in GNOME 3.0. It's not really clear yet how many of the missing features are gone forever and how many are just temporarily absent because they weren't complete in time for GNOME 3.0. It seems like widget theming, at the very least, is going to make an eventual comeback.
There are other things that have been cut. The traditional panel applets are obviously not going to work in the new shell, though I don't personally see that as a major loss. A more frustrating issue is that the file manager doesn't seem to show you files on the desktop anymore, even though it still created a Desktop folder in my home directory. I would really like to see the GNOME developers add something similar to KDE's nice Folderview plasmoid so that files in various directories can be easily accessed through the desktop without having to have more file manager windows open.

          
                  
                    
        
          
    
    
          
          
Look and feel
GNOME 3.0 introduces a new standard Gtk+ widget theme. It's quite good in a lot of ways and has a lot of nice aesthetic improvements over the previous Clearlooks theme. Unfortunately, it's not quite as elegant as the original mockups that were published during the design stage. I think that the limitations of the widget toolkit made it difficult to deliver all of the planned visual niceties.
The gradients are really nice, but the color changes for inactive windows mess up the illusion of seamlessness. It's also clear that GNOME's affinity for heavy padding around widgets has gotten totally out of control. There is a lot of needlessly wasted space and glaring blank areas that detract from an otherwise stylish look and feel. The padding problem is especially noticeable in certain applications. Rhythmbox, for example, looks like what you would get if the giant marshmallow man from the Ghostbusters movie wiped its fluffy white rear end on iTunes.

    
          
                  
          
    
    
      The padding burns my eyes

          
  
        
            

There are two other major irritations in the new theme. Modal dialogs have been reworked to resemble sheets that emerge from their parent window, much like on Mac OS X. It's not a bad concept, but the implementation in GNOME 3.0 is not very good. I seriously thought that it was a rendering glitch at first.

    
          
                  
          
    
    
      That is one ugly piece of sheet

          
  
        
            

My other complaint is with the use of iOS-style toggle switches instead of checkboxes in many places throughout the configuration tools. These toggle switches arguably make some sense on a touchscreen device, but add no value on a conventional desktop computer. They are only being adopted within GNOME in cases where they will control some kind of hardware setting, but it seems like a recipe for inconsistency to offer them alongside regular checkboxes. It's also harder to intuitively tell at a glance whether the switches in GNOME are activated or not.
Conclusion
I think that the big question for many users at this point is how the upstream GNOME 3.0 experience compares with KDE 4.x and Ubuntu's Unity environment. As much of the application stack is shared between upstream GNOME and Ubuntu, the main difference is in the shells. I think that Unity's approach to the panel and dock is more practical for day-to-day use, but I think that GNOME Shell's approach to managing workspaces is better than the equivalent Compiz-powered functionality in Unity.

          
                  
                    
        
          
    
    

        
        
          
          
Comparing GNOME 3.0 and KDE 4.x is difficult. The original KDE 4.0 launch was premature and handled very badly in terms of release management practices and the manner in which the transition was communicated to users. I think that the GNOME 3.0 release is being managed far better. There will still be a backlash from users who will be understandably upset over the many missing features, but I don't think there will be anything even remotely like the scale of controversy that we saw around KDE 4.0. 
KDE has had some time to mature since its initial 4.0 launch, however, and is quite robust again today. If you compare the latest KDE 4.6 with GNOME 3.0, there is a whole lot to like on both sides. KDE offers a much broader feature set and vastly superior configurability, but GNOME offers a good environment for minimalists who want a more elegant and streamlined experience with unobtrusive default settings.
The solid technical work that has been done under the hood really complements the new user experience features in GNOME 3.0. Despite some of the gaps in the feature set, I think that the environment and the new shell is a good starting point for building something even better. The GNOME contributors will be able to iterate on the design and move it forward in future updates.


          
                  

                  
          






  
  
          
  

  
    

    
      Ryan is an Ars editor emeritus in the field of open source, and and still contributes regularly. He manages developer relations at Montage Studio.
    
  



  
    
    
    142 Comments
  
      





  
              
  


  
    
      
      
    
    
              
                      
              
            
                    
        
                    
                    
        
                    
                    
        
                    
                    
        
                    
                    
        
                  



  

  