Boudewijn Rempt is raving about how bad the recent switch from Ctrl+Enter to just Enter was for the "send message" key shortcut.
he notes quite rightly that the keyboard shortcuts for the chat window are in the chat window, while the global kopete shortcuts are in the kopete shortcut window. this is fixable, though not completely trivial it seems as one would need a KXMLGUIClient for the chatwindow around in the main window from time to time (e.g the time when the user wants to define shortcuts). this is going to mean having to subclass KXMLGUIClient simply to get at the protected setXMLFile method. oh, and go back to using the hand-rolled slotConfKeys in kopete's main window that was slated for removal when 3.2 support was dropped. this probably explains why it hasn't been done yet. =)
in any case, Enter is what people are used to in IM clients, unless you use ICQ, so its whath the majority of users expect. more importantly "Enter" works with how most people use IM clients, namely to pound out a short message and quickly send it. as it is (or rather, was) i answer the "Can kopete use just Enter?" question far too often on IRC, mailing lists and even *sigh* in person.
Boudjewin also said that "There is only one rule about making usable applications, and that is to keep your applications as consistent as possible with their environment". i totally agree that consistency is king, but it's not the only rule in usability. not even close. and it's not really a rule, either. more a "best practices" sort of thing. there are times when breaking theoretical consistency (these are all communication apps, so they should all behave the same!) works out to be more usable. and kopete is a great object lesson for us here.
people have focused on the type of application Kopete is (communication) and ignored the real issue which is the way Kopete and IM applications in general are used. email and news reading are similar, yes, but email and IM are rather different animals. they may both be used to communicate, but so are cell phones and signal fires (though they have rather different user interfaces).
IM is much closer to IRC than it is to email, and which IRC client has Control+Enter as it's "send message"?
Thursday, September 16, 2004
Subscribe to:
Post Comments (Atom)

16 comments:
I still think Boudewijn is right, but then, I come from the ICQ world. It will probably be the first thing I switch back if I install this new Kopete. I think the argument about being compatible with the rest of the IM messager programs is bullshit. People don't use them side by side. It sounds a lot like "Hey, Microsoft did it this way, so it must be ok!" Well, I think it's not. I like to be able to predict what happens if I press enter, and in a multiline edit box, I expect that to be going to a new line, not sending the stuff I allready have there.
While you say that you agree that consistency is important, I don't hear a compelling argument why it should be broken in this case, other than the idea that others do it like this too and the fact that you get questions about this. I was just wondering: did you ever count how much people were using Kopete that do *not* complain about this? How many of these will complain about this change?
Maybe it would have been better to just display some kind of wizzard on the first start that lets you choose this kind of behaviour, even if you can change it later. That way, you can probably keep both camps happy.
André
Aaron (and Matt who shouldn't have ignored the ml discussion Aaron missed to begin with), please keep several points in mind:
The widespreadness of specific IM clients outside KDE is no reason to make KDE in itself inconsistent. Inconsistency is bad, so is unnecessarily assuming that ICQ client isn't the majority while firstly having no proof of that (it's clearly a locally highly differing preference) and secondly the whole situation of IM clients outside KDE shouldn't matter to KDE itself anyway if they break consistency, only as an option for compatibility/familiarity reasons but never the default.
Also saying that IM is much closer to IRC than it is to email is humbug, classical IRC doesn't have the consistency problem in KDE since its uses a single line input field to begin with. Single lines (like the address fields) use Enter within KDE so that's consistent. If that were your real issue you could simply use single line for all of Kopete's IM instead creating a multi line input field defaults inconsistency mess within KDE which breaks any familiarity within KDE.
Bottom line: please revert to the old default and add a wizard if you honestly think first time KDE while non-ICQ IM users are really important enough to break consistency within KDE.
(I seriously can't understand how this issue was able to come up at all, last time there was a discussion about this on mailing list it should have been clear that nearly noone is actually in favor of this inconsistency as default.)
Well, I hate to say that since I'm a loyal KDE user, but this is a big step backwards.
Enter in a multiline textbox should make a new line, period. Every application does this way, why in the world Kopete should behave differently?
Wouldn't be better showing a popup message -in the trayicon- when the user opens (only the very first time) a chat window saying "look, you have to use ctrl+enter to send an instant message. this is a default setting for all kde application. we know, it's different from msn, so if you want you can change this by clicking here". Wouldn't be better?
I have to agree with the other two, breaking consistency is bad and especially breaking it in an app we've already been using and have come to expect to work a certain way. What next, swapping Ok and Cancel in the dialog boxes? =)
I would have to respectively disagree with the above comments. Here's why.
It is spelled USE case. Not PROGRAMMING case. To the user, it doesn't matter in the *least* if the text entry is programmatically a multiline or a single line widget. To the user, the ONLY thing that matters is how he'll expect to use the widget. Empirical evidence such as quoted in above messages strongly suggests that in chat mode, the user EXPECTS to input one line of text, and then send it.
In this case, the KDE UI guidelines DEMAND that the 'Enter' shortcut sends the message.
You'll note that, interestingly, the above only applies to chat mode. In single message mode, it seems that the user expects (once again, empirical evidence) to write *several* lines, and then send the message. Hence, the shortcut to send should be 'Ctrl+Enter', as per KDE UI guidelines.
In conclusion, this has nothing to do with what other clients are doing, nor exactly what KDE class implements the widget. It has to do with, you guessed it, USE CASES. How the widget will be used!
Not that this will make any difference in the disagreement at hand: I don't think that the KDE keybinding system allows for different keybindings depending on which mode is being used, single message or chat. So we'll have to pick one of the two cases and stick to it, even though it means breaking the UI guidelines in the other mode.
>Empirical evidence such as quoted in above messages
>strongly suggests that in chat mode, the user EXPECTS
>to input one line of text, and then send it.
If that's true, that is, the user inputs only one line of text, then you don't need that huge textbox which wastes much precious space. You should repleace it with a small single-line widget, shouldn't you? At this point it would make sense to default to Enter.
But.. if you keep that huge textbox, then I expect, by pressing Enter, to go to a new line.
I think it's pretty simple, it's a visual concept: small (single line) textbox -> only one line allowed, Enter send the message; big textbox -> more lines allowed, Enter goes to a new line.
use case? empirical evidence?
So far neither the use case has been clearly defined, nor did I see any reference to any empirical evidence which excuses all this proceeding. What I see however is that a by fiat decision of few people seems to be enough to set a default which completely contradicts existing style guidelines, which ignores the concerns voiced in several past discussions and also puts in danger the primary goal of any usability team: a consistent interface. All that just because some people apparently already are too used to some contradicting system on other platform to be even able to wade through a wizard or to change that tiny setting themselves. Great!
Datschge: FYI, i'm on the kopete-devel list and i have read threads about this issue on the list. perhaps i missed one that you think is particularly important? if so, please feel free to point me in the direction of it.
Anonymous: the reason why it isn't a single line edit box is because people tend to write lines longer than the normal width of the chat window. widening the chat window makes the chat less readable (due to column width limitations in our brains), so that isn't an option either. users expect to type then hit Enter, to them it's a wrapping single line entry.
now, some have claimed there is no empirical evidence. well, this exists in a few forms: precedence and user feedback. precedence is that every other IM client, not just ones from Microsoft as some people replying here tried to imply, does it this way. yes, everybody could be wrong. note, however, that the first really big IM client used Ctrl+Enter and that subsequent clients moved AWAY from this. there are REASONS for this, e.g. it's better usability.
as for user feedback, there are sometimes mildly unpopular default settings in KDE. one of the biggest of those is single instead of double click. some distros change the default, but many don't. in any case, i get asked about how to change this every once in a while. rather regularly, but it's better usability and it seems that the majority of people appreciate it. note that this behaviour is different than just about every other environment!
kopete's Ctrl+Enter gets asked, despite have a smaller user base than KDE as a whole, amazingly often. it isn't unusual to get asked more than once per day on IRC how to change this.
now, we can ignore precedence and we can ignore our users and be happy that we are keeping consistency between technically (or, as another put it, programatically) identical widgets. but i always figured the point of software was to be useful and usable, not technically correct at the expense of same.
As a user of just about every chat program since the early ICQ, I can say that originally the ICQ way was ok, but then again that original ICQ sent one message and the window closed. This isn't like the current state of instant messaging where you type/send while recieving a message, a duplex coversation via text. The first thing I did when I started using Kopete was to change the default behavior of sending a message with the keyboard. I hit "Enter" and my message is sent because I type and send. If for whatever reason I need add something on multiple short lines I use shift+enter or numpadEnter and I get a new line for whatever. Even though the text in the chat window wraps multiple lines it's still a single line until you purposely make it multi-line.
Now on the issue of the default behavior I believe this change is a good thing since this is the most widely used method of sending a message with a IM program. Now this makes everyone that uses Ctrl+Enter to send a message have to change a setting but it's probably less people than the ones that change it to just Enter. Ctrl-Enter to me is a shortcut to do something specific with a program that does multiple things. If I'm chatting with Kopete, there's not much variance to what I'm doing since it's just typing and sending.
My dear Aaron, I wish you would employ your newly found shift key to capitalize the first letter of a sentence, instead of shouting. The first improves readability, the second detracts from the point you try to make.
Well, since the word Use Case is being bandied about like people actually know what a Use Case is (hint: it has nothing to do with usability), I'll give one that would fit the definition used by the bandying-abouters, and one strictly denuded of any technical shorthand:
Oh, cool. You mean, I have this application that can send messages to people like, like I'm actually sending them a message? Look, a great honking expanse of white. More'n a letter's high. Must be... Umpteen lines. And there's this bar above. With buttons, just like in Word. Wait -- I see Aunt Tilly flashing. Blush. Didn't mean quite that, there's this flower next to her name. That was flashing. I'll send her something cute. And I don't even have to got to Word for it. Bold. Italic. Red. Flashing. Type laboriously, "Hey, Auntie," Newline. I sure wish those computer people'd figure something out to make their Word applications less like a typewriter. Why can't the computer figure out I want two lines of whitespace here? Damn! I sent the message! Damn! The surprise is spoiled!
To which we can reply, Ah, yes, nephew Jonathan. If you would have had the good sense to use other IM applications before trying ours, you'd have know that enter sends a message. Now you're looking silly, aren't you?
Boudewijn
This blog is awesome! If you get a chance you may want to visit this microsoft software site, it's pretty awesome too!
Hi, I was just surfing around and found you!, if you would like to see my Anti Spyware related site. It isnt anything special but you may still find Anti Spywarestuff of some interest.
Like your blog, Ill check back, please check mine out: Free Email
Great work on your blog -- will certainly pass on your URL throughout my network! My blog has to do with microsoft instant messaging and you should see it here: microsoft instant messaging. All the Best!
Hey, you have a great blog here! I'm definitely going to bookmark you!
What a Great Blog! I'm definitely going to bookmark you! I have a work at home guide directory
site. It pretty much covers work at home guide directory
related stuff.
Come and check it out if you get time :-)
Post a Comment