Desktops and window managers are my weakness. From Openbox, ICEWM and Ratpoison to GNOME, KDE, Unity, and Xfce, I must have tried over forty of them.

Even the ones like SymphonyOS or Eagle Mode that don't have a chance of ever becoming mainstream can tempt me with a look. Often, I have more desktop environments than any other kind of program on my main workstation, and I regularly switch between them according to my mood.

Beyond insulating users from the command line, many of the desktops available for Linux have little in common. Recently, though, I've noticed a number of unfortunate tendencies in development that seem to be spreading throughout all the major desktops.

These tendencies seem to have little to do with improving the desktop by making it more accessible or user-friendly. Instead -- well, to be frank, it's hard to know what is going on, sometimes. Among the problems:

1) Designing for Mobile Devices

Mobile devices are new niches for desktops, so designing for them make sense. I concede, too, that mobile desktops are familiar to many people, and that the closer all desktops are to each other, the less code that developers have to maintain.

But there's one thing that designers seem to miss in this logic: Many of us don't like mobile desktops very much.

We endure the endless clicks and screen changes because, so far, no one has figured an alternative that works on small screens. However, that doesn't mean, as GNOME and Unity developers seem to assume, that we want mobile desktops on our workstations. The result is needlessly complicated, and for mouse-users it's an express lane to repetitive stress injury.

And what's wrong with designing a desktop for people who need to do serious work?

2) Change for Its Own Sake

Nothing's wrong with enhancements or innovations. A couple of weeks ago, I was excited to see the spinner that the new Plasma Tablet Interface uses for selecting activities -- it was a fresh and elegant solution to a problem with which KDE has grappled for several years. The same goes for the collapsible icons on the Unity launcher that are provided as an alternative to scroll bars.

However, I do object to exchanges of one piece of functionality for an equivalent that is no better (nor worse). For example, why does Unity discard the classic accordion-style applications menu in favor of displaying items in a transparent overlay window across the entire desktop?

The main objection to the classic menu is that it spills across the desktop, disrupting your view of open windows, so as far as I can see, Ubuntu has cunningly replaced one design element with another that has exactly the same faults. The only difference is that users are accustomed to the classic menu. Where's the improvement?

3) Imposed Work Flows

When I'm dealing with a minimalist interface, I expect a limited choice of how to work -- I'm not going to complain, for example, about not having icons on a tiled desktop.

However, the strength of the big mainstream desktops in the past has always been that you could work any way you liked. You could use desktop launchers, but if you preferred launching from the menu, you could. You could use virtual workspaces, but you could also ignore them. You could fill panels with applets or widgets, or not.

Now, in GNOME or Unity, increasingly you are pressured -- if not forced -- to work the way that the project members have decided you should work.

Do you feel that virtual workspaces are too complicated for everyday use? Tough -- in GNOME you have to use them, or else confine yourself to having one application open at a time. Do you want some handy utilities like Tomboy in the panel? Well, with Unity, you can't have them.

You can, of course, learn to work within the limits of each desktop. The learning's not difficult. But it will be a distraction for a while, and the question is why you shouldn't be able to work in the way you prefer.

4) Hiding Features without Providing Guideposts

No one, so far as I know, has extensively studied the needs of new Linux desktop users. Yet the myth of the new user, timid and easily overwhelmed by choice, has become a fixture in design. That usually means hiding advanced options or even workaday features like a virtual terminal beneath several layers of interface.

To an extent, this tendency makes sense. The users who want advanced features and options are precisely those who are likely to explore, confident in the expectation that what they are looking for exists somewhere.

Yet, while Jono Bacon defends hiding certain functionality in the next Unity release on the grounds that "people learn by exploration" , the idea doesn't seem to apply to new users.

When I was involved with user testing, what I noticed was that if new users don't have some visual sign that some other functionality is available, they don't go looking for it. At best, they discover it by accident. At worst, they don't discover it at all, and contact the designers to complain.

5) A Lingering Inferiority Complex

For years, the Linux desktop tried to match Windows and OS X. Somewhere in the last half decade, it more or less succeeded.

That milestone, even as unnoticed as it was, should have freed designers to do what they want, and to aspire to be the innovators. And, to a certain extent, it did in KDE. Yet when desktop designers started rethinking the menu a few years ago, their first reaction was to mimic what was happening in Windows.

Similarly, looking at Unity, I'm starting to suspect that Mark Shuttleworth's goal of "delivering a user experience that can compete with Apple" has shifted in execution to "delivering a user experience that is a variation of Apple."

I sometimes think that Linux desktop designs are like a colony that has gained independence, but still thinks that everything is done better in the mother country.

6) Solving Non-Existent Problems

Does anyone remember users complaining bitterly about the clutter in the GNOME 2 release series? That they couldn't focus on their work because of icons on the desktop and panel applets? Because I don't.