1. As the author says toward the end of the article, I think the biggest problem with Gnome nowadays is that only a small number of people actually use it on a day-to-day basis. Popular distros like Ubuntu and Mint have shifted away from it. No matter what merits Gnome 3 might have, it was such a flop in its first few releases that it has the Windows Vista stigma attached to it. Of course, there's GTK and several Gnome apps that people do use on a daily basis. But for many people, Gnome itself is decidedly uncool. No wonder they don't want to contribute to it.
2. If Gnome really wants to win back the hearts of potential contributors (i.e. power users), they'd better make programs that appeal to that demographic. People who have the skill and motivation to make significant contributions to a free software project often want a lot of room for configuration, including the option to use the desktop in a traditional manner. Taking away those little checkboxes and toolbar buttons is like slamming the door on power users. You might win a billion non-technical users, but none of them will ever submit a single patch.
3. Gnome is too big for its own good. Why does a desktop environment project need to maintain a complete stack of apps and libraries, from GTK to Gnome Shell to a text editor to a bundle of games to a web browser to an email client to a media player to a full-blown spreadsheet app? Why can't they just tell people to get a third-party browser? They should spin off the rest and focus on GTK, the Shell, and a small number of essential utilities. If Epiphany or Gnumeric died a slow and lonely death, how many people would really care? Heck, if you don't have the manpower to maintain anything else, just give me GTK so I can install xfce or lxde on top of it. It's really just Firefox and LibreOffice and VLC that I want, and I don't need Gnome to run them.
I find it wryly amusing to see the entire GNOME 1 -> GNOME 2 debacle repeated so accurately. GNOME 2 eliminated a huge pile of configuration and tweakability that had accreted over the years, and produced an environment designed for user-friendliness even at the expense of some power-user configurations. It took a few releases to sort out (2.0 proved quite painful), but by GNOME 2.4 or so the environment had become far more pleasant than GNOME 1.
If the GNOME 2 -> GNOME 3 debate has produced more vitriol by volume, I'd say that just reflects GNOME 2 having a much larger user community than GNOME 1 ever did.
Sure, but the thing with Gnome 3 is that Gnome made the decision that they would piggy-big a "new, modern interface" onto their overall graphic environment (Gnome 1 and Gnome 2 used the paradigm more or less popularized by Windows 95).
Sure, Microsoft and Apple feel like they have to shove a new load of, uh, cr-p onto us on a regular basis and have enough resources to maybe make that work. But Gnome just didn't have the same marketing positioning.
I'm all for modernizing interfaces. But it seems like either Gnome choosing one or Ubuntu choose one and then these being pushed on us isn't really a good way (or an effective way). Because "modern" mean "opinionated" and open source probably won't easily adopt opinionated approach.
Same with KDE3->KDE4. They released 4.0, saying it was a beta. Guess what, if you call it 4.0 and do a release announcement, people will get it no matter what you say. And then they'll judge based on your pre-release status, calling your software crap. It's the lesson no one learns.
Let's be clear though, it went down quite similarly with Mac OS X: 10.0 was quite troublesome and not exactly well-received. Look what happened later. Ditto Vista and Win 7. The pattern is not limited to FOSS.
I think the lesson here is that the circumstances at times compel platform vendors like KDE and Gnome to make these big next-gen releases, and the market compels them to do them before they're quite ready for end-user primetime, because the alternative is a serious loss of momentum, e.g. in the third-party space that is waiting for that release. And this is likely even more true in the FOSS space, because you're not just bleeding third-party interest by not shipping, but also developer recruitment.
It's a balancing act. Looking back, I don't think we found quite the right balance with KDE 4.0. But realistically, shipping 4.0 only when it had achieved the quality level, of, say KDE 4.5 just wasn't going to happen, either. Because if we hadn't shipped at some point, we'd might not have gotten the influx of contributors and early adopter feedback that we needed to make 4.5 happen.
Really, people are being presumptuous by saying these things happen carelessly. The reality is that there are pressures pulling you into different directions. You sometimes make bad calls under pressure. At other times you make the right call but get to chose between multiple options that each have their own downside attached.
What prevents a "loudly trumpet Beta"? Say "this is our beta, try it, critique it but don't count on it being perfect"
Call it "4.00001" or "3.9999". It seems to me that you could get people's attention and so get test users while still trumpeting the software's "not-completely-finished-ness".
Getting people's attention with a beta is unfortunately pretty hard. Two things:
a) It's not all about beta testing. A big thing is developer recruitment. The demographics among FOSS developers ensure a relatively high amount of turnover: Many of them are at an age where their life and/or job situation is likely to change within two-three years, causing them to move on. A steady influx of new talent is needed to keep the show on the road.
At the same time, a project that isn't releasing is less attractive to contributors for a variety of reasons: The time it will take for your handiwork to be delivered into user's hands, the level of information circulating about contribution opportunities (i.e. "what does this even do that I might want to hack on"), et cetera. It's also still true that a lot of FOSS contribution is itch-driven: You start contributing because what you're using isn't doing quite what you need it to. But if you're not using it, if there's no exposure, there's no way for the itch to happen. And usage explodes with a real release vs. a beta.
b) People don't test betas, relatively speaking. The amount of feedback explodes for an actual release. Now you'd think that beta feedback would be of higher quality on average (due to people who actually do test betas being more advanced users), but even expert users often hold back on betas despite knowing better.
> Taking away those little checkboxes and toolbar buttons is like slamming the door on power users. You might win a billion non-technical users, but none of them will ever submit a single patch.
An experienced developer should be mature enough to know that he and his kind should not be the target audience of his product. And putting in all those little checkboxes makes a product a horrible experience for the rest of the world.
If you pay me, I will work selflessly for the masses. I will implement features I don't need, I will fix bugs I don't care about and I will write documentation for features I already know in and out.
If you don't pay me, I will still contribute, but then I will work only to scratch my own itch. I will implement features, but only those I want to have myself; I will fix bugs, but only those that annoy me personally; I will write some documentation, sometimes.
If you don't pay me, and your project goals make it impossible for me to scratch my itch, then I will not contribute to it.
This is exactly what shapes the areas of success for OSS. It's glaringly obvious looking back, that success perfectly matches the motivation of contributors in different areas.
And that said, it doesn't need to be so difficult to include all these pesky checkboxes in a way that they don't confuse or hinder usability for n00bish users. This used to work for Gnome 2. Never met anyone who thought Gnome 2 was too hard or counter-intuitive, they were just more or less used to it. Windows XP and Windows 7 have a lot more checkboxes if you look for them.
Sorry, gnome 2 was hardly 'easy', which is the bar that modern, commercial window managers are setting. 'Not hard' and 'not counter-intuitive' doesn't cut it any more for the bulk of users, who are less savvy than previously.
If there's one thing that Apple and even Microsoft are showing with their window manager and widgets, its that simpler is better, and we've been missing that all these years.
I had to walk my 80 year stepfather through an OSX install yesterday. He would definitely have failed if I hadn't been there (he still got stuck for five minutes on the gesture screen (or whatever it was), which neither us really got). He's used Macs for years - without being a power user of course. I don't think Mac are getting easier. They're getting harder to use but more "impressive", more filled with theater. And sure that's the "bar" that modern OSes are "setting". If open source follows in those steps, it certainly will be lost (and it's stumble a few steps down that well already).
Whether you call Gnome 2 hard or easy, it's main problem was that it's configuration apps and menus were confusingly organized. If the incremental improvements Ubuntu was making could have continued a few more years, things might have been great. The decision to create "Gnome shell" probably forced Canonical's hand but Unity also seems terrible to me.
I like solving problems for other people. But when I'm using open-source software, the only problems I'm really aware of are the ones I'm having.
In a commercial setting, I'm very motivated by user tests or data that demonstrates problems people are having. I've seen a lot of other developers get excited about that, too. Fixing things is fun when you can see that your actions actually help somebody.
But I've never seen an open-source project that makes it easy to get engaged in that fashion. The closest I've seen is users asking support questions on the mailing lists, which is a pretty small slice of users these days. Plugins also seem to provide a nice feedback loop like that: you make something for yourself, you throw it out there, and you see people installing it and commenting.
But broadly it seems like an unsolved problem in consumer-facing open source.
First of all that's a straw man as obviously all Free software developers don't feel the way he does. Secondly, it occurs to me that maybe people don't use Gnome 3 because, like me, they just don't like it. I don't like the way it looks, nor do I like the way it works. These days I go between Gnome 2, Unity, and an Open box/fbpanel setup on my different computers. I'm not in love with any of my desktops at the moment but I like them all better than Gnome 3.
"An experienced developer should be mature enough to know that he and his kind should not be the target audience of his product. And putting in all those little checkboxes makes a product a horrible experience for the rest of the world."
Too bad Gnome developers are so far removed from UX and the desires of the "common user" it isn't funny
They took "removing stuff" as their mission and follow it blindly.
Or for a car analogy: Gnome removes the clutch but it doesn't give a torque converter and automatic transmission.
Whether you like it or not, power users are probably the only audience left for a linux DE that's no
longer the default on the most newbie friendly distro's. The rest of the world is never going to see it.
Open source is very much about scratching one's own itch
If Unity is described as a Shell for the GNOME desktop environment. Then that sounds about right to me.
Perhaps better questions to ask would be what is Gnome 3? What is Gnome Shell? And what is Gnome? Sorry but it's a bit difficult to comment on Gnome when it's not entirely clear as to what it is.
Yes and no. They ship with a lot of gnome3 apps, but none of the unity code uses any gnome 3 libs. They do use compiz though, and have compiz use the gconf settings.
The thing is, they could switch to a qt based desktop, without touching any unity code.
I completely disagree with the second sentence. There must be a way for power users to get the flexibility they want, while making the product usable by the masses. MacOS does this to an extent, with "Advanced" buttons on some control panels that most users ignore. Why couldn't Gnome do that? Why must it seek to emulate Windows' lack of flexibility?
Some OS X apps and system services go even a step further — or at least have in the past; I feel like one sees less of it these days — with options in GUI apps that are exposed through the command line (usually via the defaults command) only.
That to me feels like a very nice hierarchy:
A few basic, common options available in the main UI.
A few more-advanced/less-commonly-desired options available in a part of the UI that's labeled "Advanced". Things that mortals-but-not-noobs would be interested in. Novices actively don't want to hit Advanced but the sort of user that would be interested in these options goes right for it.
Then really exotic options are available through an interface that takes up absolutely no UI space but is easily accessible by most of the kind of people that would want such things.
For the record, OS X actually doesn't have a lot of buttons called "Advanced", though there are some. In fact, in general, as an OS X user and former user of Gnome 2 applications, my unscientific impression has always been that Gnome 2 had significantly fewer (user-visible) preferences. YMMV...
OS X apps don't use a lot of "Advanced…" buttons but they certainly have lots of "Advanced" tabs (usually rightmost, having a gear icon) in their Preference panels: iTunes, Finder, Safari, and Calendar all do.
Where you do see lots of "Advanced…" buttons is in System Preferences…
Well, I quickly went through all of the default preference panes and here are all the Advanced buttons:
Security & Privacy
(Displays - Calibrate has an "expert mode")
Mail, Contacts & Calendars - for manual mail accounts
Network - big advanced section
Bluetooth
(Zoom in Accessibility has "More Options...")
So there's a few of them, but I wouldn't say lots.
Funny thing about windows' lack of flexibility is amount of "WTF, I can't do that either?!" exclamations I had when I started working om mac. I still can't find a way to change default text background across the board on mac (from white to pleasing greenish color).
In general the kind of thing you are talking about on the Mac is app specific if the app developer thinks it should be an option. From way back Apple's design philoshy has been "don't provide the user with too many pointless choices" and Microsoft's has been "allow the user or, more likely, the sysadmin to choose".
By the same token there's no way to do this for the web. (you can override style sheets willy nilly but don't expect a lot of stuff to work).
I suggest you might need to get used to reading text on backgrounds that aren't a "pleasing greenish" color, write all your own software, or learn to live in a world of pain.
Instead of allowing people to set the default edit field background to magenta (which windows does) Apple spent engineering effort on, say, universal access.
And putting in all those little checkboxes makes a product a horrible experience for the rest of the world.
It doesn't have to. The measure of a good product, as far as I'm concerned, is the extent to which it can retain all the power the power-users want, while still keeping things simple enough for the non-power-users. OR, better yet, the extent to which it can help non-power-users become power-users.
Apple has done pretty well here. Their desktop is very opinionated with very few checkboxes anywhere, yet many things can be tweaked at the command line.
That is exactly the problem and what the parent wants to convey. A developer (specially open source) is rarely interested in developing something that is not useful to him.
But hidden options is better than removed options, surely?
You need an easy way to get as close to vanilla as possible, to make support and faultfinding not awful. But you need to provide some kind of hidden method for tweaking to keep power users happy.
"Gnome itself is decidedly uncool. No wonder they don't want to contribute to it."
This is the biggest weakness of FOSS in general. It is true that some people work on the stuff that has to get done or isn't "cool" but contrasted to "cool" parts where folks are available in abundance and it means people burn out and there is no one there so replace them. If there isn't someone out there paying someone else to be in that uncool part of the code, chances are bit rot sets in.
I really did want to like Gnome 3 but just nothing about it made me want to use it over Unity. I'm a fairly new Linux user who has used quite a bit of Unity, Gnome 3 and Gnome 2. Gnome 2 is great, I wouldn't hold onto Gnome 3 just because I want to stay away from Unity. Without add-ons of some kind Gnome 3 was completely unusable for anything I wanted to use it for.
Just as a counterpoint: I'm of exactly the opposite opinion. I just couldn't get used to unity. The full-screen assumptions in early versions were baked too far into the metaphor and I just couldn't get it to do what I wanted. Gnome 3, on the other hand, brought new stuff to the table (like the dynamic desktops) which actually improved my workflow. It wasn't a clean transition, but I actually prefer it now.
Same thing here. Gnome Shell integrates perfectly with my workflow while Unity does not. I would like to leave Gnome 3 for something better, but that thing is definitely not Unity. I really don't understand all the hate about Gnome 3. There is pros and cons like every other window manager. I use it everyday (mainly for coding and system administration) and it's very stable and it got everything I need and well configured by default.
It's odd because after really trying and giving Unity a fair chance, reinstalling some Gnome was truly a breath of fresh air recently ... Also the kids I work with like it better cause apart from the huge strip of icons on the left that always gets in the way, the rest of Unity's features are not very discoverable.
But maybe that's just a problem with Unity, instead of a good thing about Gnome. I'm curious to try out this Cinnamon thing for Mint, what's it based on/looks like?
Interestingly, the direction some GNOME developers want to take is to make it even bigger. E.G. Juan José Sánchez and Xan López's proposal for "More GNOME 3, GNOME targeting new form factors and GNOME as an OS or final product/UX".
I think an indicator of the philosophical problem at gnome is that they pronounce is 'guh-nome'. They take a perfectly serviceable idea, then make it awkward so it can suit some impenetrable ideological concept.
I recently saw a lawyer for gnome speak, and even she had trouble sticking to 'guh-nome'. What hope do those outside the dev community have?
This is really sad if it's true. I'm probably in the minority, but I think GNOME 3 (even without extensions) is the best Linux desktop at the moment. It does seem strange when you look at it at first, but once you use it for a week or so and use anything different (even GNOME 2 which I'd used for years), you feel stifled in a way. It's hard to put into words, it just feels like it's out of your way.
Anecdote: I work at a small actuarial firm that uses Linux desktops, and when I migrated everyone (ten people) over to Ubuntu 12.04, they all loved GNOME 3.
After installing I had to go back to GNOME 2 (on a client - installation problems) and if felt old and boring - like going back to Windows XP (from Windows 7)
I have mac user walking around in the office and asking me what kind of a desktop environment is it, being genuinely (positively) surprised that it is actually GNOME desktop on Linux. Well. And I have other Linux desktop users (like Xfce or something even more 'geeky', even TWM) that are genuinely surprise that I can just plug in another display and have it work without touching the command line (not that I can't use CLI xrandr, but why would I).
I'm curious - did you set up "full" Gnome 3 with Gnome Shell, or is it the default Ubuntu install (with Unity)? If the full thing, what made you pick that over Unity?
I "just" did a default install with the expectation that Unity would drive me crazy and that I'd end up replacing everything, but in the end I found it very suitable for how I work (browser + terminal with tons of tabs maximized; leaving one workspace free for the rare other apps I end up using)
I usually do an "apt-get install gnome" on top of the default Ubuntu desktop. I used to run GNOME shell builds even before it was generally available and got to love it. I'm sure that given time I'd grow to not mind Unity, but for me GNOME feels designed as a more coherent whole than Unity. The vanishing top menu on Unity also sucks, IMO.
I love it, because it feels streamlined and gets out of the way. I don't really care to participate in flames (the sort that Benjamin linked from his blog post), so I'll just voice some support here.
I am with you. Moving back to Gnome2 or XFCE just feels a little odd to me. I constantly find myself pressing the super key to get to the activities overview and then I get a little disappointing when it's not there. There are still a few tweaks I would like to see implemented, but I like it better then every other desktop shell I have seen.
exactly. I really like GNOME 3, apart from a few things I can fix with extensions. It's sad to see it losing momentum.
That said, Cinnamon is a really nice fork of it, that has the features most users are missing, and while it does bring back some of the win98-ess, it's good to see it evolve and become more stable, I'm still undecided between the two and switching back and forth every once in a while.
If you ask me, I think GNOME should drop most of its peripheral software, and stick with just making a really really stable and sleek desktop. Most people don't need email and calendar clients anymore. I just want a simple yet configurable desktop, a great file manager, a good text editor, and a console. The rest should be external IMHO, and the desktop should provide easy integration points.
Ditto, best launcher I've used, love the overview, the workspace switching on only one monitor, it just gets out of the way well and it's freaking pretty.
Heartening to read your comments and others who agree. I find GNOME 3 preferable to Unity. It's the most "Mac-like" of all the Linux desktop environments which is meant as a compliment. I recommend it to everyone also. (vs. Unity)
I really like Gnome 3 too -- I moved from OS X Lion to it, ironically I think because Lion's bugs and annoyances provided that same opportunity to switch that many cite in the Gnome 2/3 transition.
as one of the two people mentioned by name in Benjamin's blog post, I'd like to point out that I didn't "leave GNOME" (to work on other stuff).
I am still involved in the community, I am a director of the foundation's board, and I'm still working on Gnome projects in my spare time - which is actually easier these days since I moved from intel to mozilla.
I'm typing this from GUADEC 2012, in A Coruña; the conference is absolutely delightful, there's a lot of talks about direction and future involvement, and everyone here is really excited about moving Gnome forward, as well as regaining the enthusiasts market.
I'd love to hear how you think you're going to regain the enthusiasts' market. Care to say more? In particular, which enthusiasts? The ones who have already (like me) switched to Xfce? Or some other set of enthusiasts? Defining your market is important; if GNOME is going to continue to have a severe case of Mac-envy, I doubt you'll be able to also get back the enthusiasts --- and I don't think GNOME has enough developers to be able to complete head-to-head with Apple.
"enthusiasts" are not just "computer enthusiasts"; I want to excite users and make them care about Gnome - and I want to get excited, interested users, to contribute back to the community by making it dead easy to do so: create interesting apps, create documentation, create content, organize and attend events. in Gnome we have amazing outreach programs that give us new contributors every year - and most of them stick around, because we're a cool (even if sometimes too much introspective) community, where people care about people first, and software second.
I don't see Gnome as suffering from "Mac-envy" - mostly because everyone envies Apple's profits and margins, if not their user share; I mean, who wouldn't envy Apple. we don't have the resources to do multi-year usability studies involving tons of people; and we still lack the tools like Telemetry to get (consensual) user feedback. so we need to take inspiration in our designs and plans from stuff that others are doing, as well as doing our own thing. I mean, the GNOME 3 shell overview is basically Mission Control from Lion - but we designed it in 2008, well before Lion screenshots were released or leaked to the press; who copied who? ;-)
competing with Apple is also a false goal; we want to keep the keep the users free, as well as providing them tools and an environment that allows them to achieve their goals in a simple and delightful way. that will put us up against Apple, and Microsoft, and Samsung, and basically everyone. it never stopped us for the past 15 years, I don't think it will stop us now.
I'm afraid everything desktop Linux, and by extension Gnome, just lost a lot of momentum by developers moving to Apple + web development. Nowadays most focus on open source front seem to be on lower level projects (languages, libraries, servers). FOSS focused on final-user applications remains a niche for academia and developer-centric tools, little has changed compared to what used to be available in the 2000's.
I've noticed this over the years when reading developer blogs via sites like Planet GNOME.
In the first half of the last decade, there seemed to be highly motivated, talented groups of contributors who helped build and maintain momentum in many popular open source projects like Gnome. I'm not saying there aren't top notch developers still working on FOSS, but many of those big-name 'rockstar' contributors seem to have either been lured to a competing/alternative platform, or just simply lost interest.
I often wonder if age plays an important role, with many former wide-eyed, young, idealistic developers possibly adopting an attitude along the lines of "meh. Maybe I should just buy a Mac and worry less about ideals and philosophies" as they get older and priorities change.
You seem to imagine that all those contributors were once unemployed. That was never the case.
The typical open source developer has always been either (1) gainfully employed at a programming day job, (2) employed to actually build FOSS, or (3) in academia.
There's at least as much open source development going on now as ever before. It's just that the attention has shifted away from desktop apps.
I contribute to GNOME, and that is not "working for free". It means having a fun hobby. If I'd get money for it, it would no longer be a hobby, but work. I did hear some people say that their hobby is the same as their work. IMO, work is more restricted (try doing nothing at all for 3 months with your hobby, then repeat for your work).
Guilty of that here. There isn't much incentive really, other than perhaps getting Xmonad running, and it'll end up with some stuff breaking. I've got a nice bash shell, steam works and I can play portal, and it's good enough.
One more anecdote for you... I'd been a content (if not exactly thrilled) user of Gnome for a decade or so. Then, I bought a new laptop, which prompted me to install Fedora 15, which was my first exposure to Gnome3, as my old laptop was running a really old Fedora version which had Gnome2.
So... after 2-3 hours of Gnome3, I had had more than enough to prompt me to bite the bullet and switch to KDE. There is nothing good I can say about Gnome3... trying to use it was painful in about every way I could imagine. Nothing works the way I expect, and nothing was intuitive at all.
KDE, on the other hand, has been a pleasant surprise. I'd dabbled with it 10+ years ago, but never made the permanent switch... and given that they had gone through their own "change everything and piss off all the users" thing a while back, I wasn't sure what to expect. But after using it a couple of days, I couldn't be happier. It took a few minutes to figure out some of the new approaches they've adopted but - by and large - a little trail and error, some exploration, and intuition, and I was back to productive work almost immediately.
I have no hard feelings towards the Gnome team or anything, but they're just trying to go in a direction that I'm not interested in. Best of luck to Gnome, but KDE is a clearly superior choice for me right now, and I'm thrilled to have made the switch.
I had a similar experience, where I found that none of my computers, neither my six year old laptop, nor my one year old laptop (!) could support GNOME 3, which has essentially prevented me from upgrading my fedora from 14. Since Fedora is currently on version 17, this makes me sad, and ruminating about which OS to jump ship to.
While Gnome 2 was gradually approaching ultimate goodness with its essential configurability (not too many knobs but an explicit set of gconf properties that you could tune if you wanted to), consistency, ease of use, and ten years of GTK2 providing a platform for applications that look and behave uniformly, it was certainly lacking in the integration side (networking, messaging, etc.) for which Gnome 3 is a response.
However, Gnome 3 broke so many little things that it doesn't matter what the new features do. This is one of the cases where Microsoft has been right: when you're big enough, don't muck with backwards-compatibility.
Gnome 2 was continuing to slavishly emulate Windows 98, right down to the opaque registry. But I guess that's what more users wanted, so Linux is doomed to stay the same forever as everything else innovates and overtakes it.
I want my desktop to look like, but not be Windows 98. I don't like the MS registry, or anything else MS for that matter, Debian With a desktop environment that enforces the desktop metaphor is a sensible alternative...
It would not be that easy to write a long email, let alone an article on a tablet or tablet-like computer interface.
The key problem with Gnome 3 is that it wants to be both general-purpose and opinionated.
Gnome 2 was an excellent basis for a desktop because there were so many ways it could be used. It didn't limit you; you were free to trim out things you didn't want, or add things you wanted. Aside from that, it got out of the way.
Gnome 3 aims for the same demographic, but tries to force too many opinionated decisions on its users from the start. Distros that care about branding hate that because it makes it hard for them to differentiate (see Ubuntu). Many users hate that because it's too many things that they can't change without learning a new Javascript platform. It's certainly fair to say that typical Linux users (their target market, whether they like it or not) aren't used to that.
This post is wrong to blame tablets and smartphones for the decline. Linux users aren't abandoning desktops; they're abandoning Gnome 3, because it isn't giving them what they want. It's that simple.
I'm fascinated that all the real innovation going on in desktop environments (gnome3, unity, windows 8) seems to be taking a hammering. This is possibly just a case of the vocal minority and normal resistance to change but it will be interesting to see it all shake out in a year or two.
In my view Gnome should try to emulate the android model. Build the whole stack up to the widget level (they are really good at this) and then publish a couple of apps and an app store.
> I'm fascinated that all the real innovation going on in desktop environments (gnome3, unity, windows 8) seems to be taking a hammering.
Envy-driven development is not a good model. Desktop environments do not need tablet features in the first place...
> This is possibly just a case of the vocal minority and normal resistance to change but it will be interesting to see it all shake out in a year or two.
Or the opposite can be true - a powerful minority (project/company leaders), envious of other companies' success on tablets, decided to spend a lot of resources to try to enter this space, to the detriment of the majority of their (desktop) users.
All projects and companies need a vision and clearly for a lot of designers, developers and product managers this vision is more integrated simpler to use, touch enabled devices. Part my comment was to say it is not yet clear that this is the right long term solution but its not like there are any compelling alternatives.
Microsoft is not entering the space because of envy(?!?) they are entering it because that is where they see the future of computing.
This would have worried me back when Unity was crap a year or so ago. Now Unity is actually good, it doesn't matter if Gnome dies a slow death; we'll still have multiple good alternatives that are still being enhanced.
Unity is still crap. It might be suitable for a tablet or a phone, but it'll never fly on the desktop, for any but a tiny subset of users. In case you haven't noticed, most people hate it, and are delaying upgrades, installing Gnome or switching to Mint in droves.
One important function of the Start menu is discoverability of apps. If I want to see what junk I have installed, I can look through the menus to see what I have. With Unity you have to bring up the whatever and try typing search terms. If you don't know what you're searching for, it can be difficult -- and lots of times, you don't know the name of the application, because they have clever branded marketing names (Evolution, Firefox, GIMP, Inkscape, Shotwell, Chromium, etc.) which don't have their primary function ("image," "photo," "web," "email") as a substring.
Discoverability is particularly important for "control panel" type system administration applets, which are often vital to making your system function acceptably, and whose name, number, hierarchy, and division of functionality seem to mutate with every release.
Also, there are switching costs. The Unity interface is so foreign, I'd need several days -- possibly weeks -- to get as proficient with Unity as I am with Windows, Gnome 2 or Cinnamon. That's definitely a cost in time and frustration, and the benefits aren't clear.
Some features -- like the Mac-like "there's only one instance of each application" -- seem designed to cater to n00bs who need hand-holding because they don't understand the concept of multiple application instances, or the difference between launching an application and switching to an instance of that application.
I want multiple instances of certain applications -- terminals particularly -- and it's a major pain point with Unity. So not only do I have reduced productivity during the transition period, it seems like Unity is actually going to decrease my productivity once I do learn it, due to lack or hiding of core features.
Add to that the fact that Unity would crash regularly within the first hour of use when 11.10, the first Unity-only version of Ubuntu, was released.
I gave it a fair shot on two or three different occasions -- I think once when it was still called Ubuntu Netbook Remix, again when the beta was released, and finally with the official release of 11.10. (And a few incidental times when I've booted the Ubuntu CD for various reasons.)
In each case, within an hour of use I've concluded that Unity is a nightmare.
A number of my coworkers use Unity, and I do too. We're all programmers. Other than it being frustratingly buggy and with a klunky visual design, the general consensus is "meh, went better than I expected".
Granted, programmers have a simple workload: web browser, text editor, terminal, done.
One thing I like about Unity is how keyboard driven it can be: the application search is not too bad, and the "HUD" feature actually seems appealing except that it stole my right-hand-alt, which I use as an emacs's "meta" key. But other than that, I played with it a bit and thought it was a great way to get away from the hierarchical pull-down menu, which I loathe.
"One important function of the Start menu is discoverability of apps."
This. It's the one reason I can't stand Unity. I can never find anything. I can never know what controls I can tweak. I don't even know where to look. I end up poking around in the shell or apt to find out what actual programs are available.
Why should I be forced to reach for the keyboard just to load a program? This isn't a C64. It's as backwards as Apple's move away from directories.
> Unity is still crap. It might be suitable for a tablet or a phone, but it'll never fly on the desktop, for any but a tiny subset of users. In case you haven't noticed, most people hate it, and are delaying upgrades, installing Gnome or switching to Mint in droves.
It works well on my laptop. Most people don't hate it. Those who tried earlier versions of it and hated it then (myself included) are pleasantly
surprised when they give it another look.
> One important function of the Start menu is discoverability of apps. If I want to see what junk I have installed, I can look through the menus to see what I have. With Unity you have to bring up the whatever and try typing search terms. If you don't know what you're searching for, it can be difficult -- and lots of times, you don't know the name of the application, because they have clever branded marketing names (Evolution, Firefox, GIMP, Inkscape, Shotwell, Chromium, etc.) which don't have their primary function ("image," "photo," "web," "email") as a substring.
This is hideously out of date. If I hit the windows key and type "image", then "gimp" and "inkscape" are in the list of choices. If I type "photo" I get "shotwell", "gimp" and "cheese". If I type "web", I get "firefox", "opera" and "chrome. "email" gives me "thunderbird".
> Also, there are switching costs. The Unity interface is so foreign, I'd need several days -- possibly weeks -- to get as proficient with Unity as I am with Windows, Gnome 2 or Cinnamon. That's definitely a cost in time and frustration, and the benefits aren't clear.
This is an argument against "change", not an argument against "unity".
> Some features -- like the Mac-like "there's only one instance of each application" -- seem designed to cater to n00bs who need hand-holding because they don't understand the concept of multiple application instances, or the difference between launching an application and switching to an instance of that application. I want multiple instances of certain applications -- terminals particularly -- and it's a major pain point with Unity. So not only do I have reduced productivity during the transition period, it seems like Unity is actually going to decrease my productivity once I do learn it, due to lack or hiding of core features.
It takes hardly any time to get used to this change. Personally, my web browser, email client, terminal and text editor all support tabs, so I us
ually only have one window per app anyway.
> Add to that the fact that Unity would crash regularly within the first hour of use when 11.10, the first Unity-only version of Ubuntu, was released.
I'm not interested in older versions of Unity. I already said they were crap.
> I gave it a fair shot on two or three different occasions -- I think once when it was still called Ubuntu Netbook Remix, again when the beta was released, and finally with the official release of 11.10. (And a few incidental times when I've booted the Ubuntu CD for various reasons.)
> In each case, within an hour of use I've concluded that Unity is a nightmare.
So you're qualified to state that Unity was a nightmare. Not that Unity is a nightmare.
> Most people don't hate it. Those who tried earlier versions of it and hated it then (myself included) are pleasantly surprised when they give it another look.
I don't understand this, because I have used it off and on from the beginning and it really looks completely the same to me.
Bring up the Unity dash, go to the apps section (icon with ruler/pen), click "See X more results" in the Installed section. You can filter these results on category. Not perfect, but workable.
To get a second instance of the terminal, right click the launcher icon and select "New terminal". Or middle click the launcher icon. Or press ctrl+alt+t.
How can you say that Unity is still crap, if you haven't tried it in 12.04?
Unity shares a lot of core infrastructure with Gnome. If Gnome has problems, Unity+Ubuntu will have problems as well. And Unity has the same bus factor and even less community developers or developers from other companies: if Canonical is hit by a bus (which is not entirely unlikely if it doesn't become profitable) the project is doomed.
The lion's share of complaints about Unity and Gnome have always been from users staring at pixels, not complaints about the underlying libraries. Even this post is about manpower, not the libraries being unusable.
Note that Unity 2D is based on Qt and also works pretty well these days. It seems that they have spread the risks somewhat.
I do thing the general developments in the ecosystem are somewhat worrying. Nokia's involvement in Qt is becoming more clouded, and everyone is distracted by tablets and smartphones (and naturally, the money streams go into those directions).
That said, that's also an opportunity for more consolidation, so if Canonical play their cards right, the open source desktop may become more single minded and effective.
When Unity 2D will not be available, does it mean that Ubuntu will NOT run as a VirtualBox guest? I recently switched from Ubuntu 10.04 to 12.04 in VirtualBox - mostly for development. I start to like Unity. But Ubuntu 12.04 is much slower than 10.04, in terms of GUI and responsiveness.
What I find interesting in this article is the following:
"[...] For those not familiar with the open-source LLVMpipe driver to begin with, read my original article on LLVMpipe from last year. Its performance has improved in the two or so years I have been closely monitoring this unique driver and fairs better with newer CPUs. [...]"
"[...] This testing was being done with the un-accelerated Cirrus X.Org driver (xf86-video-cirrus) in the KVM/QEMU guest from an Ubuntu 11.10 host. When allowing the Fedora Rawhide guest to only access one CPU core and 1GB of system memory, the performance of GNOME Shell over LLVMpipe was choppy and not as fluid as the GNOME3 panel fall-back or obviously when taking advantage of GPU hardware acceleration on bare metal. When allowing the virtual machine to take advantage of two CPU cores, the experience was much better, with still only 1GB of RAM. Red Hat has reported that using SPICE also improves the experience for GNOME Shell on this Gallium3D-based software driver. [...]"
Nahh,
Evolution is not the default client anymore (sadly, i prefer it to thunderbird) and Unity is built on top of compiz, where gnome-shell uses mutter. :(
I think it's the other way around--it's a shame Gnome chose to built yet-another-window-manager instead of building upon the solid and tested Compiz. Very NIH-y of them.
(Though Compiz most certainly has been on a measurable decline since the Natty days. The same laptop ran Natty without a hiccup, but it runs Gnome Classic on Precise with at least one Compiz crash every few hours. Not to mention the many bugs introduced into plugins since Natty--window previews and wobbly windows, I'm looking at you.)
No. Mutter is not "yet-another-window-manager". It's an evolution of the Metacity code base (Mutter = Metacity + Clutter). So the Gnome developers basically continued using their window manager instead of hopping to yet-another-window-manager.
Although Compiz is very, very customizable and hasn't changed all that much in years, so one would think it would appeal to all the people who are screaming about losing customizability and having everything change underneath them.
Personally, I've worked out I spend little time actually using the overall desktop GUI, so I'm not too sensitive to changes in UI logic. Typical end user I suppose.
I suspect the change to systemd will cause rather more fur to fly than the GUI in Enterprise circles.
I hope the author of the original article gets a bit of support and finds a direction for his labours.
Damn, I knew Gnome was doing badly, but din't know it was this bad! :|
I personally am a fan of Gnome, and hope that they become relevent again. Unity is too fancy for my linking, and Unity 2D, which seems an option, is now deprecated! :|
Two words: Linux Mint (an Ubuntu derivative) with Cinnamon.
Basically Linux Mint is the distro for people who used to like Ubuntu, but don't want unfamiliar postmodern GUI metaphors in Unity or Gnome 3 shoved down their throats.
I don't want XFCE to transition to GTK+3. As near as I can tell it's a nightmare, since it's so tightly tied to GNOME (fair enough, but I switched to Xfce to escape the tyranny of the GNOME UI designers).
Just to chip in on the tiling window managers: i3[1] is a really nice one which doesn't need a lot of configuration. Since switching from Window Maker, which I had been using for 10+ years, it has been the only window manager that didn't make me switch back.
(I tried out Xmonad, Awesome, Stumpwm and some other window managers over the years. Awesome was pretty close to awesome.)
i3 has a couple of issues I like to see resolved but all-in-all I'm very happy with it.
Try scrotwm[1] - it's an xmonad workalike, but it's written in C instead of Haskell (not so important to me), and it has a config file instead of ... Haskell (quite a bit more important to me).
Regarding XFCE, I don't think Linus cares about slick if he would have been happy with a Gnome2 fork. As for bugs, I have encountered only one tiny bug.
meh, other than bus factor this seems overblown to me. I use Gnome3 on Fedora and it is great. It takes advantage of Fitts law and there is just less fuck-around-ability with it. (I thought even the Alt-to-PowerOff controversy was overblown; I suspend far more often then I shut down, this is a welcome simplification) If anything I felt Gnome3 had ushered in a renaissance in Gnome. What "new" goals does Gnome have to have other than creating a great desktop?
Please don't drive more developers away with more gratuitous Hacker News "X-is-dying" bitching.
by the way, I think if Gnome had "done nothing" by continuing to incrementally develop Gnome2 instead of doing something entirely new with Gnome3 the same argument would be trooped out: "Look, Gnome isn't innovating, it doesn't have vision, it's just a Windows clone, blah blah blah"
I use Gtk on a daily basis while working to the elementary os. I just love their Vala language,it gives me the ease of c# and speed of C. But the thing is there is not much documentation present. The irc channel feels slow. I encountered a bug in Vte about a week ago about transparency and no one is able to help.
This as a dev discourages me. I use Vala and Gtk solely because the elementary team uses it. Gnome becoming uncool has started a vicious circle which will lead to its death.
to understand the sickness of Gnome you've got to go way way back to the beginning...
I remember when KDE first came out -- I heard the first press releases and thought they were on drugs, but when I downloaded and built, I was like "wow! this is so close to being a commercial desktop"
Now, in 2012, we have KDE and Gnome and a few off-brand desktops and it's still like "this is so close to being a commercial desktop" -- but there isn't any Wow anymore.
Red Hat didn't like the license of the QT toolkit, so they had to go out and build their own desktop, which was probably the most disasterous decision in the history of Linux -- it's like Windows Vista without Windows 7.
For a long term all of the major linux distros have been wasting time and resources trying to make linux something nobody cares about. There's an obsession, for instance, about office suites that are so bad they make Microsoft Office look like a paragon of reliability and ease-of-use.
On the other hand, there's been a complete disregard for the people who ~really~ use Linux such as sysadmins and developers.
I've recently set up two laptops that run Windows as a host and Ubuntu linux inside Virtualbox. I use "putty" as my *term program and Cygwin/X to run the occasional GUI app I need from Linux. It's a sign of what a disgrace the Linux desktop is that putty has the same ease-of-use and reliability that xterm had 15 years ago, whereas the "terminal" program that Ubuntu tries to push on you is a bloated disaster in which cut-and-paste is as miserable as it was in Win 3.1.
GTK predates gnome and RedHat, but was (at the start) really just a code layer in the GIMP.
Gnome was a response to KDE, and explicitly aimed to produce a KDE-quality Free desktop environment. If they were intellectually honest they'd have abandoned/merged the project when Qt was relicensed.
Since no one mentioned Cinnamon (LinuxMint) let me add that to the discussion.
I've been using it exclusively for months and I feel that it is doing what Gnome3 wanted to achieve. It is simple, intuitive and rock-solid. Never froze or crashed and diagnostic tools are great.
LinuxMint is the old Ubuntu which you used to recommend to your friends and family.
I've always wondered why the platform Blender uses hasn't turned into a generic UI toolkit or even window manager. Granted, Blender itself is rather overwhelming at first glance, but you only have to spend a few minutes with it to fall in love with the snappiness and adaptivity of the interface.
In my opinion Gnome needs a completely new start, from the ground up.
1. When I last used GTK (about 2 years ago) it felt too big, old and bloated. If GTK were simplified and followed Qt's lead into scripting and easier interfaces (eg. Qt Quick), plus a MIT or LGPL license, this would encourage a new culture of apps.
2. I hated Gnome 3 and Unity for that matter. Gnome 4 needs to take a step back and get out of the way. You don't use the computer just for Gnome, but you use Gnome as a stepping stone. All common apps should be one click away and everything should be as customizable and flexible as possible.
As kljin said, some Gnome apps are redundant and the workforce could do a much better job focusing on the core issues, that could bring more people back to Gnome and hence possibly continue these projects again in the future.
> Sorry to snip mid-sentence, but this is an important point: We're not aiming
> for "powerfully extensible". We're aiming for "Just Works". Some people will
> hate that. Some will love it. Personally, I'd rather have passionate users,
> lovers and haters, than be than average and ignored, and I think you'll find
> most GNOME developers feel the same way.
So they made their choice, ignoring most of their own base were against it. Guess what? they lost users left and right.
They had a sweet spot in Gnome 2 and a strong user base. They thought they could somehow get Windows and Mac users, but that wasn't just happening. At least not at that particular moment in history.
So that was their decision and they didn't backtrack despite all the warnings (plenty during the last 7 years). Stubbornness gets you to obsolescence.
I don't want to bash Gnome. I have Debian testing (Wheezy), and I did try Gnome 3. It's steadily improving, though I still have issues with it. I try it every now and then - but I'm retreating to XFCE for the time being.
Gnome feels un-unified. I guess this has always been the way under Linux, what with QT, GTK and other toolkits, but when one app is slightly at odds with the rest of the Desktop - it feels, odd.
Example being non GTK3 apps, like LibreOffice (though someone here suggests that that is being rectified.) Even VLC, Opera, Firefox and Chrome feel a little out of place. Each behaves differently. You can't quit VLC with CTRL+W for example. Each are designed on different toolkits. Menus are inconsistant. Tabbing behaves differently in each app (can't we relegate this to the Window Manager or Desktop?) Keyboard shortcut unification doesn't exist. These are the edges I'd like to see addressed across the Linux desktop as a user.
Perhaps unification is a lofty target. And we should just be happy with the fragmented cottage patchwork.
I don't even know the difference between GTK, GTK2 and GTK3 and QT! My desktop is such a pain to theme it's a nightmare, I certainly notice that. What's new in layman's terms in GTK3?
As for some core apps, Evolution looked promising. But even that feels a little rough around the edges (I can crash it quite easily.) Thunderbird doesn't integrate with Gnome brilliantly. One flagship email client would be nice.
Focus on the core, the desktop design guidelines and some intrinisically needed apps. Most desktops on Linux seem to suffer in much the same way. Unity still appears ad-hoc.
I guess a good aspiration would be to make it as simple as possible for people to create applications as well as use them under Gnome.
Could there be some kind of CSSification of an app's controls? Present them as interfaces that could be styled differently according to the platform you are on. Leaving Window Managers to take on the role of innovative desktops. Perhaps apps are designed like this already? At least it would be easier to port an application across different form factors.
All great, except a large portion of apps are still Gtk2 based, which means any potential theme developer needs to make his theme at least somewhat compatible with Gtk2 so there's a consistent desktop.
What should have been done, is the CSS in Gtk3 should've been designed with backward compatibility in mind, and the tooling to automate the creation of a Gtk2 theme based on a Gtk3 stylesheet.
As it is, they can't even move from 3.0 to 3.2 without breaking themes. I've no idea what the situation was for 3.4 or later, but I imagine much of the same.
Also, theming is missing a usable distribution and installation model. Currently, users are expected to simply extract an archive into a specific directory and follow any instructions that come with the theme - some include shell scripts. This is hardly "user friendly," like they claim they're attempting to make Gnome.
I like Gnome 3 in that it made me explore other WM/DE options and think more about what I wanted.
I found Awesome, and though there are some things I don't like about it (or namely, some programs that don't work nicely in a tiling environment), every time I try to use another WM or a DE, I miss the speed and keyboard accessibility of Awesome. It's a blast to use.
I installed KDE for my wife to use. It takes KDE an order of magnitude longer to start than Awesome, for all those services and stuff that it's running--you know, all that stuff I'm probably not even using.
A lot of people are mentioning a lot of distos are moving away from gnome. Infact they are moving away from gnome shell, not gnome. If gnome has problems, we all have problems.
GNOME is not necessary anymore. It was in the past, not today.
We have Qt that really works, much much better, and with LGPL license.
You can run stellarium, VLC or Marble in Mac or Windows without problems.
If you try to use gimp or inkscape in mac it opens x11, copy and paste does not work(in inkscape it copies pixmaps instead of vectors!!), what a botched job.
In windows you will have a lot of problems too.
GTK support for OpenGL, OpenCL was terrible, having to low code everything, while in Qt works as well as with cocoa.
Your comment seems to be talking about GTK (the user interface library, which like Qt, is also LGPL licensed), while the original post is about the GNOME desktop environment. Since the latter does not run in Windows or OS X, your comment is sort of off-topic.
> GTK support for OpenGL, OpenCL was terrible, having to low code everything, while in Qt works as well as with cocoa.
OpenGL support sucks in GTK and QT equally. Especially if you want a more recent version of GL.
OpenCL does not depend on your widget toolkit in any way.
> Let GTK die and improve(or fork) Qt.
Qt is not really as great as you seem to suggest. It's a bloated "batteries included" framework that has everything from it's own string type to wrappers for things like threads and sockets. GTK is a widget library that is a lot leaner and meaner in comparison.
These massive platforms that try to wrap everything in the underlying operating systems to a common API use only the least common denominator of the systems that it runs on. The easy 80% works quite well but things tend to fail miserably when you enter the 20% realm. Things like memory mapped files or asynchronous socket i/o tend to be missing from these wrapper platforms.
And Qt is still using an old non-standard conforming version of C++ to achieve portability to things like Symbian. And their own C++ extensions that require you to use their build system and pre-processing tools. So you can't really use Qt without going all the way to Qt land.
Probably worth adding that Qt being C++ is itself a problem - as it makes it inaccessible to the majority of programmers, due to the lack of ABI compatibility with C++ and any other languages. Gtk+ on the other hand, is almost universally accessible, because any language worth using can bind C APIs.
Of course, the downside here is that all the Gtk+ bindings to other languages are based on the Gtk+2 API. Gtk+3 hasn't gained much popular support.
> Probably worth adding that Qt being C++ is itself a problem
Yep. C++ is what I call a "dead end" language. If you write your code in C++, it will be only usable from C++. If you want to use it from Python, Ruby or whatever, you'll need a C shim in between. If it were written in C, you could use ctypes and other similar means to do FFI quickly.
Unfortunately, most languages other than C are more or less a dead end.
Well that is arguable. If you stay within JVM, you can use your Java code from other languages like Clojure and Scala. To some extent you can use Scala and Clojure code from Java. But you can't really use Java code from Python or Ruby unless you work with Jython or JRuby.
So, I'd put Java in the "dead end language" bin. You can use C code from Java (via JNI) but it's not practical to do it the other way.
I'm aware of that. But it's essentially a shim layer, albeit one that is semi-automatically generated. The preferred way of doing Python FFI is to use ctypes inside Python, not write (or generate) C or C++ code that works as the shim.
That's the way many languages prefer to do their FFI, write "foreign" declarations in the language itself, not in C++ land. E.g. in Haskell, you can call C with very little effort. When dealing with C++ you have to get along with ABI issues and things get a lot harder.
If writing language bindings for Qt based C++ apis is harder than writing language bindings for GTK C based apis, how come there are at least as many high quality language bindings for Qt as there are for GTK?
Just because an api is C based doesn't make language bindings 'happen automagically', otherwise Gnome wouldn't need the GObject Introspection project. KDE has a similar project called 'Smoke' and some language bindings based on that.
There are different technical challenges to writing bindings for a C++ based api as opposed to a C based api, but it is just not true to say that one is better than another in my opinion. This is based on my experience doing a lot of work on Qt C++ language bindings, and a project using GObject Introspection.
If the existence of both GNOME and KDE has held back developers who are reluctant to halve their user community or double their coding efforts, then the collapse of GNOME may be a good thing.
This is fallout of a battle-by-proxy between Red Hat (Gnome's de facto sponsor) and Canonical (Unity's sponsor) for the future of Desktop Linux. Canonical seems to be winning.
At some point people will realize that smart phones are great for communication but the desktop and mainframes will continue to be how people get real computing work done and games.
2. If Gnome really wants to win back the hearts of potential contributors (i.e. power users), they'd better make programs that appeal to that demographic. People who have the skill and motivation to make significant contributions to a free software project often want a lot of room for configuration, including the option to use the desktop in a traditional manner. Taking away those little checkboxes and toolbar buttons is like slamming the door on power users. You might win a billion non-technical users, but none of them will ever submit a single patch.
3. Gnome is too big for its own good. Why does a desktop environment project need to maintain a complete stack of apps and libraries, from GTK to Gnome Shell to a text editor to a bundle of games to a web browser to an email client to a media player to a full-blown spreadsheet app? Why can't they just tell people to get a third-party browser? They should spin off the rest and focus on GTK, the Shell, and a small number of essential utilities. If Epiphany or Gnumeric died a slow and lonely death, how many people would really care? Heck, if you don't have the manpower to maintain anything else, just give me GTK so I can install xfce or lxde on top of it. It's really just Firefox and LibreOffice and VLC that I want, and I don't need Gnome to run them.
Edit: some rephrasing.