On one hand, I agree that these projects (Gnome, Unity) are going in bad directions, for much of the reasons the post outlines.
On the other hand, I understand the practical necessity of limiting the number of moving parts in a project. If Gnome thinks developer manpower is better spent in a place outside of the theme framework, then that's just a symptom of not having enough developers. It's the practical reality: some parts of the OS get more love than others.
I also don't get his Launchpad example either. Canonical never built it for anyone but themselves. Why complain that they won't give open it up? They wrote it, they can do what they want with it.
What I think this article is truly complaining about isn't lack of choice or branding, but the core cause of those things: the slow creep of "I know better than you do" design. Personally I blame two actors for this: Steve Jobs and 37 Signals. Steve Jobs made a zillion bucks cramming his design decisions down peoples' throats. 37 Signals was the developer's darling for many years, and were the big early proponents of "opinionated design." Both of these things appeal greatly to a human being's ego:
"Yeah, Steve Jobs is right! I'm such a great designer, so if I want to make a zillion bucks, I must realize that users are idiots and my beautiful product will make them love their lives again, and if they don't like it they, can suck it!"
"Yeah, 37 Signals is right! I'm so smart, I can decide what my users want, and if they don't like my opinion, they can suck it!"
Well, there's no doubt that those models worked for Steve Jobs and 37 Signals. Both are very successful. But when they start preaching that stuff to regular developers who lack the luck and talent to become a multi-million-dollar success, what we get is projects like Gnome 3 and Unity. People acting like design dictators--Steve Jobs--but forgetting that he was a once-in-a-century genius. People acting like their opinions are the best and different ones can suck it--37 Signals--but without the special sauce and determination that made that team successful.
Folks: You are not Steve Jobs and you are not 37 Signals. With few exceptions the cult of design dictatorship is the worst thing to happen to fledgling software projects in the past decade. Good designers (both graphic and architectural) can succeed as dictators, but good designers are few and far between. What the cult really does is give bad designers an excuse to be always right. And when bad designers are always right, bad design becomes par for the course.
Well, you can tell if your users start complaining--Gnome 3--or your products aren't successful.
Users of Gnome 3 are being very vocal with genuine (and some not-so-genuine) complaints about how the design process is going and what the final product is like. Since the Gnome guys are now in the cult of design dictatorship, they are always right no matter what--even at the expense of their own users--and their users are wrong to complain. The result will be an ultimately failed product. (I would bet money that at some point in the next 2-5 years Ubuntu will fork significant parts, if not the entirety, of Gnome--and when the 500lb gorilla picks up his toys and leaves, the game's over.)
Yes, a product must have some kind of vision, and at the end of the day someone's got to implement it, regardless of their talent. But humble designers recognize complaints and the needs of their users. Design dictators ignore them, because the dictators are by definition always right. That's a bad attitude to have, because most designers aren't perfect--but the human ego loves having control and loves being right. When people are told that success means being opinionated, it's a very easy thing to agree with, because everyone thinks their own opinions are the best.
I would bet money that at some point in the next 2-5 years Ubuntu will fork significant parts, if not the entirety, of Gnome...
The replacing of Gnome has already begun. They replaced Gnome Shell with Unity and GDM with LightDM. They're using Qt more often now as well (I believe Ubuntu One is Qt and I know that Unity2D is too), so it seems that perhaps GTK+ will be next.
They are, in server-side stuff--but not in desktop stuff, which is what Gnome 3 is specifically targeting. Ubuntu is far and away the largest desktop distro, so losing their support would be a pretty big blow to the adoption of the Gnome project as a whole--regardless of who's funding it.
This is becoming even more true as Steam will probably only support Ubuntu. Games are where the desktop users are. Gnome can spin its wheels and bask in its own self-righteous awesomeness but if the users aren't there, then it's all for nothing.
Canonical has the larger userbase, but their development work is pretty limited- basically, they do the Unity shell and their app-store. Most desktop related development (hardware support, DBus, core desktop libraries like PolicyKit, GTK+) happens inside Red Hat.
If they want to offer better binary compatibility between releases... well they can't, because they don't employ those guys.
If they want to support a new OpenGL release... well they can't, they don't employ those guys.
Ubuntu is crazy popular, but people really underestimate the extent to which they are an epiphenomenon.
Ubuntu conveniently distributes and packages desktop Linux. The software that they distribute may be written by a person employed by Red Hat, but I don't care. I just want to run a version of Linux that is easy to use, configure and upgrade.
>This is becoming even more true as Steam will probably only support Ubuntu.
Has Valve said that they will only be supporting Ubuntu, at the moment they are still in a private beta for the initial port to Linux, and if it goes well I suspect that we will see Valve support steam on non-Ubuntu systems. Even if they do not officially support other systems, I suspect we will see people make on-official ports.
RHEL 7 is based on Fedora 18, and will ship with Gnome 3.6 including the shell as default. It will be interesting to see how many corporate clients start using fallback on their desktop clients... and I saw a note somewhere that XFCE may be made available in the RHEL 7 repositories.
I say this as one currently using Gnome Ubuntu Remix on a couple of machines to see what 3.6 is like - its actually quite nice in my opinion.
My gripe is not with Gnome removing features that are useless, but with Gnome removing features that are useful just to influence user behaviour.
The case I have in mind is the lack of an option to leave the screen on even when inactive for a long time, because the developers want to discourage that power usage pattern (https://bugzilla.gnome.org/show_bug.cgi?id=647828). Typically users do not need to leave a screen always on, so the default behaviour should not be to leave the screen always on, but if a user needs to leave a screen always on for whatever reason, why should they have to install an extension?
It is the Gnome designers' job to design the system to their taste, but it is not their job to try to influence the users.
Those "sparse resources" were busy removing functional code such as the location toggle button. Ironically, this caused many hours of discussion, time in which those "resources" could have been doing something else.
Often the functionality removed was very useful. Want to keep your screen on all the time? Can't - you have only got an hour. Write an extension or patch the program to get around the issue (VLC). Want beautiful screensavers? it was removed, and needs to be reimplemented. What was that about not taking up the time of scarce resources again?
I'm pretty conflicted on which way to vote this. I think your analysis of the fundamental cause is accurate -- developers are becoming big-headed leading on the examples of 37 Signals and Apple, and it has become trendy for a developer to enforce his opinion on the "right" usage path by disallowing any others, even if it takes extra work to do so.
But I dislike your assertion that it was all OK for Apple and 37 Signals because they're geniuses or otherwise "special" people (I particularly disagree that Jobs was a "once-in-a-century genius"). You are correct that reading the post, there are many things that strike brilliantly of Jobsism: extreme irritation that someone is making the beautiful thing you built for them less beautiful, and that this must be stopped by any means necessary, even if you have to weld the whole thing shut. And this very approach makes both 37 Signals and Apple products undesirable for many.
It is really bad to confuse the issue by telling people "only geniuses dare enter here". That is not the problem. Apple's closed model has come back to bite them time and time again, and Microsoft's marriage to the enterprise has allowed OS X to rise without a serious user-facing competitor on the desktop. Just as happened in the early days of the desktop, Apple's arrogance with iOS is cannibalizing their market share, and Android is emerging as the predominant mobile platform. The closed platform is simply not a real solution, even for the "geniuses" at Apple; they've simply been unchallenged. When an open challenger approaches, Apple's walled garden gets burnt down.
It really comes down to the market you're targeting. OS X and Rails are for casual users, people whose needs are very predictable and who simply need to be able to access the thing they want as quickly as possible. This means limiting options, because the likelihood a user will need that option is minimal and because in almost all cases for this audience, it's just more confusing/useless mumbo jumbo that a user must parse when they're looking for their intended setting. This works OK if you expect to stay confined to a relatively stringent niche or two (even if those niches by far comprise the majority of users), like "people who want to use Facebook" or "people who want to feel self-important while they use Photoshop". It's not really the correct approach to solving the problem, but it works for them and limits their irritation.
People who use Linux, even if they start as newbies, expect power and flexibility; they expect to be able to customize and hack and build and exploit, and share those hacks and builds and exploits with others. This is really the entire spirit behind open-source software in the first place. The prevailing desktop environments, however, are envious of OS X and want their software to see the glory; they want to be cool, they want to be desired, they want the fame. They want it so bad that they're willing to put all that work into it for free. As such, they feel a necessity to actively pursue the niche of casual users at the expense of the hackers who've used their systems for the last 20 years.
The right way to fix this problem, the way that Linux vendors and developers should be focusing on, is NOT to follow the 37 Signals and Apple paradigm of "ideal" usage path protectionism, but to figure out a paradigm that merges both sectors; the hackers and the casuals, linked together in one great whole, allowing full fluidity between both segments.
Hackers could relax and forget all that complex stuff it takes to boot up a custom environment once in a while and be mostly OK with the casual interface, and casual users could scale up and make whatever customizations are necessary, eventually becoming full-fledged hackers. The person who designs a system that allows this will be the true genius, the great unifier of the worlds of user interaction. Linux and its systems would be a very useful base system for this, so it's especially sad to see our major projects insistence on fame and glory override the real issues.
It's really disheartening to see so many people blindly following Jobs et al down the rabbit hole of arrogance so potent it entirely pervades their product instead of working on the true design issue of unifying the user bases, allowing maximum customization without getting in the users' way. gnome-shell and similar projects are great experiments in UX, but they should be built atop platforms that allow all kinds of other great UX experiments, not platforms that closed-mindedly demand compliance with the "One True Way" of user interaction. Let the One True Way emerge organically; if yours is the best, there's nothing to be afraid of, and making your platform the most flexible and open will easily allow you to incorporate any iterations or improvements that may be contributed by others.
I guess, however, the root of the problem is that people refuse to accept any iteration or improvement is possible. They have a fundamental disrespect and arrogance that leaves no room for collaboration. This is the antithesis of open-source software, and perhaps the author is right that Gnome's developers may fit in better at Microsoft.