Hacker News new | ask | show | jobs
by kijin 5069 days ago
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.

Edit: some rephrasing.

8 comments

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 isn't true for everyone. I like making nice things. That's the "itch" that I'm scratching, not a hole in my life that I'm trying to fill.
Your comment would carry more weight if I knew what projects you recently contributed to.
If this is the attitude of all community developers then free software UI will never become successful.
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 think it's partly a structural problem.

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.

It might not be successful in a Apple way, but I'd be willing to sacrifice that to get more projects that are successful in emacs way.
How do you measure the success of it?
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

Isn't Unity currently built on top of Gnome 3?
No, it is not.
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.

I think Unity depends on a fair amount of gnome 3 libraries, at least in 12.04
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.

This is false. Unity is an alternative to Gnome-shell; it uses (sometimes patched versions of) the same underlying Gnome 3 libraries.
Or it's true. GNOME doesn't present itself as a set of libraries, it presents itself as a desktop shell and set of applications.

http://www.gnome.org/gnome-3/

It used to be "by hackers for hackers". Now it's "by enthusiasts for hypothetical everyday users".

Personally, I moved away from gnome when 2.4 (or maybe it was 2.6) took out the "launch a terminal" option from the desktop right-click menu.

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.
I would like to posit that the vast majority successful open-source projects are successful precisely because the developers are avid users.

Motivation goes beyond money.

I never understand this.

Why is sane defaults and hidden options a lousy user experience?

Sane defaults is fine. Hidden options limits its capabilities which are sometimes essential.
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?

Cinnamon is, as far as I know, a fork of Gnome. I have it installed - prefer it to unity so far.
"Gnome is too big for its own good."

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".

http://blogs.gnome.org/otte/2012/07/27/staring-into-the-abys...

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?

>Popular distros like Ubuntu and Mint have shifted away from it.

This is news to me since my colleague, running Ubuntu 12.04 is using Gnome/Unity. Did I miss a memo?

Unity completely replaces the Gnome shell.

According the Gnome people, you're no longer using Gnome if you're not using the Gnome shell. Whether that's true is open to interpretation.

That makes sense then - I wasn't aware of the fact that Gnome Shell and Unity were distinct. Thanks for the memo!

  Popular distros like Ubuntu and Mint have shifted away from it 
What do they use instead? Just gnome 2.x?
God lord people, I was not being snarky. It was an honest question.
Ubuntu: Unity

Mint: KDE, Xfce, MATE, or Maya [1]

1. http://blog.linuxmint.com/?p=2031

i3 or xmonad :p