How Configurable Should a Desktop User Interface be?
The Original Yama writes "In the world of user interface design there are two main schools of thought. The former maintains that the environment must be flexible and configurable enough to adjust to a user's needs. The latter takes the opposite perspective, arguing that many of today's user interfaces have become bloated and overloaded with features, and consequently have become difficult to maintain and use. KDE developer Mosfet shows how the KDE Project has managed to bridge the gap between the 'highly configurable' and 'less is more' camps."
get the look right the first time
Sure it has a few flaws, but after trying different skins with OS X, i kept coming back to Aqua.
"I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
The primary goal all OS vendors, should be to make a quick and responsive interface that is easy enough for anyone to get what they need done (No I do not need my desktop background to be an active web page).
There is no shortage of 3rd party utilities to modify a your desktop to your liking. Keep everything modular and people can add what they need when they need it.
"today's user interfaces have become bloated and overloaded with features"
Did the phrase "OS X" pop into anyone's head when they read that line? I sincerely hope that we've reached a turning point in UIs, and that people start thinking about efficiency and speed instead of bouncing transparent smoothed faded noisy two-toned etc. etc. junk.
(disclaimer: I'm not a Linux user at all, but neither am I a Windows fanboy, so this is totally an outsider's perspective)
I disagree. I think one of Linux' weak points is that it doesn't offer any real *alternative* when it comes to the GUI.
I think Linux needs some sort of wildly different GUI, perhaps not even based on the WIMP metaphore. Those people who are trying to make their GUIs exactly like Windows are missing the point: Why bother changing if you're getting exactly the same thing?
As for the question at hand: I think configuration options should really be limited to colours and fonts. Once you start doing things like rearranging buttons, or changing their glyphs, then the learning curve starts to get steeper for new users.
Mabster
Take a typical install program for Windows: you have three options:
- minimal
- typical
- custom
Minimal and Typical can configure many features of the product with a simple click. If you want total control, choose Custom.
Or, have your installer let the user choose Minimal or Typical, then customize from there.
Why can't this same type of system be used to configure a desktop UI?
Your options could be:
- Simple, lightweight
- Middle of the road
- Lots of eye candy, bloated
- Masochist
I disagree. I'm new to linux, and I love how much control the user has over the interface. Beats the heck out of two options (windows classic, windows xp, in two colors, green or pumpkin or whatever). I don't think that the GUI is what's keeping people away from linux. KDE looks and functions enough like windows to make almost anyone with a little experiece with windows PCs get the idea. What I do find that intimidates me about linux is that the operating system behaves so much differently that windows. not many people are used to a unix environment, or the way command line OSes work, and the steep learning curve keeps them from making the effort. I don't blame the GUI, so far it's one of the best advantages i have seen over windows.
I'm not a KDE user, so I'm not actually saying that KDE is doing it wrong. But GNOME 2 is doing it right.
First, you design things so that they just work the way most users expect. You run tests to make sure you have it right.
Next, you make preferences dialogs with the most common options in them. You do let users configure things, but you make sure you don't have ten million options to sort through to find the one you want.
Next, you make an "experts" configuration interface; it could be config files, but in GNOME 2 it is GConf. (GConf looks a lot like the Windows registry, but it isn't fragile and centralized, and at its heart it's actually config files.)
Last, you make the system modular so that the really dedicated can swap out a module if they want something really different. If you don't like Havoc Pennington's way of looking at things, you can run Sawfish instead of Metacity. If you don't like Nautilus, you can run Gnome Commander or many other file managers.
Back when I was running GNOME 1.x, I actually hated the excessive number of options. I could actually maximize a window just horizontally, just vertically, or maximize both! Now with GNOME 2, all I can do is maximize both... but that's all I ever wanted in the first place.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
That is the single truth that will decide what is the 'ultimate' GUI.
:p
The problem is, this absolute configurability must come with absolute ease of use.
I should be able to set up my GUI to look like whatever I want. I could have it look like, I don't know, CowboyNeal, while the guy next door, using the same GUI, can have it look like a carbon copy of Windows.
However, both of us should be able to do it *easily*. That is, clicking on buttons in a dialogue box.
Note: I don't speak of creating graphics and icons and such 'easily'. That's another ballgame.
What I speak of is being able to configure everything. What mouse buttons do what. Where the buttons on the tops of windows are. What those buttons do. How my scrollbar looks. The background. What window frames look like. How window focus works. Blah blah blah.
KDE is the closest thing I've found to this. It doesn't have all the customizing I'd like, but it's the easiest.
Enlightenment was approaching this back in the day - the problem there was you had to go diving through text files to configure things.
I had been avoiding KDE for years,
using gnome as my desktop.
Until gnome 2 came out.
Then I felt like the gnome team had somehow
managed to slap handcuffs on me!
Almost like a Windows gui...
Go mosfet!
KDE isn't so bad as I'd anticipated,
and while enlightenment is pretty,
and I wish I could *effectively* use enlightenment as my windowmanager in KDE (it hasn't quite worked for me) KDE is (nowadays) nowhere near as bad a slug as it used to be...
Except when I'm working diskless of course,
then its blackbox.
But notice the difference here, between Linux and certain proprietary OSs?
I have the choice. I can choose if I want gnomes less is more paradigm or kde.
In windows... I guess I could use windowblinds or desktopX or whatever its called, but they just change the way it *looks*...
KDE for Windows XP? Anytime soon?
In the free world the media isn't government run; the government is media run.
I think that ideally the level of "configurability" itself should be configurable.
:)
:-)]
This means that experienced users have more power over the looks, while novices can still play with some things without risking to mess things up ("where did Solitaire go?").
And I'm not only thinking an "admin/user" difference, there may be many levels... for example, one level allows only to change colors, another the desktop theme, and yet another level lets you change how the menus behave. And so on... It *should* be possible with a good integration of UIs, although coming up with something effective and not bloaty will be a real challenge. Not to mention that you need to set a standard... and that can be fight
But I think Apple machines are going there. Everytime I touch OS X I get the feeling that everybody sets it up to their own taste, while in XP things are much more standardized. [Linux is of course free-for-all as you can code your own whatever.
The ENIAC Demo Competition
This is just about the biggest hot topic in the world isnt it? here is my bit...
A UI has *lots* to tweak. pointers, buttons, windows. color, highlights, and now with 3d shading and drop shadows and etc etc..
Thing is most people dont change these things. Those who do usually go with 'sets/skins' and many of them are horrid evil monsters of the abyss.
Thing is do you really want to be able to configure all that stuff? With x-windowsyou can get in there and tweak everything. Thats all well and good. but who is gonna put a generic 'grandma' front end on that? And even if you have a nice screen to fiddle all the bits, will grandma even know what half the things are? Then you have the flip side of having almost nothing user configurable out of the box (Aqua). You can go 3rd party to go in there and chage the stuff, but then we are back the horrible skinning thing (as has been said elsewhere in this thread.
So the big question is how much is enough? How much is too much? Should anyone really waste the time letting people tweak everything? Does a compay that tries to make a coherent look and feel let people go and throw off the UI elements when they chose a 96 pt font for their "ok" button?
Mind you this is going to just get more fuzzy when the UI starts using vector 2d and 3d, and even more animated objects in the UI. Just wait untilyour head explodes when you see the pink hello kitty desktop of doom.
The same is not true of KDE. There are themes that make is plain and elegant, and themes that are full of eye candy. It's whatever you want.
You are describing a problem endemic to windows devolpers more than anything having to do ith UI's in general. Skins are a good idea.
By what standards? Your own? If it is to your own standards, then by all means, be happy you have the choice of _not_ running KDE at all :)
I think Daniel is on to something. I've used both desktop environments, and yes, I loved Gnome 1.4, and I hate Gnome 2. Why? Because it gets in the way with how I want my desktop to work. KDE provides the mechanisms to tweak how you want your environment to work. It's the first thing I did when I started KDE for the first time. After that, I never touched the UI configuration because it was _just_ right_ for me.
Also, my family here uses KDE and they never complained how it worked. They are used to macs, so I set KPersonalizer to use the Mac-like defaults. No problem at all, they were right at home.
And as for confusing options, well, tend to go explore in Kcontrol and change colors/icons whatever themselves, and they never had to call me over _once_. So the whole point is moot, for me, and my direct environment (a.k.a. family that use my systems).
I like KDE's flexibility. You hate "complexity". It all boils down to preference.
While I'm typing anyway, I might share an anecdote. At an internetcafe where I do some freelance work I set up some KDE kiosk-mode terminals (KDE 3.1), as a test to see if people would use them instead of the defacto policied-shut winders box. I set some up, with some nice apps (Kopete, Konqueror, Moz, Phoenix, kvirc, java stuff, flash plugins etc etc.), planted some icons on the desktop to start them, slapped a nice style on it, put some nice looking icon sets in there, and just let it sit to be used. They've been sitting in the shop for a few days now, running happily.
To my surprise, the customers liked the KDE boxes. Actually, they fight over who gets to use them! And of course there's the added bones of less headaches. The winders machines tend to clutter up so much at the end of the day, I need to zap them all and put a ghost image back for the next day. Never once was that needed with KDE.
It's just so cool how you can take _out_ KDE's flexibility of you need it. Does GNOME have a Kiosk framework like KDE's?
You say "The Context Menu" offers this functionality, like you should in the first place. You probably picked the worst ever example of something that shoulnd't be configured.. left / right button swapping should *ALWAYS* be allowed, not everyone is right handed.
Let's see, I started with the Atari 400 in 1979...
I've seen a few interfaces.
Provide a slightly-more-than-minimalist set
of defaults. Make it look nice, and be functional,
for 90% of the users that will never change a thing.
Then give the other 10% of us enough configurability
to hang ourselves with our mice!
It's 2003, right? 2D interfaces are pretty well understood
by now (WIMP: Windows, Icons, Mouse, Pointer) I can't
see things getting truly interesting again until we
go to 3D.
(grumpy old man voice) - I remember when we had to
hand-code our ~/.Xdefaults files, and we liked it!
I play around with lots of replacement shells on windows, and different window managers for xfree. With using multiple guis on multiple platforms all day, I'll share my thoughts.
:)
The major problem with most guis, is speed. I want my data fast, I want to work fast. Heres some common problems I see.
1. Cut & Paste. I tend to use shift-insert/ctrl-insert more often than ctrl-x/c/v. Application tend to support which method the developer wants. Right mouse cut/paste/select all handy in windows, should be in more unix guis.
2. Taskbar, when having 20-30 applications open, i want quick access. Binding keys is ok for quick launch, but give me task bar, task list, or some other task type folder is really useful. Nice icons, animation is neat, but dont slow down my system, or get in the way.
3. Alt-tab. Pesky little windows key combo seems to be ingrained in my head. I love to alt-tab back to the last application. I know shift normally mean go backwards, but 3 key combos i tend to ignore.
4. Anti Aliased fonts. When you see them, its hard to go back to non-aliased fonts. Like seeing HDTV, its that much of a difference. BTW, terminal font is for terminals, I like the look of VGA font for my terms. Clear, easy to read, and a standard. Ansi VGA for terms only. (Linux console works, even use it on all my ssh programs.) Guess too much old school thinking ingrained in me, OS2 had the perfect font in its command shell.
5. Mouse, 5 buttons. For games or applications, having a button there makes a task quicker. (I know its not UI, but its input related..)
6. Pixel Snap. IceWM has it, and found a handy program for windows (allsnap) that does it. Make it easy to have multiple terminal windows open, and I dont have to align by hand.
7. Virtual Windows, neat idea, but I find myself wanting to see my apps on the screen. So I tile, and keep sections open that i need to see, most common, excel spreadsheets with datafill while i have open ssh working.
So having my little pics, it narrows my choices of which gui's I use. Mostly, Im sticking with WinXP with cygwin/putty for now. On the unix side, icewm or kde. Nice icewm is only 600K and does most of what I want. Blackbox can be configured with most of my choices also.
I think the biggest problem now is consistency, and these developers are working hard at adding options to fix that. And its only going to get Better.
I completely agree... which is why I've always dreamed of making a MORE usable interface for WinAMP, one that is easier to use and ALSO looks better than the original... ... of course, I'm a lazy git, and I have more doodles than results, but hey, it's a dream. :-)
"I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
The problem is that Windows and windows programs were not designed to be skinned. Linux desktops were designed from the ground up for skinning. As a result, they pay careful attention to the color style of the skin. For example, Qt has a class that defines the color properties of a theme so applications can take the theme into account. Also, I have a feeling that KDE themes are much more powerful than external themes because they have access to the internals of the GUI, and can insert specific code to patch certain behaviors (through the Qt polish()/unpolish() mechanism). I run KDE almost all the time, and pretty much every KDE theme looks perfectly native, from .NET to Liquid (two *very* different styles).
A deep unwavering belief is a sure sign you're missing something...
Seriously, if any of you griping about KDE's interface haven't tried KDE 3.1, you owe it to yourself to try it. Phenomenal...
Waiting for KDE 3.2. KMail will actually have a useful spell checker, which will apparently be available for use in everything KDE, including Konqueror forms (like what I'm using to write this).
The Linux kernel is ready. KDE is almost ready. Then, all we'll need will be apps developers to produce stuff which doesn't feel/look/act/work like bad Windows shareware. (Integration, developers, integration! I need OpenOffice Impress to seamlessly handle videos, and Calc to do a polynomial regression!) Then Linux will actually be ready for the desktop and I'll be able to take that damned page off my site.
Fire and Meat. Yummy.
First, let me say that I hate the direction GNOME is moving. It's just plain not as configurable as KDE, and what configurability their is, is buried in a rather opaque registry.
Second, I think the larger problem is not so much configurability, but complexity. It's not a matter of how many options are there, but how those options are presented. The main problem with human beings is not that they can't deal with large amounts of data, but that they can only deal with small pieces of a large data set at a given time.
This problem encompasses not just configuration, but all desktop GUIs (even OS X). The Windows/Menus/Icons/Pointer is just too complex. There are too many widgets, too many places to access functionality, too many places to display information. For those of you on Windows (I feel your pain) fire up Windows Media Player. The interface is a nightmare. It's even hard for me to use! There are at least six different locations where controls are located. Information is displayed in multiple locations. It's just a mess. Then fire up Word. There are dozens of icons that have absolutely no recognizable meaning. The problem reaches critical mass in a program like AutoCad (I'm an engineering major, so I have a vested interest in seeing this UI mess disposed of as soon as possible!) Dozens of icons, all similar looking. Context menus that have no relation to the object being clicked on. Weird interactions between the command-line, menus, and context menus.
This interface complexity hinders not only ease of use, but efficiency. Think of what happens when your PC starts using the swap file. It spends all it's time trashing the hard drive instead of doing real work. When a user is confronted with all the gidgets in modern UIs, their thought process and efficiency slows to a crawl.
To ease the interface mess, we need to rethink how humans interact with the GUI. A next-gen GUI would have the following features:
1) Little to no "widgetry" visible on-screen. The user should be able to concentrate on what he's working on, rather than be distracted by UI information. Think "vi" vs "MS Word."
2) One point of access to functionality. Like "vi's" command line or Houdini's keyboard-menus.
3) Succinct context menus. Context menus should have no more than a half a dozen entries, and should only function as shortcuts for functionality accessible from the "common access point."
4) No more windows. Overlapping windows are just confusing and require too much user intervention. A next gen GUI should be based on a full-screen application mechanism. For the relatively few times when more than one application needs to be visible at the same time, mechanisms need to be provided to facillitate this. This is an example of optimizing for the common case.
5) More use of tabs. Tabs are a surprisingly easy mechanism for users to pick up. Note that all the navigation menus on the web are a version of the essential "tab view" concept.
6) Larger UI elements. Since the UI would only show the elements absolutely necessary at the moment, UI elements could be large, which greatly speeds up pattern recognition in the human brain.
7) More use of color. Humans are remarkably sensitive to color coding, but for some odd reason, current GUIs only use color for asthetic purposes.
8) More use of text. The human brain is a language processing machine. Current GUIs rely far too much on metaphors and other elements that require user training, instead of just plainly telling users what's going on. Take menu entries. Instead of being short and cryptic, they should be detailed and explanatory. Who cares if that makes the menu bigger. Are you looking at something else while you're reading the menu?
9) Seperation of "background" tasks from "foreground" tasks. KDE is doing a great job of this with it's notification bar programs for noatun and kopete.
10) More powerful application management. The user shouldn't have to manually manage applications. Some intelligence should be applied to keep running applications easily accessible. For example, when I'm doing research papers, the "taskbar" concept just plain can't handle the explosion of application windows.
11) Global workflow enhancers. Many of the workflow enhancers found in high-end applications like Maya and Photoshop, like info-bars, undo-histories, etc, could easily be applied to applications in general. A consistent set of workflow enhancers would greatly help efficiency, while reducing the burden on application developers to write these systems.
The overall point of this concept is to streamline the computer/human interface. It reduces the dependence on metaphors, which is hard for users to inderstand, and allows them to interact more directly. An implementation of this concept probably would not be intuitive. (BTW, intuitiveness is a sham. Nothing is intuitive, except the three built-in human actions, sucking, grasping, and cuddling.) It would require a modicum of user training. But with the large numbers of locations where user training is available, such as workplaces and schools, along with the rising number of computer-educated sons/daughters/grandchildren/friends/etc, such training should be acessible. Most importantly, teh features of the system are such that a minimum number of concepts are required to understand the whole system. Once those concepts are understood, the user can proceed without further intervention.
A deep unwavering belief is a sure sign you're missing something...
On the ad-absurdium extreme of the customizable camp would be those who firmly believe that real users write their user interface from scratch. (the most fundamental stalwarts of this already extreme group would still like to get rid of those silly "high level languages" -- in the belief that only assembler gives access to the full power of the machine).
I haven't really delved enough into KDE and GNOME to decide which has produced a better compromise, but I am reasonably happy with what KDE allows me to stomp on.
And, of course, since it's open source, I still do have the choice of rewriting (or replacing) any part that doesn't modify to my satisfaction. (as long as I'm willing to read the dreaded highg-level-language source-code).
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
I think a purely OO desktop would be ideal. Is there any movement towards an object oriented desktop model for linux? Personally, I think that the application model is dated. All an application is, is functionality bound to a package. I find this very limiting.
Imagine a desktop where you had a dictionary (spell checker), which could be applied to any text (this post, documents, other peoples web pages). That ruler tool would no longer be stuck to abiword. You would have a basic set of tools which you could decide how to put together based on your needs (and of course, assembled into new objects).
Maybe I am wrong. It may be too easy for the user to hack together their own tools. There's just too much money to be made in binding tools together. The average user wouldn't need to buy applications if they had all the tools they needed.
Could you imagine if staples demanded that you buy their supplies in packages (pencils, papers, erasers, staplers etc.. ) and demanded that you only use their pens with their paper? Is this not analogous to what the software companies do with their application paradigm?
Come on, guys, it's nice that Gnome and KDE bring a Windows/Macintosh-like desktop to Linux--lots of Windows refugees will be reasonably happy about that. It's also nice that some egregious usability problems, present in earlier desktops, have been fixed. But let's not pretend that there is anything fundamental being done here other than decent software engineering and avoidance of basic usability blunders.
To do substantially better, we will have to jettison the current straight-jacket of separate C/C++ applications and move to entirely new software architectures. And then, the distinction between "configurability" and "programming", between "user" and "programmer" will pretty much disappear.
Since when does "flexible and configurable" have to be "bloated and difficult to use"?
Here's a hint: Stop tossing us unnecessary crap like network configuration tools for Desktop Environment A, B, and C. Stop giving us "wizards".
I keep seeing the argument that we need to make all of this easy enough for your grandparents to use, usually citing Windows as a basis for comparison.
Bzzt. Keep friggin' dreaming. My grandparents and my aunt both use Windows, and they still can't figure even half of it out. It doesn't matter what version; people who aren't tuned in to computers are either going to get it or they won't. No amount of helping them along or gentle pushes is going to change that. If someone has the drive to learn, they will. Our job, as users and developers, is to try and keep things flexible and useable with a minimum number of casualties. So what if my 86 year old grandfather isn't using Linux? Concentrate on the people who've converted from Windows seeking a better alternative. Worry about your existing and long-time users. If you alienate these people, you've lost already, and by that time, your grandparents won't give a shit and neither will anyone else.
Some of you are probably thinking, "Yeah, right on!" Here's where i'll probably piss you off, if I haven't already (though I have a feeling many of you already think i'm rambling about nothing).
Desktops need to be attractive, at least to an extent. My thought is, if i'm going to be staring at something for hours on end, I don't want it to look like a remnant of a black plague victim. It doesn't have to look like some kind of weird coloring book gone awry (*cough*longhorn*cough), but it does have to look nice enough that i'm not gouging my eyes out. And really, is this so difficult to do without bogging down system resources? Think about it.
To keep things minimal but customizable, allow the user to change the colors, fonts, background, window borders; the basics, so to speak. Allow the use of gradients so things are a little easier on the eyes, and allow anti-aliasing control. A small bit of code will take care of transparency control for the applications menu, and the file manager and taskbar can be left to third-party applications and/or plugins. If you want to attract the more "non-geek" audience, offer up a package that has all of that stuff pre-built in as a bundle, so they don't have to do any footwork hunting for new capabilities.
And for chrissakes, stop with the ugly application interfaces. IRIX, Solaris, etc. are a good example of what i'm talking about, but there are *many* on Linux/BSD/etc. A lot of people could take a nod from some of the apps out there for QNX. Nice looking, but very clean, well-laid out, and uncluttered. In particular, I like phirc, but even if you don't like that specific look, I think it gets across what i'm talking about, if only a little. Better still, stop offering applications that are tied to ONE desktop. This whole "applications for Gnome" and "applications for KDE" thing is bullshit.
We've already got most of this with window managers like Blackbox, Fluxbox, Waimea, etc. In some cases, things are only halfway where they should be (in my eyes, anyway), in others, they fall very short. However, I still have to ask myself, with almost every desktop i've used, "what the hell was the developer thinking?"
I ask this even more with 99% of the applications i've used.
So perhaps the question shouldn't be about desktops being bloated so much as software in general, and the design problems that consistently plague them? Just a thought.
I think if I wanted some bozo who thought he knew better than I did how I like to work dictate to me how I should work, I would be using Windows right now, not Linux.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I'm one of those people who really hates the adaptive menus. One should understand that the primary problem is not adaptation in itself, for instance the "Documents" menu in Windows that keeps recently opened documents is really useful, not to mention browser history. The problem is that the adaptive menus in Office 2K hide options that I might be looking for and that the options I've used recently suddenly appear in the wrong place. The solution to these problems would be to make finding the options one is looking for easier. Currently the only thing one can perform searches on is the Help system. For open source software the Help system is often non-existent or out of date, and even if it would be good it might not be the best way to find what you are looking for since you find an entry in the Help system rather than "the real thing". An alternative to this would be to make all (or at least most) help entries strictly part of the UI, that is make them all contextual Help in the fashion "this button performs replacement of all words 'aggghhh' to the word 'argggghh'". This information should then be searchable by an engine that would understand the semantics of the help information. Menu entry labeled "AutoCorrect" contains help entry that describes the functionality and both the labels and the help entries are indexed for searching. Ideally this functionality could be provided on the desktop level so the user would not even have to know in advance exactly which application to use or which option to adjust in order to performed the task he wanted to.
I agree with you that lots of irrelevant menu choices really is a very valid usability issue, compare for instance XCDRoast to some Windows cd-burning software. The problem is that in order to have the few correct options in the right places, the application designer needs to define the tasks their users will do most often. This is easier in an environment where planning is done first, rather than in a bazaar style evolutionary development process. To this also adds up the fact that open source users are often more technically skilled, and therefore suggest (and program) lots of features that the software might do (but maybe from a UI perspective should not).
The default Gnome2.2 install is very simple and straight-forward, Keeping It Simple is a lesson well-learned, but KDE has it's heavily intergrated desktop that tends to attract Win32-users some more. IMHO, the people trying out linux on their own now are people fed up with MS, but want to still have the idea of control over their system. People just wanting the computer to get things done should feel more at home with Gnome2. But then again, i'm a gtk-fanatic ;)
However, both these desktops need a decent amount of RAM, and for 64mb and less systems icewm does a reasonable job. Would be interested in peoples experience with XFCE4, with it's CDE-look it seems easier to learn for new users (just that i can't get used to it) and it's more attractive than icewm. Rox is great, but their program-install-method is a bit unconventional. A pity, as it's desktop is great (and gtk2 :o)
This sig is intentionally left blank
Sadly, I wasn't.
Personally, I couldn't stand GNOME 1.4. I didn't even give 2.0 a fair chance. But as soon as 2.2 came out I decided I'd give it a shot, and it's simply here to stay. I think the greatest feature is that there are no useless features. It's not the speed or flexibility that sucked me in, it's that everything "just works."
And I'm a computer geek. It's just that when I look at the default KDE desktop and the default GNOME desktop, I wonder to myself that anybody besides the "I use linux because I'm l33t" people actually says KDE is easy to use.
A more concrete example: Open up a Nautilus window and right-click on an icon of a folder. You'll see around 15 menu options, with spacing in sane places. Open up Konqueror and do the same, for the same folder. On my KDE installation, I get 25 options. "Open with Gwenview?" what the heck is that? Why would this show up on every folder?
Simply put, GNOME lets me do what I want, faster. If KDE has twice the configurability, it won't be able to let me do things as quickly. I agree that some people prefer configurability and some prefer simplicity (read: usability). So I choose GNOME. Don't try and convince me I made the wrong choice.
What I would like is the ability to place all my UI tweaks in a file so that when I install the OS on a new system I can just say "apply the UI tweaks in this file" and be done with it.
Speaking as both an OS developer and a member of the CHI field, I can only say that you are wrong.
* Open-source projects tend to ignore EVERYBODY who offers advice. In any OS project, there is a 50:1 ratio between arm-chair Advisors and code-writing developers.
* Open-source projects will listen if you have something concrete to contribute. Just claiming that you are a "UI Expert" is not enough. Just drawing screen-shot mock-ups of what you think is best is not enough. If you are a UI expert, do some usability tests and show how you are right! How is a developer (who you already admit sucks at making UI decisions) supposed to distinguish your advice from some other bozo who just knows that
"Aqua is pretty". Contributions speak louder than credentials.
* Yes, usability is not a carwash that you can drive your vehicle through after you build it. But, if you want to have an impact, that means you need to be there at design-time. If you aren't, then your role will be car-wash attendant. If you want to have that big of an impact, start your own project!
* Whining that you can't slap on usability after design-time is not going to get you much respect in the OS world, because developers know that EVERYTHING can be modified after the project is initially designed. There are very few OS projects out there that have been true to their initial design.
* There are many projects out there that would welcome UI advice. Gnome has a number of full-time UI people working on it, and there was a SIG at CHI last year devoted to Open Source usability. Just as there are many projects who aren't interested in any outside help from coders, there are those that aren't interested in help from UI designers. The 'OS Community' is not all the same, and if you want to contribute (which I seriously doubt) you will be able to find someone that will take it.
There's a bit of a difference here. "Most people don't need to change most defaults" doesn't equivalence to "Most defaults don't need to be changable". They are quite different statements. I'm dubious about the first, as I suspect that most people change something, but the second just feels silly. If you only alienate 10% of the people who might otherwise have preferred your product, then you have significantly diminished your significance. And those 10% will recommend their new choice to their friends and acquantainces, so it will end up being considerably larger than 10% indirectly.
If there's a good reason, if it's something that would really diminish the usability of the product to others, then it may be the best choice. Blackbox still has it's place, e.g. But this shouldn't be done for essentially arbitrary reasons. 10% here, 10% there, soon you don't have any user community at all.
So don't get rid of configurability just to get rid of configurability. One of the things that keeps me using KDE rather than Gnome is that I can't find the Gnome menu editor. I know it's there somewhere, but I can't find it. So I spend most of my time using KDE. (The menu editor used to be easy to find, but someone moved it. RedHat? Possibly.)
And don't change things just to change them. BlueCurve looks nifty, but I find it much less useable than the default KDE desktop. And having only generic names for programs it just atrocious! I've got 3 main text editors that I use, and I use different editors for different purposes. Don't just say "Text Editor"! It's an important difference whether it's gedit, kwrite, kate or nedit! KWord and Open Office Writer aren't the same program, and won't (by default) open each other's documents. So I want to know which one I'm choosing. I don't just want a word processor, I want a particular one!
Defaults are very important. It can take a lot of work to fix up a garbaged set of defaults. And if you can't, then the product may be essentially garbage, even if it's basically "good enough".
I think we've pushed this "anyone can grow up to be president" thing too far.