Linked by Allen Boyles on Mon 7th Nov 2011 09:46 UTC
Graphics, User Interfaces In the commercial software world, user interfaces are generally designed by one group. Like Microsoft for Windows or Apple for Mac OS. Those desktop environments were designed by one company who did things like user testing and statistical analysis to try and make the desktop they thought would work best. Linux is different. Large groups definitely DO perform user testing and statistical analysis, but one group can also say "Here's what we want" and, if they have the ability to code it, their idea comes into being. It's pretty amazing, when you think about it. Linux lets people create what they want. If you don't like what's out there, fork it! Or start from scratch! You're in control!
Thread beginning with comment 496272
To read all comments associated with this story, please click here.
This is not an either/or
by WorknMan on Mon 7th Nov 2011 10:02 UTC
WorknMan
Member since:
2005-11-13

When it comes to simplicity vs customization, you really don't have to choose between the two. It's like the debate on whether hardware devices should be locked down to prevent users from hurting themselves, or wide open so that users can do anything they want with it. The trick is to ship with the device locked down, and add somewhere an option to unlock it, but make it JUST hard enough to find so that anyone who wasn't looking for it would not unintentionally unlock on accident.

I think of customizations the same way - set up the defaults to be 'idiot proof' to make the most users happy out of the box, and set customization options just enough out of reach so that nobody who wasn't looking for them would ever find them. This way, tech tards don't get confused and power users don't feel hindered by somebody else's design choices. Granted, maybe this won't work well in EVERY SINGLE CASE, but I think is is a good, general guideline to follow. Personally, I'm tired of using apps that were designed with my grandma in mind, that give me no control whatsoever over the user experience.

Oh, and if you're going to put the configurations in an ini file or 'about:config' screen, PLEASE take the time to document the f**king things, ok? There's nothing more frustrating than having 5,000 different options and barely an idea about what each one of them does beyond a brief description that may or may not provide sufficient information.

Reply Score: 15

RE: This is not an either/or
by JoshB on Mon 7th Nov 2011 14:07 in reply to "This is not an either/or"
JoshB Member since:
2009-07-15


I think of customizations the same way - set up the defaults to be 'idiot proof' to make the most users happy out of the box, and set customization options just enough out of reach so that nobody who wasn't looking for them would ever find them. This way, tech tards don't get confused and power users don't feel hindered by somebody else's design choices. Granted, maybe this won't work well in EVERY SINGLE CASE, but I think is is a good, general guideline to follow. Personally, I'm tired of using apps that were designed with my grandma in mind, that give me no control whatsoever over the user experience.


I absolutely agree with you, and even wrote a section in the article originally stating that this is how I thought it should be, but took it out because, even though that's how I think it should be, I really don't see many DEs like that. XFCE is probably closest, in my opinion, but still not quite there. You make a really good point, and I'm glad someone brought it up.

Reply Parent Score: 1

RE: This is not an either/or
by galvanash on Mon 7th Nov 2011 18:39 in reply to "This is not an either/or"
galvanash Member since:
2006-01-25

I completely agree with everything you said here, but that isn't the big picture...

It isn't _just_ a lack of customization that is rubbing some people the wrong way. It is that the nature of many of the abstractions are changing. It is happening slowly to be sure, but it is happening. Menus are being systematically eliminated - hierarchical organization is being eliminated - these are being replaced by more dynamic methods of organizing things that are not exposed by the UI in the same ways - and the most efficient methods of doing these things under the hood will eventually change along with it.

If you look at how things have changed in Gnome 3 for example, it is obvious (at least to me) that there will be a point (that isn't far off) where recreating the look and feel of a Gnome 2 desktop will simply not be possible - or if it is it will be dramatically less efficient because the information to do so in a familiar way will become harder and harder to squeeze out of the system.

Abstractions change. Some people don't like it. You can't always customize your way out of it. I'm not taking a side here, I'm just saying that pervasive customization is not the solution to the problem - the problem is really about the abstractions themselves.

Reply Parent Score: 3

RE: This is not an either/or
by senshikaze on Mon 7th Nov 2011 20:14 in reply to "This is not an either/or"
senshikaze Member since:
2011-03-08

The biggest problem I have with that is that every added option is added complexity. For the user, for an admin, and for the developer. Every small option requires lots of testing in any non-trivial application. I actually prefer the theory of super simple, to the point of elegant, by default, with a basic (or even advanced) plugin API. That seems to be the best way to get around all of the little things everyone finds issue with in anything a developer does.

Reply Parent Score: 1

WorknMan Member since:
2005-11-13

The biggest problem I have with that is that every added option is added complexity. For the user, for an admin, and for the developer. Every small option requires lots of testing in any non-trivial application. I actually prefer the theory of super simple, to the point of elegant, by default, with a basic (or even advanced) plugin API. That seems to be the best way to get around all of the little things everyone finds issue with in anything a developer does.


The problem with 'elegant' is that there really is no such thing, because your idea of elegant is somebody else's idea of ass-backwards thinking. The best you can hope for is a set of defaults that will piss off the least amount of people.

As for built-in features vs plugins, I'm not really sure how offering plugin support makes things any easier, for either the developer OR the user. For the developer, instead of having to do a bunch of testing on built-in features every time you change something, now you've got to test a bunch of plugin APIs. And it's even worse for users, because now instead of having to bring up a dialog box or a config file to change option, they must go searching for a plugin to do their bidding, who's code may or may not be thoroughly tested, and the plugin may or may not work when a new version of the app comes out.

Reply Parent Score: 5

Neolander Member since:
2010-03-08

The choice between "customizable" and "not customizable" is not a binary one, though. Even Gnome 3 and iOS have a settings panel, and even e17 and fvwm put limits on the amount of tweaking that they allow.

IMO, the solution is that when developers want to introduce options in their software, like for any other feature, they must answer the question : "Will a significant portion of my user base use this ?". Then they should perform telemetry on installed software to see if users actually use the feature after all.

It is sometimes straightforward to answer the question. Everything which is highly dependent on taste, like theming and notification sounds, should be customizable. At other times, it's more difficult to find an answer. But I think it's part of the software design homework.

Edited 2011-11-08 07:31 UTC

Reply Parent Score: 1