On Fri, Oct 21, 2005 at 06:54:35AM +1100, Peter Lawler wrote:
> Luke Schierer wrote:
> This gets to the core of a problem in gaim, somewhat related to slash
> commands. There's either 'work as the native client does', or 'have a
> consistent user experience across all protocols'. Whilst assuming people
> move to gaim from another client, I don't believe for an instant that
> this should dictate the entire UI.
> By forcing the original native behaviour onto people leads to users
> having to learn how the original client behaves. Thus, instead of
> learning gaim, they have to learn to be fluent in Gaim, ICQ, MSN, Yahoo,
> SILC, Jabber, IRC, etc. I believe this extra effort is rather stupid if
> the target is to have a simple user experience.
I can accept that some people might have come to _some_ of gaim's
protocols without having used any official client. I have trouble
accepting that they will have come to gaim having used _no_ official
client, except perhaps with the case of Jabber or SILC. Why would
you sign up for an MSN account, never having used winMSN, unless it
were as a developer to gaim?
People who have not used _any_ IM, excepting the very young just
coming to computers, in my experience, resist IM very strongly. Thus
I think it a VERY GOOD assumption that any user of gaim has used at
least one official client at some point in their lives.
I will however accept that having used winaim, and then coming to
gaim, you might have signed up for that MSN account because you have
now migrated to linux, and only now met someone who uses MSN
exclusively, and reacted "oh, gaim can handle that, I'll just add a
This last case is a strong argument for consistency across the board.
but lets take that argument to its logical extreme. MSN doesn't
support multiple background colors in a single message, but gaim does
in other protocols, so lets pretend to support it in MSN. Oh, so the
other person doesn't see it, who cares? Jabber requires properly
formed xhtml formatting, but no other protocol does, lets just send
whatever we like, its more consistent afterall. Aim has a limit to
how many buddies you can have in your buddy list, but lets make no
attempt to check that and prevent the user from seeing
incomprehensible server error messages, because doing so would be
inconsistent. These examples, and I could make others, all sound
rediculous, they are. IT IS NOT POSSIBLE TO PRESENT A FULLY
CONSISTENT INTERFACE. Differences across the protocols WILL show
through. formatting capabilities, buddy list restrictions, buddy
icon capabilities and restrictions, all of these things WILL differ
to at least some extent.
We can, and should, mitigate these differences. Call the picture
"buddy icon" universally, rather than using 3 different phrases for
it. Detect what formatting is possible and not let the user enter
it. Handle the buddy list restrictions for the user where possible
(we could do a better job of this, for example, we had one report
last week where a user had managed to enter in an "invalid" msn
screenname, and was having trouble removing it from the list).
We can also do other things, rename msn's "Hidden" to "Invisible,"
use standard status icons across the protocols, Poll the irc server
to provide presence information that would come more automatically
with other protocols. Again, where possible, we should present a
common, consistent interface. I'm all for that.
But lets not take this too far. The user signs on IRC, what do they
see? "type /msg nickserv identify password" they ask how to join a
channel and are told, in good faith by some irrsi user, /join
<channel name>. everything they learn about irc, and they WILL have
to learn some about irc to use it no matter how good a job we do
(reference the questions we see weekly in #gaim), will be in terms of
/.... if we change this to anything else, they will have to mentally
translate, effectively making them learn both irc and gaim.
Alternately, take aim. the users who happen to have come to gaim
from winaim or winicq, and I still assert that any gaim user except
those who come to gaim for jabber first, will have used an official
client at some poitn, will expect to be able to send anything. any
printable character used for a command stroke will potentially cause
confusion. Once again, the user will have to know both the protocol
and gaim. AIM thus argues for a command mode entered into from a
non-printable keystroke nearly as hard as irc argues for a /command
Note that if no protocol knowledge is required, if no other client
has been used, then _neither_ is more intuitve, and the non-printable
command entry area is preferable, becuase it will be more likely to
stay out of the way of a user who has not yet learned to use it. It
might be overlooked entirely, but it will not cause confusion, and
will be there, just like control-tab or control-up, or many of gaim's
other key strokes are, when the user is ready to ask about it.