shout
shout copied to clipboard
Separate nick and username fields are confusing
Currently there are separate fields for »nick« and »username«. Even to regular IRC users like me these have the same meaning, not to mention normal people who are wholly confused by the distinction.
@erming I saw https://github.com/erming/shout/issues/229 on the separation but still don’t really understand it. How about making it more of an advanced setting instead of so prominent?
+1
Hmm. mIRC gets the username by taking what's in front of the '@' in the email address field:

Textual, a popular IRC client for Mac, also calls it username but makes a good suggestion:
I agree that people who are new to IRC might not know what the username is for, especially when they have just filled out the 'nickname' field and then wonder what the difference is, but as soon as you have spent some time in IRC, you'll most likely have seen things like [10:36:52] * Jay2k1 ([email protected]) joined the channel
and wondered where these parts come from and what they mean and probably even asked or googled.
Anyway, the username is part of what you need to supply to the network on connect, just like a nickname. And for services that allow multiple users to connect from one host/IP, such as bouncers or, possibly, shout, assigning a unique username per user can be essential (so network abuse can be tracked down to a user account instead of banning the whole service), so it's not like the username "doesn't matter anymore" (IRCcloud users have "[email protected]" as address for the same reason).
In this case, it should be tied to the user account and should probably even be the same as the shout user account name, but that's a different thing now.
I could imagine having it pre-filled with a default value, or have a suggestion in the field that disappears on focus, but I would not hide it in some "advanced options", because to me personally, it is nothing "advanced".
Usernames are part of the IRC protocol and are used for things like authentication and banning. I don't think this feature should be removed from shout.
@knubie well, so what’s a nick then? This is a very difficult mental model for people to form. In most apps, nick is the same as username. If we make it more complicated in Shout, people will be confused.
@jancborchardt That's just the way IRC is designed. I totally agree with you that it's a difficult mental model and if I were making a completely custom IRC client / server implementation I would remove nicks all together. But since shout is a general purpose IRC client I think it's imperative to have the option to set both, because some servers require the username to be set properly to connect.
@knubie 100% agreed. Nickname and Username aren't an invention of Shout, so Shout is not in the position to change the importance of either of them. And because the username still matters, you can't just take it away or hide it somewhere. I guess the best way to handle it would be to pre-fill the field with a sensible default like a) whatever you enter in the nickname field or b) something generic like "shoutuser".
Well, Shout seems to at least aim to be a well-designed IRC client in the sea of technical-looking ones. And I’ve seen plenty of others (namely Freenode Webchat and IRCCloud) which don’t separate these two.
For people who really need to separate, I’d say this difference should move into a config file, and only one field »Username« should be exposed in the interface. cc @bnvk @Henni regarding design.
@knubie @Jay2k1 if I would have taken the normal difficult installation process of an open source web app for granted, the ownCloud installation and log in flow wouldn’t be as easy as it is today. I do believe that any web app is »in the position to change« the importance and defaults of anything if it delivers a better UX.
Are you really using Freenode webchat and IRCcloud as examples?
Freenode webchat cannot connect to any other server or network than freenode, and it has a way of proper user identification in the hostmask (gateway/web/freenode/ip.1.2.3.4) and (since this IP could also be used by other people in the same building/place) it also assigns a username (in my test case it was d972405a) which didn't change when I changed browsers. In other words, banning me if I misbehaved would be rather easy.
IRCcloud acts more like a bouncer with a webinterface (like Shout), but it is (semi-)public, i.e. anyone can register for a user account and then use IRCcloud to connect to any IRC network they like. IRCcloud assigns a user ID to every user account, and uses that user ID as username, so if an IRCcloud user misbehaves, staff has a way to ban that individual user instead of whole IRCcloud (that would be stupid, wouldn't it?) This is probably easier for them than letting you choose your own username, but might be somewhat annoying to users that would like to have a somewhat more personalized username for display purposes. However, there is no single case where a user would need to set their own username (at least none that I know of).
Quakenet allows up to five simultaneous connections from one IP. If you need more, for example because you're hosting a bouncer or an IRCcloud-like service, you need a so-called trust and Quakenet requires you that the usernames are tied to the users, so that abuse can be tracked down. This is exactly what IRCcloud does.
Now what if you want to use Shout in combination with a bouncer? In this case, you need to set the username your bouncer provider told you to use. Good luck finding this setting if it's buried somewhere you wouldn't expect it.
To me, Shout is like an instance of irssi on a VPS, a way of IRCing that many people are using. It is a regular IRC client, just that it's being run on a server/always-on machine, not on your PC/laptop, and as a consequence you won't lose channel messages while you're not IRCing. And if Shout aims to be a proper client, it should be configurable like a proper client.
I'm repeating myself, but the username is part of what you need to supply to the network on connect, just like a nickname, and is being displayed publicly, then users will wonder where that comes from and how it can be changed.
Also, assuming Shout would hide the username field somewhere in "advanced settings", people wouldn't fill that field upon connect. What would you suggest what Should should use as username then?
This is really old, but I'm surprised that it's still open and that nobody has pointed something out. IRC was first on multi-user systems, where users log into the system with a "username". Also, when you run an application, it runs as a "username". Sometimes the username would be shared, or sometimes there would be an easy-to-use menuing system that runs as a username, therefore when you connected to IRC it would show your preferred public name (nickname), the username on your system (username@), and the hostname of your system (@hostname.domain.com). Sometimes you log in from different clients with different nicknames but the same username. Nickname and username are entirely different things.