In the fourteen years that I've been using Linux, its desktop has evolved from ungainly application launchers to software environments whose innovation and sophistication are equal to none. Yet despite these advances, I've never found one desktop completely satisfactory.
I suppose my perfect desktop would pick and choose among existing features. It would combine, for example, Ubuntu's offer to encrypt the home partition during installation with GNOME's treatment of a chat window as a special case that doesn't steal focus from another window.
Other features I used to long for, including tabbed windows for grouping apps I am working with at the same time and swappable sets of desktop icons, have been implemented in KDE. And I am waiting to see GNOME's security and privacy plans carried out.
However, many features I'd like to see are not even in the planning stages, even though some of them might involve mild tweaks of existing functionality. At the risk of sounding, as Harlan Ellison put it, as though I'm not only building dream castles but planning to move in the first of the month, here are seven features I'd like to see in a free desktop.
7. A Built-In System Hardener
For over a decade, my first act after installing a new work system has been to run Bastille Linux. Unlike most of the measures the average user thinks of as security-related, Bastille doesn't react to possible problems; instead, it alters the settings to make your system harder to break into.
Unfortunately, Bastille is cranky about which distributions it will run on. Moreover, despite its efforts to be educational as well as useful, it assumes more knowledge than today's average user is likely to have. It's also a tool you have to be aware of, rather than something built into any desktop. And it can lock you out of your own system if you ignore its advice.
Still, if SE Linux can be a standard tool in Fedora, there's no reason why a Bastille-like app shouldn't be in common use as well. Including it in a desktop environment could be an important step in righting the balance between security and convenience, which these days seems increasingly slanted towards convenience.
6. Automatic Allocation of Virtual Workspaces
One of GNOME 3's most useful features is the automatic allocation of virtual workspaces. Not only does it introduce users to the concept of virtual workspaces, but it helps to solve the problem of having so many windows open that you can't find the one you want.
However, its implementation lacks a few features. To start with, it needs an off-switch to accommodate those who prefer to manage their workspaces for themselves. For another, users should be able to determine how workspaces are allocated, setting such characteristics as the number of windows to open in each workspace and which windows are opened or maximized. Such features should also be saved, so users do not have define them every time they log in.
5. Selection by Spinner
Space in a modern desktop environment is always at a premium — not just because the same design is supposed to work on multiple form-factors — but because there are many more items to select than there were on desktops a decade ago. One major result of this new reality is that methods of selecting items that once were adequate cannot be used without stopping and, often, moving to an entirely different screen or dialog window.
KDE has struggled with this problem with activities throughout its fourth release series. At first, they were viewable in an overview, which confused users. More recently, both activities and widgets display in horizontally scrolling windows that automatically become the current window, which is awkward and distracting. It is only Plasma Active, the KDE variant for mobile devices, that implemented a solution that allowed both quick selections and took up minimal space: an OS X-like spinner that slides out when in use and retracts after a selection is made.
A lone spinner can't provide a functional menu because there are too many items. But spinners could become the standard widget for selection when there are only 6-12 items — for workspaces, for instance, and task bars and notifications. Their efficiency is unrivaled by any alternative that I have seen.
4. Starting Multiple Applications at the Same Time
Many tasks require that you use more than one application. For instance, when I write about a command line utility, I usually have one terminal open to a man or info page, one open for testing options, and the GIMP open so I can get screen shots of my tests.
This is hardly an unusual work flow. Yet in every desktop environment, each application must be opened separately, regardless of the form of the menu. In GNOME 3 or Unity, this means numerous clicks and searches just so you can get to work.
What I'd like to see is a method of delaying the launch of a selected app so that I don't have to keep returning to the menu. Alternatively, a new menu item or desktop icon type might allow multiple apps and files to be opened at the same time, without requiring the user to write a script. Additional features might be the ability to set where each app opens in relation to the others.
3. Easy Viewing of Virtual Workspaces
Speaking of virtual workspaces, what about a viewer that allows you to see each workspace? Not an overview, like GNOME 3's — that only takes you away from the current task, interrupting your work and disrupting your thoughts.
Such a tool is hardly necessary if you only use a couple of workspaces. Even the default of most distributions — four — is usually manageable. But if you use many more, knowing what is on each workspace becomes next to impossible, even if your use of workspaces is consistent and reflected in the names that you give them. A small dialog window would make all the difference.
Another alternative might be to allow workspaces to be tiled on the current one as needed.
For that matter, KDE activities could use similar features, although at least two KDE widgets go so far as to conveniently list workspace names.
2. Widgets for Individual Windows
Both GNOME 3 and KDE have limited the contents of their panels to basic items such as clocks and app indicators. However, like many users, I prefer the opposite extreme of customizable applets or widgets.
In fact, why not go one step further and allow widgets to be added to the title bars of windows? That way, you could permanently match each application with the widgets you usually use with it.
1. Grouped Icons and Widgets
KDE's folder view has made switching icon sets on the desktop a matter of a few mouse clicks. However, within each folder view, icons are still treated as a single group. When you arrange icons or set their size, your changes affect all icons, whether you want them to or not.
By contrast, Stardock Corporation offers a Windows app it calls Fences, which allows you to group icons the way you do objects in a drawing program. Icons in a fence are treated the same way, so that rearranging icons does not disperse a group, the way it would if you had manually arranged them together.
Admittedly, both GNOME 3 and Unity have reduced the use of desktop icons in the name of reducing clutter. But given users' retreat to GNOME 2 and Xfce, I suspect that users don't object to clutter so long as it's theirs. Borrowing the concept of fences (okay, stealing it) would at least organize the clutter, rather than eliminate it.
Don't wait up for my code for any of these features — I'm a much better writer than programmer, as scary as that sounds. But in this time of reaction, when people are choosing what they know and often rejecting innovation — regardless of its value — fantasizing about features that enhance the desktop without requiring a change in workflow seems an effort worth making
I haven't mentioned all I would like to see. I would especially appreciate a menu or its alternative that was both convenient and minimally disruptive when you are working. Currently, it seems, you can have one or the other. Unfortunately, though, I haven't managed to imagine an alternative that is both, and simply pleading with developers to find a solution seems unfair.
Instead, think of these suggestions as small thought-experiments about what the free desktop might become in the next few years.
Over the last fifteen years, the free desktop has evolved from an ugly, barely adequate application launcher into an environment second to none for sophistication. I don't expect my perfect desktop will ever be built, but maybe dreaming about it will suggest how easy it could be to build something wonderful.