“A lot of bandwidth has been wasted arguing over the lack of usability in open-source software/free software. Some people say that bad usability is endemic to the entire OSS world, while others say that OSS usability is great but that the real problem is the closed-minded users who expect every program to clone Microsoft. Some people contend that UI problems are temporary growing pains, while others say that the OSS development model systematically produces bad UI. In an effort to understand usability in the OSS world, I’ve researched the stories behind my favorite – and least favorite – OSS programs. I’ve found a fascinating variety of personalities, design philosophies, and project organizations. Although I’ve only scratched the surface, there are already themes that come up again and again.”
that nobody listens to this “person”, saying its a mistake to make applications configurable. Well, i say, if some user, like him, dont do any work because he constantly tweaks his UI, well then he is simply a moron that gets distracted too easily, and isnt worth the money someone is paying him.. I believe this is what Torvalds describe as an Interface nazi.
“oh please!! my master, i am too dumb to figure out how i want the interface, but i can not for the love of god stop touching these settings, please remove them, and allow ONLY the default to be there!!!”
this guy is insane.
and his example with the ZIYASP is totally bogus.
If people really are doctors, and cant manage to customize a gui like with KDEs, to something they like, or generally find normal(as in, stuff that people just come to, without requiring special training) applications confusing and cant use them, well then i’d better hope they never get hired as anything more than a door greeter, cause i’d really not want them to be performing any kind of medical thing to me. When was the last time anyone saw a gui that required knowledge of internal workings? yeah, cause we see that every day, our OSS gui’s really are nothing more than a slightly more convenient way of running syscalls..
so talk about inhumane again.. and smart people… I think some of these Smart people was in charge of writing the recipt for some common cold medicin, but because they were so smart, they accidentally got him some more interresting things…
Edited 2007-10-07 00:05
You might want to re-read the article and check some of the conclusions you have drawn.
He never said that it’s a “mistake to make applications configurable.”
He said that it’s a mistake to make applications overly-configurable. And he pretty well defined what he meant by “overly”.
From your comments, I would guess that you (a) deal with technical people a lot, (b) are technical yourself, or (c) both. It’s not that they’re stupid. It’s that they have more important things to do. Despite what you may think, he is NOT insane. I’ve also personally seen comments from developers like what were mentioned for ZIYASP.
As for configurability, he is right on about KDE. It’s a geek environment. Where else can I sit down at one machine and have it act and look like Windows 95 and have it act like something else? There is nothing wrong with having options. The problem comes from having too many options, particularly ones that are almost never, if ever, used.
> It’s a geek environment.
you say that like it’s at odds with being any other kind of environment. millions of non-geek users are evidence of it being otherwise.
> The problem comes from having too many options,
> particularly ones that are almost never, if ever,
> used.
that i agree with. the question is how to delineate between these categories of options. that is something i don’t think many people have managed to do very well, and i’ve read quite a bit on the topic.
i see a lot of “software should be more sane!” mantra-ing without a lot of real world suggestions. in the article, the suggested solution in this regard is sane defaults. which, interestingly, is usually rather orthogonal to the flexibility of the software itself. however, what ‘sane defaults’ are is never actually elucidated.
so once again we get (vague, which is understandable given the attention span of a blog entry,) descriptions of problems with even more vague descriptions of solutions that are really just reiterations of ideas that have been hashed and rehashed with very little conclusion.
there have been a few people who have gone to great length to talk about these solutions, the person who coined the term “humane computing” being one of them, which has resulted in a great contribution to the field …. but here we are reading this blog entry instead =) oh well …
Spot on!
Somebody (I believe it was Linus) made the point that an application that contains only the features that are used by a majority would have nearly no features at all.
The point is that different groups of users use different subsets of the features. Maybe one needs wordcount, the other needs syntax highlighting and a third person absolutely depends on an integrated file manager if we take Kate as an example.
So the question is not whether or not to have all these features but how to present them to the user. In this regard I believe Kate is an interesting example because the word count feature is (last time I checked) not listed in a menu but you are expected to use the command “wc” in the integrated terminal.
This might seem rather odd but with any full blown application you have so many options that you need to check the documentation anyway – unless you want to hunt the feature down in menus that are 4 levels deep, which often takes more time, or guess what button of the 1000 buttons that reside in the menubar and unfortunately all look the same does the thing you want. Looking at you two, Kile and OOffice!
Well i for sure hope that no features really gets removed, because if someone cant use them, or dont wanna bother finding out what they do, then just stay away from them, its not like they DEMAND that you press them and tweak them to doomsday.
so the solution is simple, Have a good allaround defalt, which i believe KDE has, and then users which wants to customize can choose to do so, and users who want to do nothing, can simply stay away from the configuration dialogs. And if they cannot stay away from it, well, thats really their problem, i dont see why i should give up my abilities because they dont wanna use them, and as such, dont wanna have them even exist.
And this is why i currently use KDE, its abilities reflects these philosophies, which, (and yes, i dare say this) is the RIGHT one.
And this is why i currently use KDE, its abilities reflects these philosophies, which, (and yes, i dare say this) is the RIGHT one.
It is right for you, not for everyone.
Respect other peoples choices, don’t force your choice on everyone.
which is exactly what i am doing, by saying that everyone can choose to configure it to the way they want, or simply use defaults..
people arent FORCED to configure stuff, so they can simply choose not to, and thats fine by me, but they better damn well respect my choice of making use of configuration abilities, and why the hell shouldnt they? how does more options which they can simply choose not to use, hurt them?
how does more options which they can simply choose not to use, hurt them?
Because the sheer scanning of the options is harder than to scan very few options.
It is like reading a text with no paragraphs.
and thats why we have search functionality for such stuff..
besides, whats most important? some guy has to spend 10 seconds extra to find the thing HE wishes to do(his choices), while i simply must be fine with not being able to do my thing, because that other guys thing is somehow more important, as its more common?
I’ve also personally seen comments from developers like what were mentioned for ZIYASP.
Exactly! Anyone who doesn’t believe that, or want a live demonstration, should just head on over to any pro-Linux thread and shout TO HELL WITH COMMAND LINE! I’ll bet you’ll see the rank-and-file linux nazi’s spew all sorts of nastiness not unlike that which the author fictitiously wrote about ZIYASP.
I, for one, consider myself a person of moderate intelligence and yet have ZERO desire to re-learn anything that has to be typed on the right hand side of a prompt.
A good article, at any rate.
Hear, hear! Knowing the particular flags of a command-line program or the formatting of a config file (or registry key, if you’re of the Windows persuasion) is not a good use of human intelligence. Even for technical users, the interface to the software should take them as quickly as possible to the places where they have to make a decision that the software cannot make itself.
It is not the eye candy of the transparent, 3-D desktops that make software usable and beautiful. The Mac has none of these things and it is still well-regarded. It’s the thought that goes behind how the functionality is presented to the user so that they naturally fall into the pattern of using the software correctly. Discoverability is hard.
Also, listening to user requests is not the right answer. Neither is having the developers and designers “guess.” UI designs are like a–holes, everyone’s got one and no one really wants to use yours. The only real way to get a good UI is to instrument your prototypes and either collect data in a usability lab or to collect data through remote telemetry.
Stop the nazi-namecalling, please.
Fact is that users can perform some operations faster through a GUI and other operations faster through command line. Personally it’s my experience that the combination of GUI and command line is the most powerful combination. What would AutoCAD be like if I couldn’t combine mouse-drawing with keyboard-drawing?
l m *mouseclick*m *mouseclick*
Draw a line from midpoint of one line to midpoint of another line. Damn fast to do when combining both tools. GUI isn’t better than CLI and CLI isn’t better than GUI. Different strengths, different drawbacks. Learn how to use the tools properly.
Maybe it changed in later (>R14) AutoCAD versions but wasn’t it more like:
l *enter*
m *enter*
*mouseclick*
m *enter*
*mouseclick*
Whereas with another CAD program I used at the time, it really was as you described, as that program had a not a command line, but a well designed keyboard/mouse UI.
I will admit however that AutoCAD’s command line was quite useful in many instances. For one, I got quite good at building CSG based 3D models using only the keyboard and typing in coordinates.
Naaah… in AutoCAD “space” and “enter” are interchangeable – this is true for AutoCAD 9, 10, 11, 12, 13, R14, 2000 and 2002.
I often use AutoCAD to create outlines for fonts for later perfection in fontforge. Anything vectorish and I fall back on AutoCAD. Doesn’t matter if it’s a font, a logo, or a (part of a) house. ACAD is the tool
Exactly! just head on over to any pro-Linux thread and shout TO HELL WITH COMMAND LINE! I’ll bet you’ll see the rank-and-file linux nazi’s spew all sorts of nastiness…
I, for one, consider myself a person of moderate intelligence and yet have ZERO desire to re-learn anything that has to be typed on the right hand side of a prompt.
I invoke Godwin’s law you GUI-Nazi!
I disagree with you here. Some check box somewhere in the back of a config dialog which almost no one touches can perhaps be a bit ugly but not really a big problem, and it can be valuable for the few people using it. Look at about:config in firefox for example, lots of tiny options that not many people touch.
The problem is when configurability is used to cover up flaws in the UI design. If you have a setting that 40% of the users set to a state that lets them do task A easier, and another setting that 30% of the users set to let them do task B easier, maybe you could instead have designed the program so both tasks were easy to do.
As a developer, a big practical problem here is that if your program is buggy you get bug reports, but you never get reports of these types of issues. Most people just configure it so that it works for them.
Why not just have the rarely-used options configurable via a command line interface, while keeping the UI as clean as possible? That will be easier to navigate for the technical users who want to change such an option, and if you want to make an easy to read FAQ, you can provide cut and paste command line snippets. Additionally, you could call those options “unsupported” to help concentrate on making a subset of the possible configurations work as well as possible.
Also, some people think there is a difference between “Configuration” and “Customisation”. Configuration being things like making your network card function correctly, but customisation being changing the desktop wallpaper or something.
I completely agree with the idea that configuration is often used to cover up UI design flaws.
Allow me to clarify. about:config is actually an excellent feature. It requires the invocation of an advanced feature in order to access advanced options, which is fine by me. Regular people never see it, but tweakers can have all the fun they like. What I’m talking about is a nightmare for anyone, like Tools|Options in Microsoft Word 2003.
I work with regular people every day, and some of them are more humble, well spoken and many times more intelligible than you.
The fact that a regular user can operate a complex machine like a car without issue, and then have so much trouble operating a complex computer shows that there’s a wealth of engineers, UI designers and people like you that are mentally backwards when it comes to the importance of machine interface.
The end user is _not_ stupid. Any mistake they make, is, as a programmer, almost entirely your own fault. And technical people don’t like to admit they’re wrong, they just call the user stupid for not understanding their poor workmanship.
A car is designed solely to drive, it goes forward, backward and turns corners. If you’re lucky, you have the added functionality of a CD player, or buttons to control the windows. Some people even have both!
Whereas a computer is designed to do everything, playing media, communicating, analysing data, research, creating documents, there is very little that a computer hasn’t been programmed to do. All of these are controlled through one interface (Keyboard/Mouse). Imagine being able to operate your toaster from the dashboard of your car, and you begin to have a fair compariason.
A car is an API (or more accurately, an ABI). You have a very complex system, that is abstracted by a user interface. You say that a car “goes forward, backwards and turns corners”, because the interface is so simple that that is the case! What if you had to have the car in a certain “mode” in order to steer? What if the car had six gear sticks instead of one?
If the car has a different engine, the interface remains the same to the user. It’s well designed.
I understand that a computer does more, and is more complex; but it still stands that the interfaces are not optimal at all. If as many people could use a computer as well as they drive, then there’d still be bad drivers, but overall, mankind would wield incredible engineering and productive prowess.
Just imagine how many m/billions in money and hours are wasted because the populace cannot use them easily enough.
It isn’t about functionality, to have one tool you can use well is better than to have six you cannot.
And how irritated would everyone be if someone came out with a car where you turned by pushing the wheel to the left, rather than turning the wheel to the left?
I’m betting ‘very’
Or perhaps they can operate a car because they spend time learning it by taking a drivers license. and mind you, the car really has limited functionality, sure, you have to know traffic rules and stuff, but i ask you… how many times do the users of cars do something wrong? at this very moment theres almost certainly a car crash somewhere..
“I didn’t get any work done for a whole week because I kept tweaking my KDE settings”
This is used as an argument against configurability. All I can say though is that when I double click the titlebar, it better toggle fullscreen/restored. Others will expect it to toggle windowshade mode, or minimize the window.
I don’t have to spend long knowing what I want it to do. I have my preference, and I change the setting and that’s that. It takes far less time figuring out how to change the setting than it would to get used to a new behavior after years of habit.
I think his weeks and weeks of tweaking the interface are a rather extreme example (perhaps dredged up specifically to support the point he wanted ot make). For the most part, options don’t present some bog that users can’t escape from, but a quick way for them to ensure things behave as they expect.
It’s not the programmers passing the buck on design choices, it’s them recognizing that different users have different, incompatible expectations for how their window manager or whatever should behave. His approach seems to be to tell evryone “tough, get used to it.” I’m sorry, but I’ll always be of the mind that “fine, do it your way” is better.
“it’s them recognizing that different technical users have different, incompatible expectations for how their window manager or whatever should behave”
Regular users do not, nor even expect things to be different from one computer to the next. They like familiarity; and since non-technical users are often new to computers, and haven’t fully learnt the wealth of Window management options, they will accept and conform to a single way of doing things.
The UI designer of a program has to tell the oldies to get with the times and stop being so afraid of changing a paradigm or two to get with the way the designer wants the app to go.
But technical people are way too vocal for themselves, instead of others.
Funny though that regular users expect a Swis army knife to be just like a teaspoon. A Computer is a Swis army knife and as such can never become what you and the infamous “regular user” want.
If you want such a system, put an office application on a console and give the user a keyboard to said console – and run the application in newbie-mode. Case closed.
As Aaron said above, what should be changed how?
It’s just people saying “make it easier”, or “there are too many otpions”.
None comes with a solution, and I guess there is no easy solution as people use different parts of applications.
Even non techinical users do.
Imo it’s just that many do not expect to be able to change something, but if you’d show them that they are they’d probably change things to their (!) liking as well.
“I didn’t get any work done for a whole week because I kept tweaking my KDE settings”
Instead of taking this as an argument against configurability, it should be considered an argument for stoning people with ADD. If I wanted to use software that panders to people with mental disorders I’d buy a Mac.
Lol! I have ADHD and I don’t spend three weeks fiddling with my KDE settings so as far as I’m concerned, it’s still not a valid excuse for toning down the amount of options.
Still, +1 for a good laugh 😀
Hey, switching away from Windows help me get over my mental disorder!
I disagree with the idea that the UI is unimportant. Not everyone has the same interest you do in computers and they really are supposed to be a tool for the user in the end.
If a doctor isn’t willing to learn Linux because they like Windows more, that is absolutely fine by me. I may like spending time with computers, and I may think my job is important, but I’m not saving lives, and I’d rather a doctor spend his time doing that while using the computer interface that is most comfortable to him.
I am a huge fan of low-level, dirty tools that get the job done. At the same time, I’m not interested in the low level aspects of _everything_ I do on the computer — sometimes a simple GUI is all I want/need.
I think these problems can be divided up pretty easily:
1. Someone works on a library that gets things done. Flexible, powerful, extendable APIs… an overall great foundation like command line tools — it’s the UNIX way.
2. Multiple interfaces to those APIs. If someone is good at design, make it easy for them to make the front end to the power tool. If a middle layer is required, so be it.
UNIX is just missing the powerful underlying base for a GUI that is available on the command line. I love that I can write a single (although ugly and possibly unintuitive line in shell to perform complex tasks. GUIs just need their own shell-like tool so designers can focus on what they do best.
I think a great example of this is the pidgin library. It is flexible enough to allow:
1. Someone interested in a particular chat protocol to write the plugin.
2. Someone who loves GUIs to use the already powerful base to make a fancy, configurable (in a good way) interface. Adium uses it and is incredibly easy to use and stable because pidgin is The Way to do IM protocols, and Adium devs can focus on a UI that works.
I think the worst example is audio/video. Why are there a million libraries for this that all accomplish the same thing. It’s getting a lot better in Linux, but imagine if all these developers would pool their talents instead of creating their own library and UI.
I’ll bet even the KDE and Gnome devs could probably find a pretty common base that they could both build their UIs on top of.
I can agree with Linus if we’re talking about kernel development and Linux as a server, but I think Linux could be a kick ass desktop as well and assuming someone who wants a UI that doesn’t suck is a Nazi won’t accomplish that. If you could care less about the desktop, I’m not sure why you’d be debating the contents of the article to begin with.
seems to be about sane or insane default UI design.
Instead of making every element reconfigurable which some seem to think is good design, you’re bitching that he’s promoting some fascist approach to design where you can’t define an application to fit your needs.
Design around tasks and most of the UI design will be scaled down to address those tasks and most common end user needs.
Here’s the real problem: geeks have a hard time understanding that nontechnical != stupid. Lazy or busy, but not stupid. There was a time when I thought that, but not anymore. In fact, I share the same opinion as many “lusers” — I just want to get my work done with a minimum of fuss.
I’ve been able to successfully set up a Samba server (just using smb.conf, no less) to share files over the 25-machine mixed-platform network I administer. That doesn’t mean I want to spend the hours of tweaking and frustration in learning how to do it (which it took). One of the few things XP makes easy is sharing files. A couple of clicks and you’re done.
I’m not stupid. I’m busy. So are thousands of other people like me. The only difference is that I’ve been on both sides of the fence, so I understand both sides. You probably won’t find any of them commenting here because they’re busy doing other stuff or playing Internet Hearts or something, not learning about operating systems. To a geek, computers not being anything more than a tool for a utilitarian purpose is a foreign concept. That’s the difference. I want to share files, not read man pages.
Suggested Reading: The Inmates are Running the Asylum by Alan Cooper
You’re not getting the up-votes you deserve. People are busy, not stupid. If only geeks could learn a lesson in using something they don’t understand.
Funny that in my laboratory the only machines with a SMB configuration working properly are the Linux ones, while the majority of Windows systems suffer of unexplained problems (“why can’t I see computers X,Y,Z?”) (“hey, wasn’t this folder shared?”) etc.
Maybe having an humble smb.conf in Windows (don’t know if there is something of this kind, I’m one of the Linux users) in addition to a GUI that gets only half job done, could help.
Not that I like Windows’ lack of reliability, which is far less than can be said for the *NIXes. Windows is like a landfill — junk on top of trash on top of refuse in one nice, stinky, rotten heap.
I agree with most of the points made in this article. Not so convinced about the Python hype, but haven’t used it much so I can’t say much bad about it either.
The stuff about adding a thin GUI over a command-line tool (or library or whatever) is really important. The GUI has to be able to handle the complexity of the layer that’s underneath, otherwise the user will end up in weird cases that can’t be diagnosed and worked around without doing the steps manually. I have experienced this in the past, and it is always very frustrating.
The issue of configuration seems to be a hot potato. I agree with the points in the article, but sometimes the GNOME anti-config advocates can be a bit extreme, I don’t mind having the ability to configure an app, but this should be mainly for rare cases where people have gotten used to some behavior from another app (or from an older version of the same app). The default settings should be optimized for the vast majority of the users, and no one should have to configure the app unless they want to. Also, the config possibilities should be separated in the UI so they don’t disturb me when I actually use the app. For example, I don’t want to be able to rearrange toolbars while doing work, that’s just distracting..
Sometimes the need for configuration can be removed by improving the code, like checking on startup which features are available on the system and how the rest of the system is set up.
just like windows, or mac. there are programs on linux that have GOOD ui’s and some that have bad ui’s. Ubuntu generally comes with programs that have a good user interface. ie, consistent, clean, and well thought out.
then you have things like audacity where the program looks like crap cause font smoothing doesn’t work. otherwise it’s a well designed program.
then gimp which is also well designed. but comes with a sub-optimal default layout. at least it’s configurable. and then the filters are all scrambled up in the menu’s under names like “script-fu” or just under the filters menu. i think in the newer gimps they are finally trying to organize the menu better the filters under script fu got moved to the regular filter tree making them easier to find. cause there was no logical reason for why they were on a script-fu menu. maybe it made sense for the programmers. but it doesn’t make sense for people who just use gimp. we don’t know how the filter was made, we just wanna use the filter.
Old opinions about KDE come always around. Leave it alone.
KDE is the best in usability ! Period. I know this might sound strange to some but it’s an ace in usability – because this depends on your very *personal* perspective of usability. I can have my own you know ?
If you have to work with a lot of dialogues and if you need a swiss knife in GUI to get work done (and many times we do need it) there nothing else then KDE.
———————–
Why didn’t he pointed his gun to GIMP ? Now that’s a real disaster in OSS usability – I love and use GIMP but I feel I only learnt and use 50 % of the features it has. I never tough about using GIMP to retouch a digi photo; I have to use wine and win32.
Leave us KDE users alone, Thanks. There nothing wrong with the “Kitchen Sink” aproach.
(He is right about Python ! Tough )
He does criticise The GIMP in “Mistake 2: Join the Clone Wars”. Strangely you seem to be criticising The GIMP for having too many features: the same thing you praise KDE for.
Strangely you seem to be criticising The GIMP for having too many features: the same thing you praise KD for.
Some would argue that The GIMP has too few features compared to Photoshop but I digress. The most commonly critized “feature” of GIMP is it’s insistence to spread around half a dozen windows which makes it almost mandatory to run it in its own virtual desktop. Even then it’s really pushing the taskbar model: Alt-Tabbing quickly becomes a nightmare and if you’re in an unlucky position of having too few space in the taskbar it will most likely collapse it thus making it even aggravating to work with the GIMP.
And since we’re at it: Can somebody point me to an *exact* definition of the legendary “average” user. He’s permanent user in each discussion about GUI design so I’m kinda perplexed that he managed to evade me for years. Someone please introduce me to him.
Despite the title (and the evangelism within the article), the article’s not just for open source developers — anyone wanting to make a program that the users will walk away from happy should give this article a read.
In my own experience, at my job I had to do a little of the ‘benevolent dictatorshipping’. Our boss, an old UNIX hand, wanted the controls to be put as keyboard shortcuts — in a program being developed for keyboardless tablet PCs. Maybe that stubbornnes hasn’t made me too popular, but at least we’re shipping the user will like…
The only bit of the article I’d warn about is the bit titled “Join the Clone Wars.” Although it’s one thing to blatantly rip off another program (looking at Firefox/Open Office), it’s another to ignore 20 years of evolving GUI design — and most importantly, user expectations — for the sake of ‘not being like Microsoft’. Microsoft’s spent the GDP of several small countries trying to figure out what will keep their users happy; no need trying to “reinvent the wheel” when the “wheel”, in this case, has been rolled out onto billions of machines that everyone present has come into contact with…
Edited 2007-10-07 05:58 UTC
I think you’re wrong about joining the clone wars. Look at Microsoft Office 2007 and iWork. There’s almost infinite different ways to make an office suite, and yet have totally different UI’s that are easy to use.
The traditional toolbar / menu UI wasn’t all that great even when it was invented. It was a hack, to cram in ever increasing number of items in the easiest (and cheapest) manner. – until it got to the point of Office 2003 where there were 45 odd toolbars.
UI that’s been around for a long time, isn’t necessarily the best way of doing something. In fact, quite the opposite. We now have the colours, screen real estate and horsepower that we didn’t have when some of the oldest UI elements were invented.
I find it silly that anybody thinks that Windows is the benchmark by which to measure everything. Windows was and is never as polished and well designed as any other system, it’s just common, that’s all.
By the way, Kword for me is an example of a slightly but interestingly innovative word processor UI. Nothing particularly creative or fancy, but it departs a bit from pure MS Office cloning.
However a single UI improvement in office apps that would make me cry for happiness would be TABS. I usually work with multiple documents open. Having tabs, just like I’m accustomed in Firefox or Konqueror would be something really helpful.
However a single UI improvement in office apps that would make me cry for happiness would be TABS. I usually work with multiple documents open. Having tabs, just like I’m accustomed in Firefox or Konqueror would be something really helpful.
Yes I’ll second that. I find the tabs so useful in Gedit for working on a number of related plain text documents. If they put document tabs in OOo it would be awesome. Even more awesome if you could have tabs that would switch between Writer, Calc and Impress documents.
Take a look at IBM’s new version of OpenOffice (Lotus Symphony) which does exactly that:
http://symphony.lotus.com/software/lotus/symphony/product_ss_wpe.js…
I agree. MS’s usability labs have put years of research into what the average user wants to do and they do it and what’s easiest for them. To toss this aside, just because it’s MS, and try to invent a new paradigm (that will have to be learned) is foolish.
Refine by all means, have serially accessible layers of complexity by all means, but don’t throw the baby out with the bathwater just for the sake of ideological purity.
The more configurability the better in my view. It just has to be exposed in sane ways. So some monolithic list of numbers, check-boxes or true and falses is probably not a good idea.
I think you need concentric layers of configurability. Presenting an initial minimal layer, and yet allowing further layers to be exposed as users demand finer control of their software. Ideally, a minimal subset of options should be exposed, followed by more configurability should a user want to go that far, short of editing code and recompiling.
I think Linus said something along the lines of; the reason he likes OSS, is not because OSS products are intrinsically better, but because he’s never encountered a piece of software that behaves exactly as he would want it to. So OSS enables him to make changes such that it reflects more closely his ideal. Now not everyone can read code… so configurability presented in a logical and intuitive way extends some of that ideal Linus espouses to a less expert user.
I hardly see that as bad.
I think the only reason configurability has been seen in a bad light to date in the OSS world, is because it has been done badly, without real consideration of how users interact, interpret and respond to their PCs/software.
He picks emacs as an example of a good UI 🙂
This show really the problem: nobody agrees on what a good UI is, IMHO a good UI is an UI which is coherent so emacs isn’t a good UI as it’s not coherent with the rest of the desktop.
And yes, it’s possible to have a powerful application with an UI coherent with the rest of the desktop.
People complain about our interface… All these whiners should either RTFM and learn how to use the command line, or they should shut up and go away.
Uh, yeah. If those are my choices, I’ll pick #3 every time.
Configurability, I love it. Whether it’s hiding usused buttons, skins, themes, whatever. But at the same time, the program should be ready to use when I turn it on the first time. No secret codes, hidden menus, or seperate setup programs.
I don’t think that OpenOffice should have been one of the ‘bad’ examples. Sure, the default configurations are not what I would prefer. But the drop-down menus, menu bars, and shortcut keys seem to be faily standard among most commercial and freeware word processors.
Commodore addressed these issues circa 1990, the author of this article seems to be claiming to have discovered something new, which is not the case.