Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show rooms list before asking for nickname #94

Closed
ltguillaume opened this issue Feb 10, 2023 · 11 comments
Closed

Show rooms list before asking for nickname #94

ltguillaume opened this issue Feb 10, 2023 · 11 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@ltguillaume
Copy link

ltguillaume commented Feb 10, 2023

Intended behavior

Instead of presenting the user with a nondescript and somewhat confusing page asking for a nickname before showing a dashboard/rooms list with the available MUCs, I think it would be much more inviting to open the dashboard first, then showing a popup dialog (while the dashboard fades in the background) asking for a nickname as soon as a user clicks a "Join" button.

The goal here is to make xmpp-web more intuitive and inviting to (anonymous) users. It also makes the dashboard more of a landing page to let users explore the possibilities, without requiring any form of "commitment" from them.

Solution

Show nickname prompt as popup dialog after clicking "Join".

Alternatives

No response

Priority

Could-have

Users scope

guests

Affected features

login, rooms list

Pull request

no

@ltguillaume ltguillaume added the enhancement New feature or request label Feb 10, 2023
@nioc
Copy link
Owner

nioc commented Feb 10, 2023

While I agree on this general UX rule (provide contents before requesting user information), I think it is not relevant here.
I mean, it's a damn chat, just asking a nick should not be an obstacle 😄

It really depends on the usage, if you plan to just link your guest homepage somewhere without any explanation, it may be confusing, but I think that providing a /guest?join={jid} link is a more common practice and and in this case, it will be more difficult to display the nick prompt before loading room and handling error (nick already taken for example).

Once this is said, there would be another issue to be managed:
Landing page loading -> Anon connect (without nickname), display rooms, wait for user to choose a room -> then ask for nickname, but what we do after user come back to rooms list? Re ask or reuse the same nick?

Instead of presenting the user with a nondescript and somewhat confusing page asking for a nickname

👉 You are a bit harsh, this is a standard input with a Nickname placeholder and an User icon explaining what the user should enter.

As an improvement, we might add a help text:
image

I do not think adding an extra label should be relevant:
image

For benchmark, here a well known social network landing page, I think our nickname field is more explicit 😉:
image

@ltguillaume
Copy link
Author

ltguillaume commented Feb 10, 2023

👉 You are a bit harsh, this is a standard input with a Nickname placeholder and an User icon explaining what the user should enter.

While you're talking about the clarity of the (let's call it) "widget" to fill in a nickname (which is perfectly clear imo), I was talking about the lack of context on the page: you're sending someone to another page, and all of a sudden they get asked for a nickname... but for what, really? It's unclear. There's no indication that afterwards they'll either enter this and that chat, or will be presented with a dashboard with several chats to choose from. And since the URL will probably also diverge from the page's URL they're coming from, it's disorienting and may even get suspicious.

The example of the "well known social network landing page" has the context of the company's logo, some text about what you're even doing on that page (and a known URL).

While I wasn't thinking of the "instant join" route when I proposed this, I guess the website that contains/the person that sends the link is more likely to give that context, while when linking to the dashboard/room list, it would be great for the end user to see the room descriptions before thinking of entering any of them.

@nioc
Copy link
Owner

nioc commented Feb 10, 2023

I understand... but if the people you sent the guest link to don't trust you to just type a nickname... I can't help.

To put the context into perspective, this page was created after feature request #19, but my original purpose with this app is for registered users, which have a more classic UI login page and a customizable title:

image

May be modifying the guest landing page to a form like the registered one should be enough?
And if truly necessary, a customizable description.

This is the best I can do.

@nioc
Copy link
Owner

nioc commented Feb 10, 2023

Something like this:
image

@ltguillaume
Copy link
Author

ltguillaume commented Feb 10, 2023

Again, it's not about the widget itself. It's about the missing context, and the proposal above is not adding any context of value: it's still impossible to deduce from that what room you will be joining. That's why it would be so nice to first see the rooms list.

@nioc
Copy link
Owner

nioc commented Feb 10, 2023

I understand, you want the user to browse rooms before anything else, but as I said, it is not that simple to implement it.

a customizable description

👉 I propose another way by letting admins write contextual information they want to give to visitors

@ltguillaume
Copy link
Author

Ah, misread your post there, I was looking too much at the pretty pictures. My apologies.

I especially missed the word "customizable". That could already go a long way, really, perhaps allowing to add some HTML/the website's logo above it, so there's more coherence between the originating website and the xmpp-web instance.

@nioc nioc self-assigned this Feb 11, 2023
@nioc nioc added this to the 0.9.11 milestone Feb 11, 2023
@nioc nioc closed this as completed in 5061bb6 Feb 11, 2023
@nioc
Copy link
Owner

nioc commented Feb 11, 2023

Redesigning guest landing page is done!

Default (no custom):
image

With customizable logo and welcome text:

{
  //...
  logoUrl: 'https://avatars.githubusercontent.com/u/4777345?v=4',
  guestDescription: '<p>Welcome to our <i>webchat</i>!<br/>Please type a <a href="javascript:alert(1)">nickname</a>, then you can join a room!</p><p>This is a very long message to see how the UX is <b>responsive</b> on small screen devices.</p>',
}

image

@ltguillaume
Copy link
Author

This looks great and is just the right amount of customizable. Thank you!

@Ppjet6
Copy link
Contributor

Ppjet6 commented Feb 11, 2023

This looks cool!

I was telling @ltguillaume that ConverseJS has a nickname input right when the user enters the chat, and countless times I've seen a user enter with their nickname set to the question they wanted to ask.. Terrible UX.

I think I like that we're keeping it before the rooms, but I'm no UI/UX designer. The added context will certainly make a difference I hope.

@nioc
Copy link
Owner

nioc commented Feb 11, 2023

Thanks for feedback, now it's up to you to bring this context in local.js now 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants