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