There's been a lot of talk lately about GNOME 3 and Unity - when I take a look at my news feeds, it looks like there is a storm in the Linux world. It got me thinking about desktop environments and user interfaces in general.
This entry is dedicated to GNOME 3. I will not talk about it as a user (I have not used it enough to call myself a GNOME 3 user) - I'll try to talk about it from a design point of view. First of all, if you are interested in GNOME 3's design, I suggest you take a look at the GNOME Shell's design page and its design document. They contain interesting resources and explain a lot about GNOME Shell's design.
Although I haven't read the whole wiki and design document, I think that the GNOME team have done their homework in terms of research, design and testing. The documents are relatively thorough and you can see that they haven't taken their decisions lightly : usability testing, reference to UI design works, prototypes, mock-ups... it's all there.
However, no matter how much the design decisions are justified, I keep myself asking this question : why? Why the big change? Why rip the users out of their comfort zone and drop them in a completely new environment? Yes, yes, I know. The current GNOME UI is not optimal enough, not efficient enough, it has core design problems, etc. We've seen it before. Remember Microsoft Office 2007? Same question. Why?
I am all in favour of improving user interfaces. However, taking down the workplace with a bulldozer and replacing it with another one, that's bold. And not necessarily in a good way. We use defective interfaces every day - in fact, we are experts at using "defective" interfaces. I am pretty certain that the QWERY keyboard layout is not the most optimal. I am certain that OpenOffice's UI needs work. Is a task bar the best way to switch between applications? Depending on the context, maybe not. Nevertheless, I work with these tools everyday. Just like learning how to drive a bicycle, I became more comfortable with them and learned to be more effective with them. À priori, I have no need to get a replacement.
I know I risk a lot of fire for saying so, but I think that KDE has done the switch from KDE 3 to 4 the right way - and I'm not talking about implementation here. If you take a look at KDE 4, it is, in many ways, similar to KDE 3. By default, you get your bottom panel with the menu, task bar, desktop pager and system tray. You work in a very familiar way. However, in KDE 4, they made every desktop element a "plasma widget" - everything can be moved, removed, added to your liking in a uniform way. It purposes a kind of abstraction level that wasn't there in KDE 3. In later versions, they added activities. They're not mandatory - it is there for the user to explore. KDE 4, in my opinion, demonstrates how you can improve the user interface without imposing too many changes on the actual user. If the user wants to have a similar layout as KDE 3, he can. If he wants to explore the Plasma workspace and create his own, different experience, he can too. That way, the UI can continuously evolve, letting the users adapt along the way - without having to expose them from the start to a new UI paradigm, like GNOME did.
This is pretty much what I think of GNOME 3. They maybe had a good idea of designing a new desktop environment, but the switch may be too brutal. I am not (yet) saying anything about GNOME Shell's functionality and how it will hold up in the future. It is too early to tell. There is, however, something I want to address here, and it's about GNOME's goals.
I remember when I switched from GNOME to Xfce - I was fed up with it. In my opinion, it became too much stripped down for my needs and it looked like, at that time, that the GNOME team wouldn't stop removing or hiding features, for the sake of the users. I looked back at that decision lately and a coworker made me realize, when talking about Apple, that it was not GNOME that was having a problem - I was just slipping out of their target user base (I'll admit, I denied that for some time). It is my understanding, judging by their design documents and general look of their user interfaces, that they want to provide a simple, uniform, minimal environment. And this is perfectly fine! There is a market for such an environment. Currently, Apple dominates it. GNOME, I think, is very close to Apple in terms of UI philosophy. The designers make the calls - you don't. You step back, relax, and let them do the work for you.
Although it may not be representative of the current GNU/Linux user base, there is a lot of users out there who want just that - that it works, that it works beautifully and that it works well. No frills, no extreme custom panels, just a desktop. GNOME, I believe, is one of the only desktop environments answering that need (if we leave Unity out of the picture). With that in mind, GNOME will hopefully reach a lot of people unwilling to step out of Mac OS or Windows because of the variety and sometimes inconsistency that can be a Linux desktop environment. Will they be confined to a predefined way of working? Maybe. Will they get as many customization options as other desktop environments? Probably not. However, it's all right because for a lot of people, it doesn't matter. Moreover, we have the choice of the desktop environment. You don't fit in GNOME's way of thinking? Fine - switch to something else! There is plenty of options to choose from.
I have often ranted about GNOME (not too much online, luckily for me) - and a lot of these times it was because of a difference in philosophy. I wasn't looking at the right place. I was trying to find KDE and Xfce in GNOME's offering. And I wish them best of luck with GNOME 3. I will maybe not use it. And that will be okay - because there are others who will, and they will find what they want. This is the most important thing.