The perfect Linux desktop doesn't exist, though some come closer than others.
In any given week, I am likely to use two or three Linux desktop environments. Partly, I switch so often to keep up to date. But the main reason is that, whatever environment I am using, I soon become aware of its shortcomings and start thinking of another's advantages.
Clearly, the only Linux desktop with which I am likely to be completely satisfied would be one I built for myself. However, since I am unlikely to do that any time soon -- or at all -- I can only continue to switch regularly, repelled by a feature in one desktop and attracted by a feature in another, like a piece of iron between constantly shifting magnetic fields.
Meanwhile, here are the best and worst features that I keep noticing in each of the six major desktop environments for Linux:
Best: The Expo Virtual Workspace Viewer
For years, most interfaces have offered a small grid for switching virtual desktops. This tool is usually adequate, but shows only the current active desktop, and not what is on each desktop.
Cinnamon's Expo offers an overview that gives a detailed thumbnail of each workspace. Ideally, it should be a preview available when the mouse hovers over the grid, but even now it is a useful supplementary tool. It is less irritating than GNOME's overview (see below) because you are in control, and because it isn't always needed.
However, judging by how quickly the number of panel applets has grown, I expect that in a release or two Cinnamon's best feature will be the recently introduced desklets -- utilities that can be added to the desktop. With any luck, they should provide a new degree of customization.
Worst: No Drag and Drop
With the recent release of Linux Mint 15, Cinnamon is reaching early maturity. However, while the features are starting to be there, the polish is still sometimes lacking.
In particular, instead of dragging panel applets and desklets into position, in Cinnamon you often must select an item, then press a button and (more often than not) reposition it. No doubt drag and drop will come, but for now, Cinnamon can sometimes be primitive and require too many steps for what should be a simple setup.
Best: GNOME Shell Extensions
Like KDE 4.0 before it, GNOME 3.0 was released with relatively few options. However, that has changed in the last few releases with the encouragement of GNOME Shell Extensions.
Tellingly, many of the extensions convert the GNOME Shell into a near-replica of GNOME 2. However, because each feature is limited in scope, users can decide exactly how much of GNOME 2 is reproduced. Often, too, they can choose between several different versions of basic features such as menus and panels applets. Extensions give users a richness of choice that GNOME would otherwise lack.
Worst: The Overview
In GNOME, the overview is used to launch applications and to arrange them on virtual workspaces. This arrangement might make sense on the small screen of a mobile device, but on a laptop or a workstation, it feels like a needless distraction. Why change screens just to browse the available applications.
The overview does automatically assign virtual workspaces, which might encourage new users to use them. However, even so, I suspect that most experienced users would prefer to choose for themselves which workspace an app opens on. The overview seems an over-elaboration that solves no pressing problem.
Activities are task-organized desktops, each with its own layout, widgets, icons, and themes. Instead of having a generalized desktop ready for your most common tasks, you have specialized ones, each designed for a specific set of tasks.
For example, you could have one Activity arranged for reading news, one with links to stories you want to read later, and another for taking screen shots of the command line. Alternatively, you could have one Activity for each customer account, or one each for home, work, and school. The possibilities are endless, especially for those who like to customize everything exactly to their liking.
Admittedly, KDE has not done a strong job of publicizing Activities since they were introduced in the 4.0 release. Still, the potential is there for those who seek it out
Worst: Akonadi PIM Manager
From the developer's viewpoint, KDE's division of everything into separate modules makes for flexibility and easy of coding. But if you have any trouble setting up personal information, good luck using Akonadi to correct them. Akonadi is not only seriously under-documented, but is full of tools that give you plenty of information, but few indicators of how to act upon it.
First, there is the multi-tabbed Akonadi console, full of information that is either heavily abbreviated or invisible with dragging column rows open. The purpose of many of the tabs is further obscured by the fact that they are empty, and there is no indicator of where to start. The first tab might seem a logical place, but do you need to add something? Or can you jump right in and configure or synchronize whatever you're dealing with?
Then there is the Akonadi Configuration window, which seems to repeat some but not all of the console's contents. At first, it seems easier for setting up resources (even if you are not sure what you are setting up).
But should your personal information system not be working, don't imagine that the testing tool will be much use. Your system can pass some of the tests yet still work, and nothing indicates what you can edit to make your system pass any of the tests -- all of which is not so much a black box as an intermittently opaque one.
Best: Its Familiarity
The best thing about Mate is that, if you're an experienced Linux user, you've seen it all before. Mate is a fork of the GNOME 2 code, and its developers have worked hard to reproduce most of GNOME 2's features.
True, differences exist. Instead of GNOME 2's cascading menus, Mate has a single window menu. Nor does Mate use GNOME 2's long-familiar trio of menus, Applications, Places and Systems. However, in general, any user of GNOME 2 should be at home almost immediately.
Worst: The Need to Update Code
Mate's worst feature is the same as its best. Its resemblance to GNOME 2 is comforting, but also means that Mate consists of code that is not only aging, but threatening to become obsolete.
Average users don't see the code directly, of course. But the effort to update it takes up a good portion of Mate's development time. Add the ongoing cloning effort, and Mate sometimes, too, lacks innovation. No doubt that is part of Mate's appeal to refugees from Unity and GNOME, but if it sometimes feels comforting in its familiarity, at other times it can feel old-fashioned and as though it is spending too much time maintaining the basics.
Best: The Launcher
Unity, Ubuntu's default interface, include many elements that prove that design theory is only as good as the assumptions you put into them. But one feature that Unity has got elegantly right is its launcher and its economical use of space.
To start with, Unity's launcher was the first recognition that modern screens have more horizontal space than vertical. Admittedly, the idea of placing basic tools on the left edge of the screen takes some getting used to, but, then, so did placing the main menu on the bottom left.
Another economical feature are the indicators for open and active applications. Instead of a bulky taskbar, the launcher simply uses a triangle on the left for open apps, and one on the right for the current app.
The launcher also includes a widget that stacks the apps at the bottom, making them still visible -- if only barely -- and easily retrievable. The launcher does scroll smoothly, but this feature provides a complete view of the launcher that makes searching for an icon much easier.
Worst: Online Searches on the Dash
The dash is the top icon on the launcher. Originally, it was a combination menu and file manager replacement, and no more than adequate at either task. However, in the last few releases, it has also become an instrument for searching online, especially on commercial sites.
This combination has been tried before -- for instance, with KDE's Konqueror -- but it has only succeeded on the Chrome desktop, which emphasizes online services and minimizes local utilities. In Ubuntu, the combination only distracts. When you are searching for an app or a file, who wants recommendations for reading or listening?
Even worse, the online searches raise obvious privacy issues that Ubuntu has only partly answered. They are a feature that very few want, and Ubuntu's insistence on not only keeping them but expanding with each release to the number of sites you can search seems to indicate how desperate Canonical, Ubuntu's commercial arm, is becoming in its search for revenue.
Best: Running Both GNOME and KDE Apps
Xfce's most outstanding feature is often said to be its speed. However, now that the feeblest computer sold has several gigabytes of RAM, Xfce's speed is less important than it once was.
Instead, what makes Xfce stand out for me is its ability to open and run GNOME and KDE applications quickly. In fact, Xfce runs GNOME apps better than KDE does, and KDE apps faster than GNOME. If, like me, you choose apps for their features rather than for the desktop environment they are designed for, this ability can save you hours of finger-tapping.
Worst: The Lack of Utilities
Xfce has a powerful file manager in Thunar. However, in other areas, Xfce's native tool selection is sparse: a half dozen utilities, and only the most utilitarian panel applets.
Perhaps this sparseness is necessary to keep Xfce efficient and lean, but it can also be a nuisance when you discover the lack of a basic tool while in the middle of a task. Fortunately, you can borrow from GNOME or KDE as needed, but the lack is a frequent nuisance, all the same.
This list is nothing if not personal. I know KDE users who are indifferent to the Activities that I use daily, and Ubuntu users who hate Unity's launcher as much as I appreciate it. In fact, I believe that one of the most popular Unity extensions is one that moves the launcher from the left side of the screen to the bottom.
Similarly, in many cases, I could have offered alternatives to the features I settled on. I value KDE's FolderView, which quickly loads icon sets almost as much as Activities, and I could have mentioned the default maximized windows in GNOME as a pet peeve rather than the overview
But, then, preferences in desktop environments are nothing if not idiosyncratic. What features do you like or dislike most in your desktops?