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

Infinite scrolling behaviour in right panel #24367

Open
daniellekirkwood opened this issue Jan 30, 2023 · 2 comments
Open

Infinite scrolling behaviour in right panel #24367

daniellekirkwood opened this issue Jan 30, 2023 · 2 comments
Labels
A-Notif-Panel A-Right-Panel A-Threads O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Minor Impairs non-critical functionality or suitable workarounds exist T-Enhancement X-Blocked Z-Labs

Comments

@daniellekirkwood
Copy link
Contributor

Your use case

Threads work revealed a design problem with the right panel (align the threads list to the top...)

We have deprioritised this work from Threads as it's non-trivial however, the intended design should be implemented at some point so I'm moving discussion links here so that we can track them moving forwards.


From @janogarcia Here

So, the only issue pending to be addressed is the infinite scrolling behavior. More specifically, the limitation of the current implementation (BACAT), that prevents us from ordering the scrollable events from top to bottom.

I’ve been thinking more about this lately and would like to share some updates:

I’m dropping the requirement (I already checked it off) for the top-to-bottom alignment in the thread timeline (Align timeline to the top of the timeline container.), which is, by far, the less critical one. I’d even say that it can work almost equally well either with BACAT or TACAB scrolling.
I still consider the case for the thread list to be relevant, though (Align timeline to the top of the timeline container.). We (the design team) would still want users to have scrolling lists where the items are ordered from top to bottom. That doesn’t only make sense for the Thread List but other contexts as well, like the Mentions/Notifications panel or the Files panel.
From a UX perspective, we can’t presume that BACAT scrolling will work and serve best every possible scenario and interaction need (e.g., we already use the top-to-bottom scrolling pattern in the room list on the left sidebar and the people list on the right sidebar, although not for infinite items).

We consider top-to-bottom scrolling a core interaction pattern worth the effort of solving. It surely has a considerable implementation cost, but it also has a similar or higher product/UX cost not having it.

Now, given that we want to reuse this behavior in different contexts (mentions panel, files panel), meaning it’s not a Threads-specific limitation but a core interaction issue affecting our product in general, I think we could move this requirement out of the scope of the Exit Beta milestone for Threads and handle it separately.

So, to recap:

We are dropping the requirement for the vertical alignment of the thread timeline altogether.
We’d still want to order the thread list from most recently updated on the top to oldest on the bottom. We would handle it separately from the Threads project, treating it as a global app enhancement instead.
What do you think?

Have you considered any alternatives?

No response

Additional context

No response

Are you willing to provide a PR?

No

@daniellekirkwood daniellekirkwood added T-Enhancement A-Threads S-Minor Impairs non-critical functionality or suitable workarounds exist O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience A-Right-Panel A-Notif-Panel labels Jan 30, 2023
@daniellekirkwood
Copy link
Contributor Author

Moving to web repo as it's not an issue on mobile.

@daniellekirkwood daniellekirkwood transferred this issue from element-hq/element-meta Jan 30, 2023
@t3chguy
Copy link
Member

t3chguy commented Jan 30, 2023

Blocked on #23539 as it'll likely rip out the entire scrolling implemenation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Notif-Panel A-Right-Panel A-Threads O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Minor Impairs non-critical functionality or suitable workarounds exist T-Enhancement X-Blocked Z-Labs
Projects
None yet
Development

No branches or pull requests

2 participants