Some thoughts on the brewing Gnome3 controversy. (I should really call it what it is: a disaster.)
I think what the KDE4 and Gnome3 folks are doing is that they have picked Apple (and to a lesser degree, Google) UI products as their role model.
That in itself is not a problem (at all) - the problem as I see it is that they tried to achieve this by mimicking Apple products
, instead of implementing a high quality UI development process
This distinction is very important and it has not been invented by Apple: Swiss, German, (Dutch, etc.) industries have discovered it hundreds of years ago and have been passing it on from generation to generation ever since.
What does Apple do to produce high quality products? For 30 years they have gone through hundreds of externally visible iterations (and who knows how many tens of thousands of internal iterations and dead-ends), creating a highly optimal development process that they actively make sure clicks with users.
(Yes, Apple has good PR and they have a very smart hw production team as well that knows how to force everyone downstream from them to be thin commodity suppliers while them raking in the billions with unique, almost-luxury value-add profit margins, but key is the development process that leads to good products.)
You cannot really gap that difference by taking a giant leap in the "product space", regardless of the existing user base and regardless of the quality of the landing.
I even argue that the absolute momentary quality of the current product does not matter much
, it is the relative quality
of the product: do you have a development process in place that increases UI quality monotonically? Do you have a process in place that admits and reverses mistakes with as low latency as possible? Do you have fine-grained enough iterations between product versions to be able
to have feedback and reverse mistakes? Do you have a people process in place that rewards good developers while weeding out the lazy and the parasites? Do you have a positive feedback loop that includes customers in all this?
(That is what for example the Git project has done: in its early stages it was barely usable, yet it always concentrated on its meta process very strongly, so long-term success was essentially hard-coded IMHO.)
To mention a positive example, just take a look at how the Gnome project handles its development process when it comes to something they know very well: hundreds of developers sharing code and working on a large UI project.
When they migrated to Git two years ago they took elaborate
steps to ensure the quality of the end result to those hundreds of top contributors:http://lwn.net/Articles/324432/
they first raised the issue, then they voted, then they migrated very, very carefully, in parallel, ensuring that the "switch" is as painless as possible to everyone effected. It was done very carefully by the Gnome project, even though dealing with the SCM is arguably just a small portion of a typical developer's daily workflow. It was a pretty mature approach IMO, all around.
So, considering that example, should the migration of literally millions of people's Gnome UI workflows not be done equally carefully, with sensibilities to what affected people's opinion is?
</rant :-) >
ps.: I think OSS UI projects are also making a big mistake by mimicking the development model of closed-source projects. OSS has the unique
opportunity to engage the user right at the desktop: I wish there was a project where end-users could directly interact at that level and vote/report in much more flexible ways than Evolution popping up with a bug report form ...
We should realize that our future OSS developers are sitting in front of the device they are using, most of them are at most 100-200 msecs away from a server that the developers are using - they only have to be engaged intelligently ...
Yet we are doing everything in our power to create silly artificial walls between developers and users. I wish there was a Wikipedia-alike way to develop (or at least quality check) an OSS desktop. Lets face it, there's a lot
of people out there who cannot code but who have much
better UI taste than the average OSS GUI developer. We are just not making use of that potential and that's a big lost opportunity no matter how you look at it.
pps.: I'll take the plunge and try a tiling window manager myself. I don't think staying on Gnome2 is the right approach: when I do that I'll just be considered a laggard, a lazy upgrader, but still a Gnome user - I won't actually be helping other free projects grow better UIs ...