Friday, September 17, 2004

a lesson to all

my recent blog on Kopete's changing of the default send key binding to Enter created quite a bit of feedback. my reply to a reply has received a number of comments even, something most of my blog entries don't get.

those upset about the change have two good points. first, the developers obsessed over the technical details, namely that it's a multiline edit rather than a single line edit and that kopete a communications application. these turn out to be rather irrelevant, however, in the context of user perception and experience.

the second point some made is the really important one, however: this "how the user perceives it be damned!" mode of development has led to one set of users (the existing ones who didn't change the defaults, which many did) learning the default mechanism and now it's been changed on them. this is better for those who struggled with changing it and for those who will be using it in the future for the first time. but it does have an impact on current users.

this was an interface screw up in Kopete, and the options came down to fixing it or keeping the experience consistent for "default settings" users. neither option is without it's pain, though the option chosen will be better for many of Kopete's current and the majority of its future users. still, it brings pain, too.

there's a lesson here for all of us: making wrong fundamental decisions in the interface today can create very painful problems tomorrow. this episode also demonstrates how snake-oil usability is as bad as no usability concern at all. we need to pay heed to this.

5 comments:

Datschge said...

I posted my response to http://www.kdedevelopers.org/node/view/624

Also thank you for mentioning the change in your blog at all since otherwise this might well have created some "accomplished fact" with the next KDE bugfix release without even having a prior discussion about it. I hope we both agree that this would have been bad.

Aaron J. Seigo said...

yes, i think discussion and review of these sorts of changes is pretty important. i'd even like to see us have a "GUI review" period for such changes during release cycles, even. we're not quite ready for that (we being the usability team) but after we get openusability.org and the HIG greased and on their way, maybe ;-)

Anonymous said...

>those upset about the change have two good points.
If they are good points, I'd expect a good reply... Interested I read ahead...
>first, the developers obsessed over the technical details, namely that it's a multiline edit rather than a single line edit
Errr... So, you think that the way a certain type of widget behaves is merely a "technical detail"? I'm sorry, but I have to disagree. In my view, the way a certain type of widget behaves is at the root of usability: "Thou Shalt Not Supprise Your User." It doesn't matter that whether it *is* a multiline widget ("programmaticly, technically"), what matters is that it *looks like* a multiline widget, so it should *behave* like one. That *is* viewed from "the user perspective". Your claim that it is a wrapping single line entry really makes no sence to me. We don't have such a widget anywhere in KDE (well, except in Kopete it seems...), and it looks identical to any multiline widget around. Worse, you can even make it behave like a multiline widget... Does that mean that in fact it *is* a multiline widget? Yes, it does. You state that "Users" expect to send of the message on enter. Let me give you at least one counter-example: me. I frequently use multine messages.

>and that kopete a communications application.
That in itself is not an argument, that CTRL+Enter sends the message (just entered in a multi-line entry box!) is however.

> these turn out to be rather irrelevant, however, in the context of user perception and experience.
Now, this is what really annoys me in your post. Based on what arguments do you think you can just sweep the arguments given before from the table and mark them as "irrelevant"? What is this "User perception" and "User experience" you are talking about? Is this your own perception and experience, or did you actually draw from some sound research to make these kinds of claims? In a reply to your previous blog, you claim to have two pieces of "evidence" to support your case:
1) Other IM clients than ICQ moved away from using CTRL-Enter, so it must be because of better usability. That's a rather weird statement. Because something is newer, it is automaticly better? Why is that? If it really was unusable, do you really think ICQ would have gained such a huge user base?

2) You get a lot of questions on how to change it. Did you measure where these people were comming from? Were they used to some other IM before switching to Kopete? If so, and that one used only Enter, do you think that might be an explanation?

I know consistency isn't *allways* the best solution, but I do think that you better have very, very good reasons if you plan to deviate from it. I have not seen these reasons so far. Also, I have not seen a reply to the suggestions given by multiple people to just ask/warn the user what behaviour he'd like to have, instead of just changing it to something inconsistent to the rest of the system.

André

Anonymous said...

Well, André and Datschge IMHO are right. KDE should be consistent with itself, even when this conflicts with the other desktops around. Anyway, I can see the point of being "familiar" to those coming from other worlds. And the solution which will make both happy is only one, as many have already said: add an option to Kopete's wizard allowing the user to choose between compatibility mode "single line widget - Enter shortcut" and KDE mode "Multi line widget - CTRL+Enter shortcut". Nobody will complain anymore.
Obviously, for legacy reasons, multiline should be the default for the 3.3.x series, and possibly 3.x.

Honeyman said...

Oh, seems there were sweet times long ago, when Ctrl-Enter had send the messages by default. And nowadays, even if you manually customise Ctrl-Enter to send messages, Enter alone is broken and does not insert the proper newlines anymore...