Unity, Gnome Shell and the Notification Area

Do the new desktops succeed in creating intuitively simple to use and distraction free desktop environments?

First row are screenshots of Gnome-Shell and the second row has screenshots of Unity. These are on a netbook.
The columns: a) Startup screen, b) Select/launch app, c) Nautilus.

It is hard to be passionate about something if everyone does it! I was reminded of it by a blog about a survey which found the WebOS users as the most passionate about their platform. This isn't surprising because if you are going to buy a product used by a small minority, you are likely to be passionate about it.

So, it is nice that Ubuntu is bringing some competition and passion into the desktop world by differing from the standard Gnome desktop. The difference may be only skin deep but it is the skin which users see.

There are, however, differences in applets and extensions.

Unity on Ubuntu 11.04

The Unity interface of Ubuntu 11.04 was not a surprise. I have been using the Unity interface with the Ubuntu 10.10 Netbook edition. On the desktop, unlike on the netbook, the application did not start with a maximised window. Unity interface uses the “global menu”, that is the file menu toolbar associated with the active window is displayed within the panel on top. On the netbook, in particular, it is very attractive as it saves vertical space. Though, I love the KDE Plasma Netbook interface even more as it even removes the title bar and hides the panel.

The slight surprise was when I used 11.04 on the netbook. On a netbook, the applications typically start with a maximised window. However, unlike on Ubuntu 10.10, the dock slides out of the window and hides, making more space available for the active window. The window manager decides on the policy by examining the screen resolution and there is no separate netbook desktop option in gdm menu. In case the hardware does not support 3d effects, Unity falls back to the traditional gnome desktop.

Behind the scenes, though, there is a major change. The earlier version of Unity was using Mutter as a compositing window manager. Ubuntu has switched to using Compiz instead. In case the hardware does not support Compiz, the desktop falls back to the Gnome panels.

Gnome Shell on Arch Linux and Fedora 15

Unlike the Ubuntu Unity interface, the first reaction to Gnome Shell was negative. The panel showed and the rest of the screen was blank. I was waiting for something more to happen but that was it. So, about the only thing that made sense was to click on 'Activities' and now at least the few pre-selected favourite applications showed up. Some details about the gnome shell design can be found at https://live.gnome.org/GnomeShell/Design.

The dock for favourites and active applications is not very different from Unity. You can search for an application and add it to favourites. Or start an application and keep it in favourites. As more applications are added, the size of the icons decreases. It does keep a sanity check on the minimum size; however, the small size may be too small especially if you are using a touch screen.

In the case of Unity, the size of the icons remains fixed, but you can scroll and select an icon.

In the case of Unity, there is small arrow on the left to indicate that an application is running. An arrow on the right indicates the active application. Clicking on an icon makes the application active, starting it if necessary.

In Gnome Shell, there is no difference in the icons of running applications other favourite applications. Clicking on Activities displays the images of available windows and you may click on one to make it active.

The differences are cosmetic and I do not believe anyone would find either one hard to use. However, if you are used to one, you will find the other a little disconcerting at first.

At present, there aren't any convenient utilities for customising Gnome-Shell. The wiki page of Arch Linux ( https://wiki.archlinux.org/index.php/GNOME ) is a very good starting point for what you may wish to do. I found the solution to reducing the size of the excessively fat title bars in this wiki.

In case the hardware does not support the Mutter window manager, there is a fallback mode which is similar to the panels in Gnome 2.

What about all the little icons in the System Tray, oops, Notification Area?

Frankly, I had never paid much attention to the icons on gnome panel's notification area. Of course, they were useful. They provided easy access to connect to a wireless/3G network, made it easy to control the speaker volume and provided a minimal interface to pause music, replay the previous track or skip the current one.

Like any good thing, may be, you were inflicted with far too many of them. Gnome had switched from a single panel to two of them to accommodate all you may want to access easily on the panel. Ubuntu switched back to one, particularly for the smaller netbook interfaces.

Ubuntu introduced indicator applets for consolidating some of the applications using the notification area under a common icon.

Gnome-Shell has a hidden panel, a message tray, at the bottom for keeping some of the icons which would have been in the notification area.

As I tried to understand what will happen to various icons which used to end up in the Notification Area, I was reminded of a scene in “Five Easy Pieces” in which Jack Nicholson wants a bread but the restaurant does not have bread on the menu! So, he orders a chicken sandwich and asks the waitress to hold the chicken, the mayonnaise, the lettuce, ...

The scene certainly reflected my frustration at trying to cope with solutions which, at least, do not seem simpler or intuitive to me. I can certainly assert that my mother would not be able to use them and I wasn't comfortable with either. And all over an incidental feature.

I must be missing something. You may search for the controversies around libappindicator used in Unity. (A few links: http://blogs.gnome.org/bolsh/2011/03/07/has-gnome-rejected-canonical-help/, http://aseigo.blogspot.com/2011/03/collaborations-demise.html) The comments in this telepathy ticket make an interesting reading to get a perspective from the application developers - https://trac.transmissionbt.com/ticket/3685. The following conversation about the start of Ayatana in to make Unity interface available on OpenSUSE 11.4 and notification area protocol of Gnome Shell may also be of interest – http://lwn.net/Articles/421239/.

Getting back to the notification area icons.

One group will not be supported by Gnome-Shell or Unity. These are the Gnome Panel applets. Gnome 3 will provide a way to migrate the applets to Gnome 3; however, they will only be available in the fallback mode.

The next group are the user applications which minimise and dock in the notification area. These are expected to use the desktop notification specifications, http://www.galago-project.org/specs/notification/0.9/. KDE 4's notification system also supports them. The applications may also be using the “Status Tray Protocol” specifications (http://standards.freedesktop.org/systemtray-spec/) implemented by Gnome2 and KDE. These specifications use X11 protocols and do not use dbus and are not supposed to be used in Gnome 3 though seem to be available in message tray as legacy Xembed notification icons.

Unity wants applications to use appindicator which implements the dbus status notifier specification – http://www.notmart.org/misc/statusnotifieritem/index.html, also used by KDE4. Unity includes the system tray only for a few specific applications via a 'white list'. You can use the command “gsettings” to enable notification area for all applications.

The last group are system applets like the NetworkManager applet or Volume Control applet. These are expected to be managed by the desktop manager. In both Gnome-Shell and Unity, they continue to appear in the panel. Gnome-Shell uses javascript to make this happen. You may wish to explore /usr/share/gnome-shell/js/ui/panel.js to know more about the fixed status icons. Unity uses the appindicator.

For Gnome-Shell to treat system applets differently from the applets which use the message tray bothers me. You should not have to think whether it is a system icon or an application icon and then look in the appropriate area. Once the network is working, why do you need the icon to be visible? In fact, if some icons need not be always visible, I would have voted for the system icons.

Gnome Shell Extensions, Unity Indicators

One of the ways in which the functionality of the destkop was extended was with the use of Gnome Panel Applets. However, Gnome Panel is not used by either Gnome Shell or Unity and neither has support or plans for supporting panel applets. However, Gnome Panel is used by both Gnome-Shell and Unity in the fallback mode. Gnome Panel for Gnome 3 is being modified substantially. So, are applets going to be obsolete? It makes no sense to develop or maintain even small applications if they are to be used only in the fallback mode.

A major change in Gnome-Shell is the introductions of extensions. The extensions are written in Javascript and are much better integrated with the shell than Gnome applets. A fair number of extensions have been developed, e.g. to add the places menu and a dock which remains visible. At least at present, it does not seem as if the Gnome Shell extensions will run on Unity. But then they will not run on the fall-back mode of Gnome-Shell either. Furthermore, the WebOS example indicates that the use of Javascript to write extensions does not necessarily guarantee success.

It took some time for KDE4 to settle. The same is undoubtedly going to be the case for Unity and Gnome-Shell. You can look forward to Unity on Gnome 3 and, most likely, someone will bring Unity indicators to Gnome-Shell using Javascript extensions.