At the Ubuntu Developer Summit in Orlando Mark Shuttleworth announced that Canonical will be shipping the Unity environment in the Ubuntu desktop edition. This news came as a surprise to many in the Linux World and Sock Ubuntu Loyalists. Before there were questions thrown he also said “Ubuntu is a GNOME distribution, we ship the GNOME stack, we will continue to ship GNOME apps, and we optimize Ubuntu for GNOME. The only difference is that Unity is a different shell for GNOME, but we continue to support the latest GNOME Shell development work in the Ubuntu archives.”
Questions arise as to Why the change, what will be different and then what’s the best.
Unity is Ubuntu’s alternative for Gnome Shell. Canonical didn’t like the direction Gnome was going, I think partly because they prioritize new users and the intuitiveness of the interface. Also, Canonical hopes to make future versions of Ubuntu tablet-ready, while Gnome Shell is, I think, moving in a touch-unfriendly direction.
Jeff Waugh tweeted “Unity as default shell == brand before community, differentiation before collaboration.” Canonical values the Ubuntu brand, as they should – but in recent times there has been a move to favour that brand over a better core product that all can share. Canonical wanted their own ideas and design to be embedded within a desktop environment and call it their own baby hence Unity was born though its still based on the Gnome without its Shell. Some OStatic readers who favor GNOME as a desktop environment are miffed. BastetFurry writes: “Either someone makes a branch distro with GNOME or its bye-bye Ubuntu for me.” And Matt W: “Canonical, please remember beauty and usability are opinions held by the end user.” Now, Stormy Peters, Executive Director of the GNOME Foundation has weighed in, and she makes a number of good points. In Peters’ post “What’s Next in GNOME’s Future?” she writes:
“Many developers were really disappointed to hear that Unity will be the default shell on Ubuntu. Some are disappointed because they don’t like Unity. Others are disappointed because they feel like Canonical is doing its own thing instead of working with the greater GNOME community to reach a compromise that works for all.
Although its development is being managed by Canonical, Unity can be run on any distro that meets the requirements of Gnome and Compiz and is slated to be included in the repos for future iterations of Debian. Unity and Gnome Shell both depend on Gnome and are simply applications running over a Gnome session (minus a few ordinarily required sessions and services) so there’s always the option of logging into a Classic session. Unity will be themed in the usual GTK method and now accepts panel themes; Gnome Shell can’t be easily themed yet but is using CSS, which will make themes easy to develop in the near future.
Gnome Shell depends on Mutter (Metacity + Clutter) and conflicts with Compiz, while Unity depends on Compiz with Mutter as a fallback for low-end machines. This means that Unity is normally a Compiz Fusion plugin but conflicts with some old plugins (for instance, the Desktop Cube.) On the other hand, Unity retains a higher degree of visual continuity with Compiz than the Classic desktop. For instance, Expo doesn’t treat the new Panel and Launcher as a window tied to a particular desktop, so the panel remains accessible during desktop switching.
In terms of direct usability, Unity uses a more conventional method of task switching, workplace management, and window control, while Gnome Shell uses new features like automatic workspaces and has apparently dropped the idea of minimizing windows altogether.
Ubuntu Unity, at first glance, will be much more accessible to new users. Why? The new user is not going to immediately know to hover their mouse in the upper left corner or click the Activities button to open up the launcher menu. In Unity, the launchers are right there on the desktop, waiting to be clicked and used.
Once you get beyond the surface, a few glaring issues start popping up for Ubuntu Unity. I will highlight the most glaring.
Connect to server: One of the most handy menu entries in GNOME (for me at least) is the Connect to Server entry in the Places menu. This allows the user to connect to nearly any type of server quickly and easily. The user can even connect to a Windows Share from here. In Unity – you won’t find that. In fact, you will be hard pressed to find any means to connect to a server in Ubuntu Unity. The only way to make any sort of connection in Ubuntu Unity is:
- Open Nautilus from the command line.
- Click Go | Network and then attempt to connect to your Windows network.
This, however, did not work for me. From GNOME Shell I could effortlessly connect to my shared folders using the Connect to Server wizard. From Ubuntu Unity…no dice. Even though I know Samba is configured correctly and working, Ubuntu Unity simply wouldn’t play along.
Configuring the desktop: In order to configure the GNOME Shell desktop the user only has to right-click the desktop as they have for years. Ubuntu Unity? No dice. In order to configure desktop with Unity, the user must click Applications | System | Appearance. Most new users aren’t even going to know how to get to Systems from within Applications. And if they do figure it out (it’s not difficult), chances are they won’t know that Appearance configuration is tucked into the System category. Shouldn’t there be a Preferences category? Bad call on Unity’s part.
And while we’re at it…both desktops are still using Mutter. I realize that Unity is in major transition from X to Wayland and the rumors have been flip flopping since the announcement as to which compositor it will use. (I just googled it and still find instances where some are saying Mutter and some are saying Compiz.) Regardless of which it uses, just make sure compositing can be customized. That has been one of the best features of Linux desktop – customization!
What? No run dialog? : That’s right. Ubuntu Unity has forsaken the trusty run dialog. I don’t know about you, but that dialog has been my bread and butter for launching applications for a very long time. Why would a desktop designer think removing that tool is anything but a horrible idea? GNOME Shell? Of course, you can have your run dialog!
What? I can’t change my window manager?: This is the case for both desktops. You can not change your window manager. Say you prefer Emerald over the standard window manager…if you’re using either GNOME Shell or Ubuntu Unity, you’re out of luck. One of the draws of the Linux desktop has always been its flexibility. If you’re using either GNOME Shell or Ubuntu Unity, kiss that flexibility goodbye.
The largest difference between the two interfaces is that GNOME 3 uses a minimum of two screens: one in which open windows displays, and the overview in which the system is configured and applications chosen and run.
By contrast, Unity remains oriented towards a single screen unless you use virtual workspaces. For light usage, this setup is less confusing and tiresome; in GNOME 3, it can sometimes seems like you are changing screens every few seconds. However, on a netbook in particular, Unity opens many windows full-screen — or near enough to make no difference. If you work with more than a couple of windows open at the same time, the effect is not much different than working in GNOME 3.
GNOME 3 and Unity also eliminate the traditional drop-down menu. Considering that almost all monitors these days are wide-screen, with more horizontal than vertical space, this decision seems logical, especially for interfaces that might be used on netbooks. Instead, both add a panel on the left side of the screen, often referred to as the dashboard in GNOME 3, and as the launcher in Unity. But, whatever the name, this new feature displays basic and running applications.
Of the two, Unity’s launcher is the most flexible. Since GNOME 3’s dashboard displays on a separate screen – no applications run on this screen – it does not need to auto-hide when a window needs its space, and in its current incarnation it is mostly uncustomizable. GNOME 3’s dashboard also has the problem of shrinking to near illegibility if you open too many apps, forcing you to fall back on the mouseover help to identify the icons.
In contrast, you can customize some of the icons on Unity’s launcher. The launcher also accommodates large numbers of open windows by showing a collapsed view at the bottom that opens quickly when you need to scan them. Unity’s launcher also replaces a task indicator with small arrows to mark open applications. Although these arrows are easy to miss at first, they are an elegantly economical use of space once you are aware of them.
However, Unity’s icon for virtual workspaces is perhaps too easy to overlook or work with. GNOME 3’s panel for multiple workspaces on the right of the overview is much more efficient, at least until you open more than four or five workspaces at the same time.
At right angles to GNOME 3’s dashboard is another menu across the top with items for open windows and applications, with sub-items that appear as large icons on the desktop and can be filtered by a variety of views or by a search window — both of which are easy to miss on the far right of the desktop.
Unity, on the other hand, opens its application menu from its launcher (and, rather confusingly, refers to the resulting view as the dash). Unity’s dash is filterable by categories, and includes a search field that is much easier to find than GNOME 3’s.
However, Unity’s sub-menus do have the annoying habit of displaying only a single line of items plus a link announcing how many items are not displayed — even if there is only one. While shrinking icons to fit the space is obviously not a solution if dozens of other items exist, I can’t help wondering whether an exception couldn’t be made when only a few other items are available.
For that matter, you might question whether the change from drop-down menus is worth the effort by the developers or the trouble that users must take to familiarize themselves with it. In the efforts to avoid the menus overlaying too much of the screen, both GNOME 3 and Unity have created alternatives that cover the screen far more thoroughly than any drop-down menu. The result is easier to read for the visually challenged, but otherwise might be said to exchange one set of problems for its exact equivalent.
The same might also be said for the handling of windows, especially in GNOME 3. By default, neither interface allows resizing of windows beyond switching between their default size and maximizing them. Moreover, both use hot spots on the edges of their desktops to minimize or maximize, or tile windows. But GNOME 3 takes the extra step of eliminating title bar buttons to minimize or maximize buttons, forcing users to rely on the hot spots. Like the change in the menus, these changes seem to enforce an orthodoxy and limit user choice for no clear benefit.
I tried installing Gnome 3 on Meerkat but got some errors, however I just got a glimpse for a few moments and Gnome 3 is simply beautiful! Both are getting some flax from loyalists and the Linux community is distraught on Ubuntu’s decision. The war is almost on: GNOME Shell vs. Ubuntu Unity. Both have been available long enough to draw the conclusion as to which will rise above and find success. Time will tell who wins.
Ubuntu Unity simply does not perform or behave up to the standards users have grown to expect from a Linux desktop. My fear is this will actually do more to harm than to help the Linux desktop cause. When new users install Ubuntu 11.04 they will be greeted with a desktop designed for netbooks and will feel cheated.
As for GNOME Shell…that’s a tougher one. It’s certainly not a step back because it functions so well and offers a lot of really nice “evolutions” to the current state of the desktop. My biggest gripe with GNOME Shell is its lack of flexibility. But GNOME Shell certainly does have a lot more polish and looks worlds more professional (where Unity seems to be convinced looking like a toy is a better take on the desktop.)
Given the choice between the two, I would choose GNOME Shell any day. What about you? What is your take on the GNOME Shell vs. Ubuntu Unity battle?