Usability vs Customisation
I’m getting sick of people muttering about Usability. Now, don’t get me wrong. I’m not against Usability, but usability as people propose comes at a cost, and that cost is functionality.
For instance, the gnome people have changed their default window manager from sawfish to metacity. Metacity’s “easier to use” because it has no features. Theres nothing confusing for users to configure. However, you lose a lot of functionality. You can’t have multiple workspaces with multiple desktops. You can’t bind scripts to keys anymore. Theres a whole heap of things you can’t do. This is apparently a “feature”. It’s apparently not confusing to users. Not that I knew of any user who would want to configure their window manager without expecting pain and suffering.
My problem isn’t that the programs are now magically usable. My problem is that there is now no way to do the things I was doing before. It’s not that the features have been hidden behind an “Advanced…” button, or even hidden so that they can only be configured via an obscure about:config interface, or via direct editing of the configuration files. Those features just don’t exist. I’d be happy to have to drop to vi and edit a config file to edit my window manager, in fact, that was how I did it for many years. I’d almost be insulted if there was an easy gui way of setting things up.
The reason I moved to Linux from ol’ MSDOS was because I liked the power and flexibility of Linux. I could see everything, and contrary to popular belief, for a programmer at least, Linux has more documentation than you could ever wish for. If you can’t find the documentation for something you can always just go and read the source! But the reasons I came to love linux are being eroded. Choices are being reduced in the name of usability.
Usability exports regularly complain that open source software is hard to use, and has thousands of tiny, obscure options. But the reasons are that Open source software has been made by programmers for programmers, and programmers want, if not need, to be able to tweak things. Can the two ideals coexist? I think they can. Advanced users are willing to take the time to read the documentation to figure out how to customise weird options. No advanced user would turn away the opportunity for making features easier and quicker to use in the common case. But don’t take away features that “new users” don’t want or need! They don’t have to be there right “in your face”. They can be hidden behind an Advanced… button, or in a command line option, or an option in a config file. Advanced users will look for the feature and will be plesantly surprised to find it, and users who are afraid of the myriad of options won’t see them.
The reason I came to linux was because of the choice. Please! Stop limiting them!
September 16th, 2004 at 4:30 pm
You should seriously look at Ion. It’s a windows manager focused on being usable in the true sense, that you can actually make use of it. It’s tabbed and focused on keyboard use. Everything in Ion is configured via Lua, so if it doesn’t do quite what you want, you can always implement it easily.
September 16th, 2004 at 4:37 pm
Window managers are just an example. Even better was a quote I saw today:when it was mentioned that gnome 2.8 was released today:
<sammydre> how many features did they remove?Doesn’t that make you think that people have that immediate reaction?
September 16th, 2004 at 8:55 pm
Strange that, most programs usually suffer from an overload of features, especially one as old as Gnome. Microsoft Windows has a huge mismatch of “features” that evolved over many, many years and get people learn to use it. Why is it that man developers of programs for GNU/Linux either expect users to instantly understand their random collection of features slapped together in a horrible user interface with no documentation, or expect that the user cannot learn anything new so they must simulate the interface of Microsoft Windows to a painful degree?
I like Ion because it tries not to over- or underwhelm the user, but presents with an interface that does just enough, but no more. Anything extra can be added by the user via Lua. When did programming suddenly become beyond the grasp of the average computer user?
As always The Zen of Palm is an excellent read on this topic.
September 16th, 2004 at 11:30 pm
I only read the first paragraph, but I disagree with the general point:
You don’t need to remove functionality to make some usable.
I can’t be sure, but perhaps hiding it is good enough :)
I don’t see why Gnome doesn’t keep functional stuff and just make a decent interface to it. If there is too much to configure, give the basic stuff a dialog and let “power users” edit their ‘dot’ files or whatever.
I don’t care if I have to fire up vim to change stuff now and again if people more interested in usability than myself deem feature X shouldn’t/can’t be configured through the UI. I DO care when I can no longer make use of feature X because it no longer exists!
September 16th, 2004 at 11:33 pm
After reading the post I see we agree entirely.
Though in general I do prefer a good config dialog than editing a file. YMMV, of course.