Skip navigation.
KDE Developer's Journals

fear and loathing in usability

aseigo's picture

ok... so as the recent thread on kde-core-devel re: kcfg showed, people FEAR usability efforts. that's right, people FEAR it. that word was actually used in relation to the topic. they are afraid some people will screw it up, that KDE can't cope with a drive towards being more usable without becoming pure shit. i really feel like ranting about thickheads, but that would just be adrenaline speaking. as much as that would feel good Eye-wink , i'm going to try to be constructive instead: what can be done to gain the trust of people in KDE? or is that a pipedream?

how many times do i need to reiterate the "powerful, flexible AND usable" mantra before people hear it? or how could i say it in a way that people would understand and feel calm enough not to practice public knee-jerk stupidity? how many positive changes do we need to make for people to start trusting them? what sort of positive changes would help inspire trust?

i know other projects have abused their user population and done some really stupid things in the name of usability, and i know KDE is a powerful, configurable, flexible system which is something we need to protect. i like that aspect as much as anyone else. but just HOW does the failure of others translate to the impending failure of KDE?

these are not rhetorical questions. i need to find satisfactory answers.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
luke chatburn's picture

Controversy

Honestly, over the past year or so, there has been a lot of conversation about usability in general circles and that has become one of the key dominating factors in KDE, GNOME and other development. It comes to something when CVS Digests are greeted with conversation about the usability of a change, rather than interest in a new feature.

I certainly applaud Aaron's work and that of others in improving KDE usability, but I worry that the usability focus is moving us away from feature development and progression that might heal usability faults as a product of improved methods of working in general.

There have been comments that each project should have a usability specialist, dedicated to the task throughout development, from concept through design, through implementation and subsequent revisions, but that rests on one fatal misconception; that there are a lot of usability experts out there.

I have spent time in university, studying HCI, but I will freely admit that I don't know nearly enough (although I do enjoy bandying ideas on the usability list, such as multi-paste buttons, konqi context toolbars and task-based multi-format meta-data folders). The interesting thing, is that my PhD is in Machine Vision, but I came across a very useful statement that is applicable. "Everyone thinks that because they use human vision, they are an expert in Machine Vision."

The same is true of usability. Everyone thinks that because they use interfaces, that they are usability experts. OSNews, Slashdot and other sites are full of people who think that reading the GNOME HIG makes them usability experts; they doff their caps to Fitt's law without actually ever having read anything about it. We run the risk of allowing KDE's development direction and resources to be forced into usability by controversy, to a point at which they damage all other development and conversation. Honestly, it is insane to be forced to listen to discussion on a new significant release, such as 3.2, with people suggesting that the reason they won't use it, or that Windows users won't use it, is because the context menu is 3 items more than the Windows one in a particular case. This sort of discussion is laying siege to current development.

So what to do about the lack of usability realism and discrete separation of actual experts from the mob?

I think perhaps the best move in this case, is to set up usability teams and resurrect the idea of usability audits for applications; which application developers and project maintainers can call upon at short notice. A hit squad who can look at an application and supply a short set of recommendations in a few days, with priorities, giving the developer a good idea of what can be concentrated on to gain maximum improvement in application usability. Effectively, usability assistance becomes a type of consultancy, and if the maintainer wishes, then usability developers can code patches to assist. The majority of issues that we see between usability coders and maintainers comes because there is a lack of communication, as mentioned here. If usability teams are invited in and invited to assist, however, that problem goes away, shifting responsibility onto the maintainer for any actions which are taken.

Beyond this, I don't know, but I'd like to reiterate that the work of the current usability experts has been great, and would like to thank them for it. I'd also like to reiterate my fears that armchair usability experts are disturbing the balance of development in a way that is making developers feel picked upon, which is possibly exacerbating the division we are seeing and trying to cope with here.

aseigo's picture

> I worry that the usability

> I worry that the usability focus is moving us away from feature
> development and progression

is this something you actually see happening, or just a concern? if it is something you actually see happening, can you provide examples so that i may be able to help address them in the future?

> set up usability teams and resurrect the idea of usability audits
> for applications; which application developers and project
> maintainers can call upon at short notice

this still exists, and hopefully will be expanded via kde-usability-devel (which is going a bit slow ATM) ... my next "consultancy" will be with kpilot, btw, by request of its maintainer =)

if any developer wishes such a consultancy, drop an email and i'll try and make sure you get paired up with somebody appropriate.

> armchair usability experts are disturbing the balance of
> development in a way that is making developers feel picked upon

i agree to a large extent. fortunately most of the armchair usability pundits (i won't call them experts =) are not involved in the project, but their noise on web boards and even occasionally on the lists is not productive.

as for the email lists, i'm trying out a new positive-reinforcement + suggestion strategy on the punditpeople. i also need to learn to ignore people better Eye-wink

luke chatburn's picture

Re: Usability focus worries :)

Hi Aaron;

Mainly I just worry about it at the moment; it has to be said that these things are hard to ignore, with the dot swamped with trivial usability discussion, OSNews full of it, people posting "Maybe KDE should do this, because I just saw an article saying that Gnome/OSX does this..." on the lists, etc.

I have no evidence at this point, but I do worry that this is diverting people from other things that they want to do. I'm sure you get plenty of clamouring e-mails on a variety of subjects. Topics such as this as well, really. It ends up consuming vast quantities of time that could be spent elsewhere :-/

scott wheeler's picture

WWHD?

Just remember to always ask yourself, "What would Hunter S. Thompson do?"

aseigo's picture

heh. i can always count on yo

heh. i can always count on you to get the joke =) wheeeee!

dschon2003's picture

proposed solution

why you don't just make the configuration GUI flexible enough to be useable by all types of users.
A novice gets a simple UI, which only the most needed users.
A more advanced user can specify the GUI elements he wants / needs.

The GUI should be separated from the actual logic, it should be assembled at runtime per user, and be made configurable.

Introduce the XMLGUI framework to all GUI, not just toolbars and menubars.

Regards
Dirk

aseigo's picture

then it becomes more work to

then it becomes more work to get the tools into a shape that is worth using than it does to actually use them! and we'd only be relocating the problem anyways, since we'd STILL have to answer "what do most users need?" ... it is an issue of defaults, as you hint at, but simply turning up the configurability doesn't solve much (if anything, it creates new issues)

dschon2003's picture

then it becomes more work to

But there may be multiple types of users.
As an example I absolutely like the current "system configuration as a file system" metaphor, i.e. the settings:/ konqueror link.
I am rather underwhelmed by the latest screenshots for the new and improved control center.

A dynamic / built at runtime GUI gives you the flexibility to give a default IDE, while making it possible to define other GUIs.

Same as with the recent discussions about what belongs into a configuration dialog and what inside a global system like kconfedit.
Both systems have their pros and cons, and you should only propose a configuration UI, not mandate one.

AT least I am fine with the current GUI Eye-wink

amantia's picture

Fear

Yes, I used the term FEAR. I'm afraid that some people may just become too enthusiastic and do some bad things in the name of usability. And I said to Zack, that yes, this means that I don't trust the KDE developers. I do trust the KDE developers who brought the project so far, otherwise why I would use this desktop and contribute to it? But there were some commits in the name of usability and I get some mail from time to time about what should be changed in the name of usability that were more than controversial. And yes, this are also from KDE developers,
if we can count anybody who has a CVS account a developer.
For me the whole problem and the fear seems to come because of lack of communication. As someone other says, deciding only on the usability list may not be enough. Many developers are not on that list, including myself. If a project (part of code) has a maintainer, he/she must consulted prior to messing up the code. If the subscribers on the usability list reach a consensus about the issue, I think the following steps should be made:
- email to the corresponding mailing list about the decision and with link to the discussion and wait for approval.
- if the application does not have it's own mailing list (let's say KFoo is part of somemodule, somemodule does not have a mailing list, nor does KFoo), the maintainer should be contacted.
- if there is no active maintainer, I believe kde-core-devel should be the right place to send a mail.
- depending of the outcome of that discussion, the code may go to the CVS or not.

Reading various mails and comments on the dot, it seems that for many usability means less options. I completely disagree with this. If we talk about options, usability means logically grouped, easily usable and recongnizable, not "fix-my-program-please" (who said, Havoc?) options. The later type may go away. I think not advanced options should be removed, but options that do nothing, but fix the program in some certain cases, like the one in case of KPilot. The rest should be labeled and organized more logically. Removing options like the possibility of saving/restoring the volume settings manually or even the size of the panel hide/show buttons doesn't do any good, as it was proven there are people using it. And not only 8 years old ones.
KConfEditor is good, having descriptions for options is good, finding easily hidden options is good, but removing options without thinking deeply about it, saying, that "I don't use and nobody will use" is wrong. It's similar to the quote on the dot "Nobody will ever write this kind of HTML code".

amantia's picture

Calrifying

Just to clarify one thing that may be misunderstood: I of course am happy to receive mails form the usability team or team members, and I am open to the discussion, but simply stating about something to remove/change/do whatever because we decided to do so is something that I don't like, especially if there is no real argumentation behind it. A simple "confuses the user" is usually not enough.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.