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

I can't figure out how anything works in this app (general UI/UX review) #16113

Closed
ckp95 opened this issue Jan 10, 2021 · 14 comments
Closed

I can't figure out how anything works in this app (general UI/UX review) #16113

ckp95 opened this issue Jan 10, 2021 · 14 comments

Comments

@ckp95
Copy link

ckp95 commented Jan 10, 2021

I admin a Discord-based community and we're looking at Matrix/Element, among other things, as an alternative. I tried it a while ago, got frustrated with the voice chat, and gave up. Now trying again. I've been making test accounts and rooms and communities this whole evening, just to assess its suitability. For the life of me, I don't understand how it works.

Here's a brief summary of what I've tried to do and the frustrations I've run into. I hope what I say makes some kind of sense. If you want I can record a video of me trying to use it so you can see what I'm talking about. I'm using the desktop version on Manjaro Linux, for what it's worth.

The first thing I did was make a room. I want it to be invite-only and encrypted, so I use these settings:

image

(I don't know what a "homeserver" is yet so that last option is a mystery to me.)

So then I'm dropped into an empty room. How do I invite someone? I know that to begin with it puts a link in the channel to invite users, but I think I closed it accidentally. So I try right clicking the room in the list on the left to see if there's an "invite" option. Nope:

image

So I look anywhere for a button that says "invite" or is shaped like a plus sign that might let me invite people. Nothing. It turns out I have to click a ℹ️-like icon labelled "Room info" and then click "share room".

image

I don't know why that is in "room info". Surely "room info" should be information about the room, as in read-only information/properties. I wouldn't ordinarily look there for actions done with a room, like inviting people or adding widgets.

Anyway I click "share room" and I get a copyable link that I can send to a friend. This looks like what I want. So I send the link to my friend via Discord to see if he can click it and join. Turns out he can't join. It says You are not invited to this room. for him. Why???? I tried again with other people and it didn't work for anyone. Is it because the room is private? But in that case why even offer the link-generation if it will never work?

So I start aimlessly clicking around again, and stumble upon another way of inviting people. "Room info" -> "1 person" -> "invite to room" ...

image
image

Again that's not intuitive at all. But in any case I'm able to invite my friend and he's able to join the room and we can see each other's messages. Good. I would prefer to be able to post a link in our Discord and then people could just click it and join that way, but manually inviting everyone isn't that bad in comparison.

So then I think, one room isn't enough. Our Discord server has a bunch of channels for different topics. So I make another room.

image

And I make a new community intending to have both rooms as part of that community:

image

Oh wait, I need to give it a URL (why doesn't it just auto-populate the URL field as I type the community name so I'm not typing the same thing twice?)

image

Then I go into the community view thing whatever it's called and I'm greeted with this magic eye puzzle nonsense in the top right:

image

I squint for a while and with great difficulty I decipher it as "Invite to this community".

Also these icons are garbage. Other than the gear (universal symbol for "settings") I can't tell what they mean until I mouse over them.

image

The second one looks like it means "upload", the third one looks like a three-toed animal paw and I have no idea how it means "members", and the fourth one kinda makes sense as "rooms" but also not really, since I can't see anywhere else in the app where the # symbol is associated with rooms. There's more than enough horizontal space, even on my small laptop screen, to just have buttons "Settings", "Share", "Members", "Rooms" spelled out explicitly rather than these cryptic icons.

Also when I click on rooms the text gets fucked up too:

image

And wouldn't it make more sense to have the option to add a room right here, rather than having to go through another menu:

image

Because that zone is just dead and useless at the moment. Also it would be nice to have a way to create a new room from the community management screen, and then automatically attach it to that community. It feels awkward and unnatural to have to create an orphaned room and then manually add it to an existing community. In Discord making a new channel in a server is a two-click affair.

Anyway let's add a room.

image

Okay, what is a "room list"? Is that public or private? Who can see it, who can join? What's the difference between that and the "community page"? And non-members of what? Non-members of the community, or people who are members of the community but non-members of the rooms? Or something else? And what about "community page"? Is that a page belonging to the community, or is it a page of communities (like a directory)? I mean it's probably the former but I don't know that for sure. Where and to whom is this information broadcast? Look, all I want is to invite people to the community and then have them be able to join whatever rooms are a part of it. Right now I don't know whether I want to check that option or not, so I leave it unchecked.

Now I see this and am alarmed:

image

"Guests can join" -- what does "guest" mean here? Guest of what? Is this open to the whole public? Or does it just mean people who are invited to the community, but not in those rooms at this particular moment, can choose to join those rooms if they wish? I hope it means the latter, but how do I know that? I ctrl-f for "guest" in this Matrix FAQ page and there's nothing.

So I try to add my friend to the community. He says nothing happens on his end. No notification or pop-up or sound or anything. I'm sure I used the right username, but he's adamant that he got no notification. He sends me this screenshot of what it looks like for him:

image

So we're both very confused. I finally suggest clicking the + icon in the circle at the top left, and he sees the notification in there and is able to join. I'm sorry but that's just preposterous UI/UX. If I hadn't been guiding him through it out-of-band, he would have had no idea that he'd been invited anywhere, and the route to finding the invite is in a completely counterintuitive place -- the + icon surely implies adding or creating a community yourself, not joining one or accepting an invite.

Anyway, now he's in the community, and he can see those two rooms -- the one he is currently in that I invited him to earlier, and the newer one that he isn't in. I ask him to try joining the newer one. He isn't able to. WTF??? Why??? What is the point of being able to invite people to communities if you still have to manually hand out room invites to each and every person? If there are N rooms and M people that's NxM invitations. Totally preposterous.

And what does it mean that he can't join, but "guests" can join?

I try to find out some way around this. I wonder if there's some simple setting on the room itself that fixes this. I find this:

image

Again, this mysterious "guest" concept. Well I don't want "guests", whoever they are, to be allowed in, so I try the second option. It says I need to make a URL for my room. That doesn't sound good. Why do I need a separate URL for all my rooms? They're not meant to be public. Anyway, I do so. Now my friend can join from the community screen thing. But now I notice a little globe on the room icon:

image

no_god

No no no no no! That's not what I want! I just want people from the community to be able to join the room without me needing to manually invite them. I don't want any random interloper able to join. Why is this so hard? What am I supposed to do? I'm at a total loss. At this point I gave up.

The way "communities" and "rooms" work is massively confusing to me. I don't know how I'm supposed to conceive of them. At first I assumed that "communities" was just the Element version of Discord servers, meaning rooms are hierarchically organized under communities. Now don't get me wrong, I'm not saying that Element has to slavishly follow the way Discord does things. But you must understand, that if I see a UI metaphor in a new app that resembles a UI metaphor in an app I am used to, I will assume it is a metaphor for the same kind of thing, and I'll be confused and disoriented when it violates that expectation.

The layout resembles Discord: a vertical column of little circles on the far left, where each little circle represents a "community", and then in the next panel a bunch of rooms. So I thought the rooms must "belong to" the circles. But it turns out they don't -- the rooms exist on their own, sui generis, and the circles are just filters for the room visibility (I think?). It took me a long time to figure that out.

It doesn't help that at first I didn't notice the little green indicator mark thing on the left of the circles that indicates whether they're being used for filtering or not, so I would be clicking the circles and rooms would appear and disappear seemingly at random. I guess that's ultimately on me for being unobservant, or it might have been because I had the desktop window on the left side of my screen and I might have dragged it a few pixels past the boundary so the green part was occluded (I don't remember). Either way, maybe there could be stronger highlighting of the circles when they're clicked. Maybe the whole circle could light up or something.

image

Anyway, communities and rooms aren't like Discord servers and channels. Fine. I understand what they aren't. But I don't understand what they are. I don't get how access is managed, or is supposed to be managed. I don't understand their visibility. I don't understand their life cycle. I don't understand how they're owned. And I haven't even touched "federation" or "homeservers" or "synapse" or any of these other mystery words I see dotted around the settings menus. From what I've read of "federation", I don't think I want it. I don't want to share my community or have it discoverable by any strangers, we just want to talk about video games in peace and quiet.

It is such a frustration that on the one hand, this is clearly a promising technology that can get us all off centralized platforms, but it is hamstrung by unclear / byzantine UI metaphors. Whatever mental model I'm supposed to have when using this app, I can't grasp it. And if I -- the guy who spent a whole evening fiddling with it -- can't grasp it, then obviously nobody in my Discord community will either, so we can't migrate.


PS, what is the point of this:

image

Why arbitrarily cut off the room list with "show one more"? How is it saving space? There's nothing below it! Just make a scroll bar for that section.


Oh and now that I've made this huge mess of test rooms and test communities, I can't figure out how to delete them. I can leave them, but I can't see the option to delete. If I leave them, are there are bunch of zombie rooms and communities out there? Can others join them and see my old messages?


Have you ever been at a party and someone is taking pictures, and everyone gathers up in a group to say cheese, and they all sort of smush in from the edges because they're worried about being out of frame, even though the camera's field of view is more than wide enough, so in the final picture everyone is comically squished up in the middle of the picture? The whole UI feels like that. Lots of extraneous whitespace and padding everywhere that makes all the menu elements squished and you have to scroll more than you should. And the parts that should be allotted more space, like buttons, are reduced to tiny incomprehensible icons rather than readable words. Very claustrophobic.

@beercanchicken
Copy link

beercanchicken commented Jan 11, 2021

Good feedback in there. Breaking this into a bulleted list for those who don't feel like sifting through the extra words or absorbing the user's vibe.

  • Room creation screen
    • Explain what a "homeserver" is more clearly
    • Give way for user to invite other initial users during this process
  • Room
    • Right click, add "Invite" to context menu
    • Add option to delete the room, or explain better what leaving a room does. Are there zombie communities?
    • Generate invite link in private room becomes "you are not invited to this room" on invited client
  • Community
    • Autofill the community ID
    • Fix visual bug on "Invite to this community" button
    • Implement "add room" button in community management screen
    • Provide more information about rooms in the "add rooms to community" screen
    • Overall provide better clarity on what a "community" is and the scope of the function of one
  • Global
    • Add option to show labels beside text for icons, or use an icon that the OP suggests
    • Clarify who can join a room (eg "guests can join"); help guide user through more clear pathway to achieve intended result of inviting a user (haven't had problems with inviting a user myself, but the "guests can join" I don't understand.)
    • Better notification when being asked to join a room
    • Better highlighting of circles on the lefthand bar when clicking them
    • Don't truncate room lists with "show more" when that list is under X number of items (instead of 5)
    • Explore reduction of whitespace by using button labels, adding controls, and extra information
    • Disable user text selection on left People/Room panel (mine)
    • Fix that problem where people gather in the middle of a photo

Hope that was accurate, OP.

@ckp95
Copy link
Author

ckp95 commented Jan 11, 2021

Yeah that about covers it. I hope I didn't come off as too negative, I get that this project must deal with far more difficult technical challenges than what centralized platforms are doing, with less people and budget, so maybe UI/UX has suffered. Buried under these problems there's a fantastic program trying to break free and it's frustrating that I can't bring my friends onto it yet.

Don't truncate room lists with "show more" when that list is under X number of items (instead of 5)

I don't see why it needs to be truncated at all. If there's nothing below that UI element to compete for space, then what is wrong with having a long scrollable list? We can already collapse it by clicking the little chevron next to "Rooms".

Better notification when being asked to join a room

And joining community.

@baltitenger
Copy link

I don't see why it needs to be truncated at all.

I think the main reason is because that list contains four categories: Favorites, People, Rooms, and Low priority (sometimes Historical as well?). If the People category was always expanded, you'd have to scroll all the way down to find any rooms. Currently, I have People collapsed and Rooms expanded, so I can scroll down if I want to see more rooms, but I still have to expand People if who I'm looking for isn't in the top few. The Favorites and Low priority tabs have rooms and people mixed, and I'm not sure why there's a distinction at all in the first place. You can create chats that are not one-to-one and they still end up in People, or rooms with only one other participant, and it's still a room. I think it would make sense to just leave Favorites, Chats, and Low priority, and don't truncate anything. Completely collapsing might still be useful, but I don't think truncating makes sense.

@ara4n
Copy link
Member

ara4n commented Jan 12, 2021

Thanks @ckp95 for the comprehensive writeup and @beercanchicken for the summary. Our current plan is to ship Spaces (which replaces and fixes your Community bugs) & Social Login (which provides a workaround to all possible login/signup bugs by offloading them to your preferred identity provider)... and then do a protracted sprint where we do nothing but fix papercuts like these.

@ckp95
Copy link
Author

ckp95 commented Jan 12, 2021

Social Login (which provides a workaround to all possible login/signup bugs by offloading them to your preferred identity provider)

Will this be optional? I'm trying to dissociate from facebook/google/microsoft sign-ins as much as possible nowadays.

@ara4n
Copy link
Member

ara4n commented Jan 12, 2021

of course. it's just an attempt to smooth UX for those who are willing to piggyback on someone else for identity.

@irelativism
Copy link

I would make a small adition, and call homeservers, just servers. Much more intuitive.

@t3chguy
Copy link
Member

t3chguy commented Jan 14, 2021

There are multiple types of servers which are choosable by the user involved though,

Homeservers
Identity Servers
Integration Servers

@HarHarLinks
Copy link

Since I agree rebranding is the way to go, here's my suggestion for the issue of technical terms that users (or community admins) won't be familiar with: add tooltips on mouse hover (and ❓ icon indicator) whereever a technical term like "homeserver" appears in the UI that explains what it is, e.g.:

Your homeserver is the server you connect to when logging into Matrix. Its address makes up the second part of your MXID: @HarHarLinks:matrix.org is the user @HarHarLinks on the homeserver matrix.org. Homeservers can connect to each other, allowing you to talk to users from other homeservers. ⧉ Click here for more info

@ShadowJonathan
Copy link
Contributor

@jryans why was the UI/UX label removed?

@t3chguy
Copy link
Member

t3chguy commented Mar 14, 2021

The label itself is in limbo and 99% going away. See it being empty.

@SimonBrandner
Copy link
Contributor

@t3chguy, you were faster! :D

@toluschr
Copy link

image
Here is something I noticed: The notification count badge is placed confusingly.

@robintown
Copy link
Member

Thanks again for the comprehensive UX review, @ckp95. As others have hinted at here, spaces, the replacement for communities, are now in beta, and a number of the other UX issues you identified, such as inviting being too difficult to get to, have had improvements made in the past few months. There are still a couple of outstanding issues in the list, such as guest-related settings being confusing, and not being able to allow access to rooms based on space membership, but these have been split out into separate issues and are being worked on. I'm going to close this for now, but if there's anything important you feel has been missed, I encourage you to open more bite-sized issues for them, as this improves the chances of devs+designers being able to find them and pick them up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests