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

Add a UI to explore public spaces #338

Closed
3 tasks
SimonBrandner opened this issue May 12, 2021 · 13 comments · Fixed by matrix-org/matrix-spec-proposals#3827
Closed
3 tasks

Add a UI to explore public spaces #338

SimonBrandner opened this issue May 12, 2021 · 13 comments · Fixed by matrix-org/matrix-spec-proposals#3827
Assignees
Labels
A-Spaces Spaces, groups, communities O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement X-Spec-Changes Z-IA Issues relating to information architecture Z-Labs Z-NewUserJourney

Comments

@SimonBrandner
Copy link

SimonBrandner commented May 12, 2021

IMO, this should be a completely different dialog from the current explore rooms dialog. This is to create a clear separation between spaces and rooms and to avoid confusing users. I think Discord can be a good place from where to take inspiration.

Related: element-hq/element-web#17244

Edit by @kittykat:

For this to progress, product need to have a proposal on best approach or options from developers/backend to chose how to proceed
In terms of UI, this could be presented in the new search experience with a "Spaces" filter, similar to "Rooms" that we will have in the new search dialog.
When a space is clicked, it should open the "Explore space" page.
On mobile, spaces and rooms are differentiated by round or square avatars, this could continue to be the way to differentiate them in the search results until search filtering is added.

  • Web: add a "spaces" filter to the new search experience (needs design)
  • Android: make sure that spaces are differentiated from rooms in the results
  • iOS: make sure that spaces are differentiated from rooms in the results

See here for proposal

@aaronraimist
Copy link

keywords: search find

@cognifloyd
Copy link

I think "Explore rooms" could be reused to provide this feature, but it needs a filter to say "Only show spaces".

@SimonBrandner
Copy link
Author

I think "Explore rooms" could be reused to provide this feature, but it needs a filter to say "Only show spaces".

This would work at first but in the long term I think it should be its own thing that would be opened from the space panel so that it's more user friendly

@not-a-dev-stein
Copy link

It can be done in a really similar way to Discord. The "explore rooms" button can stay where it is and the "explore spaces" button can be added below or on top of the already existent "create a space" button, to have clear separation between the two.

@PxBCPG
Copy link

PxBCPG commented Nov 5, 2021

We can create public spaces, but we can't get to them within the explore session (actually, you need the full room name to join it)
What is the advantages of public versus private spaces then ?

@t3chguy
Copy link
Member

t3chguy commented Nov 8, 2021

What is the advantages of public versus private spaces then ?

Someone can join without a Matrix invite (e.g by a matrix.to link)

@PxBCPG
Copy link

PxBCPG commented Nov 8, 2021

Well, here not really because he will need to know the existence of this room, and he won't be able to "discover" it

@t3chguy
Copy link
Member

t3chguy commented Nov 9, 2021

It can be discovered out-of-band, e.g via Twitter, Blog post, youtube video, whatever. That isn't possible for a private space.

@tgr
Copy link

tgr commented Dec 25, 2021

Even if there will be a separate space finder dialog, the Explore rooms feature should do something useful when a space name is entered. Users might be unsure about the difference between rooms and spaces, or simply mistake a space name for a room name (there is no way to tell them apart). Just giving zero results can be confusing; a good UI should DWIM.
(At which point a combined dialog might be simpler than having a rooms dialog that can do something intelligent when you enter a space name plus a spaces dialog that can do something intelligent when you enter a room name.)

@nadirtmalik

This comment was marked as off-topic.

@t3chguy t3chguy transferred this issue from element-hq/element-web May 23, 2022
@clokep
Copy link
Contributor

clokep commented May 26, 2022

A fairly easy solution to this could be to add spaces to the current room directory. The work required on the backend to do this would be:

  • Allow spaces to be added to the room directory (I don't see anything immediately blocking this, but I might be missing something!).
  • Have the room directory return an extra field (the room_type, as the /hierarchy API does).
  • Allow filtering on room types.

This would require an MSC, but it should be fairly straightforward extensions of the current APIs with good justification from other APIs (e.g. the /hierarchy API).

Estimate wise for work, I think the first two bullets would be pretty easy (1 week?) and the filtering is a bit harder (1 - 2 weeks: this is because we don't put the data in the right spots currently -- we don't store the room type directly in the database, so it is difficult to filter on, but this could/should be changed regardless).

@kittykat
Copy link
Contributor

I'm going to remove the needs product label as the above approach sounds great 👍

@kittykat kittykat removed the X-Needs-Product More input needed from the Product team label May 26, 2022
@clokep
Copy link
Contributor

clokep commented May 27, 2022

This would require an MSC, but it should be fairly straightforward extensions of the current APIs with good justification from other APIs (e.g. the /hierarchy API).

@SimonBrandner wrote one! 🎉 See MSC3827

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Spaces Spaces, groups, communities O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement X-Spec-Changes Z-IA Issues relating to information architecture Z-Labs Z-NewUserJourney
Projects
None yet
Development

Successfully merging a pull request may close this issue.