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

Threads: Exit Beta #187

Closed
daniellekirkwood opened this issue Feb 24, 2022 · 10 comments
Closed

Threads: Exit Beta #187

daniellekirkwood opened this issue Feb 24, 2022 · 10 comments

Comments

@daniellekirkwood
Copy link
Contributor

daniellekirkwood commented Feb 24, 2022

There are items that we did not deliver as a part of the MVP for Threads that need to be delivered as soon after the MVP as possible.

Project board

Proof of concepts

Matrix Spec Changes

User Improvements

The first beta launch of Threads was successful but missed the mark in some areas. Before removing the Beta label we should resolve the following user issues:

  • Threads: Notifications
    • Notifications should be predictable. They should be reliable cross-platform and enable users to understand which spaces, rooms, and threads contain messages they have not yet read.
  • Thread list sorting and filtering
    • The Thread List Panel inside a room should be ordered by "most recently responded to" so that active threads are nearer the top (even if the root message is further back in time).
    • The Thread List Panel should also be filterable by Threads that the user has Participated in, so that they can see the threads they either started or responded to.
  • Scrolling and loading
    • When a room contains a lot of Threaded messages, the timeline struggles to scroll back smoothly, even when the Thread List Panel is closed. The Thread List Panel also struggles to load in a timely manner and we should be aiming to improve the performance of our product.
  • Fallback for incomplete Threads
    • There may be several reasons that a Thread in the Thread Timeline is incomplete: the user doesn't have permission to the history, or the room was upgraded, etc. We have designs for these use cases and we should implement them where possible.

Functional Improvements

Stretch Goal:

Design Improvements

Major Bugs

As part of this launch we are also committing to resolving all P1 issues

Critical bugs:

Release

@kittykat kittykat added T-Epic Issue is at Epic level A-Threads T-Enhancement labels Mar 4, 2022
@github-actions github-actions bot added the Z-Labs label Mar 4, 2022
@daniellekirkwood daniellekirkwood self-assigned this Mar 5, 2022
@novocaine novocaine removed the Z-Labs label Apr 22, 2022
@novocaine novocaine changed the title Threads: Fast Follow Threads: Exit Beta Apr 22, 2022
@janogarcia
Copy link

janogarcia commented Apr 22, 2022

🐛 Bugs

Design implementation review

Thread notifications

Please refer to relevant thread:

🔔 Notifications: MVP status and post-MVP plans.
https://matrix.to/#/!YFprWIqHBfwwwCBYOe:matrix.org/$WUveEsZH-KliepTx6iyWnLBV9vDiDVGajOkr7pMjJ3o

From all the stuff marked as "🔮 Post MVP" I'd only recommend implementing the following ones for the "Exit Beta" milestone:

  • Thread list: Sync the read status across clients.
  • Room header: Display unread count in the room header badge.
  • Thread timeline: Only mark thread as read if the user actually read it (went past the unread marker down to the latest message, rather than marking it read as soon as the user opens the thread).

Everything else marked as "🔮 Post MVP" but excluded for the "Exit Beta" milestone can be reconsidered at a later stage. For example, potential Post v1 enhancements:

  • Room list: Thread notifications in room list. Help users keep track of thread updates across rooms and navigating them, instead of having to peek into every room and look for thread updates.
    Figma
  • Room timeline: Thread events. Help surfacing relevant thread activity that otherwise would go unnoticed (e.g., a user starts a thread on an old message).
    Figma

Thread notifications: Thread replies to root messages going unnoticed

Please refer to relevant thread:

🎛 On thread filtering params
https://matrix.to/#/!YFprWIqHBfwwwCBYOe:matrix.org/$owxab8NKxIqw2sMoypkxnGiqDUpc282o8VYAQwzrFUE

Current implementation prevents you from being notified when someone starts a thread on one of your messages without mentioning or quoting you.

“My threads” should include threads where I’m the author of the root message even if I didn’t reply to it or no one mentioned me directly.

Failing to implement it means users will be missing replies to their messages.

  • User A post a message in the main timeline.
  • User B starts a thread for User A message, without directly mentioning him (e.g., User B message is That looks promising. Any chance I can test the service before I commit to your contract?)
  • User A never gets a notification for User B request.
  • Missed business opportunity.

Rendering of content types and formatting styles in root messages and thread summaries

I've recreated all the test cases, run them again and updated the status for all platforms (Apr.

Related issues:

Handling incomplete threads

The user can’t view messages in a thread prior to her join or invite date, due to room permissions. Or, the root message is missing due to Federation (delayed or permanently unavailable) or some other reason (buggy or malicious server).

#1925

Design explorations:

Handling room upgrades

Or how we could minimize the negative impact of room upgrades on Threads. Room upgrades are rather infrequent, but there will probably be new room versions released in 2022.

Related issues:

✨ Improvements

Less ambiguous rendering of root messages and thread summaries pairs in the main timeline

Implement improved spacing for the thread list and timeline

Related issues:

Load states for thread panel (thread list and thread view)

Related issues:

✋ Blocked

Persist scrolling position of thread list

Losing scroll position while navigating threads makes you easily lose context which is quite inconvenient and adds friction for example when catching up with updates/unreads. The user should be able to continue browsing the list at their previous scrolling position.

Currently blocked “until we have a paginated API for this, as the solution will be rather different”.

Related issues:

Sort order of thread list on Web

We should be able to order items from most recent activity on top. Currently blocked by BACAT (Bottom-Aligned, Clipped-At-Top) infinite scrolling implementation.

Related issues:

✅ Already fixed

@janogarcia
Copy link

janogarcia commented Apr 22, 2022

@daniellekirkwood @novocaine I basically reviewed every source of information I had on threads for compiling the list above:

  • Open issues across all platforms (GitHub)
  • Feature ideas backlog (GitLab, GitHub...)
  • Design explorations backlog (Figma)
  • Personal notes

I tried to figure out what needs to be accomplished to exit threads from beta while keeping potential future enhancements as a separate concern.

@janogarcia
Copy link

@novocaine 🐛 We need to log an issue somewhere (probably as a meta issue) to describe the current limitation where a room with many threads fails to load message history in the main timeline when scrolling back.

Related discussion in Threads Delivery room:
https://matrix.to/#/!YFprWIqHBfwwwCBYOe:matrix.org/$RQxl9muD26bpmpJNfF3LSfgyNvg0oxGXiVc3c3Q8Mg8

@novocaine
Copy link

@novocaine 🐛 We need to log an issue somewhere (probably as a meta issue) to describe the current limitation where a room with many threads fails to load message history in the main timeline when scrolling back.

Related discussion in Threads Delivery room: https://matrix.to/#/!YFprWIqHBfwwwCBYOe:matrix.org/$RQxl9muD26bpmpJNfF3LSfgyNvg0oxGXiVc3c3Q8Mg8

Michael has added this to the scope already #240

@janogarcia
Copy link

Awesome, thanks!

@janogarcia
Copy link

janogarcia commented Jul 29, 2022

@gsouquet @daniellekirkwood Would it be possible to move the following issue from my list above to the Exit Beta epic?

Losing scroll position on Web when navigating between the thread list and thread detail views:

As noted below, it was blocked on a technical constraint the last time we discussed it. If that's not longer a limitation we should consider including it for the epic, otherwise the experience when navigating back and forth between the Thread List and the Thread view will be subpar.

Scenario:

  1. Imagine that you're in your email client of choice and have scrolled down the list in your Inbox (or Archive);
  2. then you click or tap on an email to view it, and;
  3. then you navigate back to the Inbox only to see that you are sent back to the initial/top scroll position of your Inbox, instead of going back to the scroll position you were before.

Persist scrolling position of thread list

Losing scroll position while navigating threads makes you easily lose context which is quite inconvenient and adds friction for example when catching up with updates/unreads. The user should be able to continue browsing the list at their previous scrolling position.

Currently blocked “until we have a paginated API for this, as the solution will be rather different”.

Related issues:

@daniellekirkwood
Copy link
Contributor Author

We want to make sure we do not exclude the possibility of a follow/subscribe feature in the future.

@daniellekirkwood
Copy link
Contributor Author

Today we made the decision to add an icon to a message preview when that message is from a thread. This behaviour of showing message previews in threads has been disjointed on all the platforms - this approach unifies it.

GH issues are being created at a platform level to reflect it and build the changes :)

@clokep
Copy link
Contributor

clokep commented Dec 13, 2022

This is a follow-on to element-hq/element-web#203 FTR.

@daniellekirkwood
Copy link
Contributor Author

This epic will be closed as the majority of work has been completed and the target for the quarter achieved.

The outstanding items are being tracked in their issues/repo's or have been deprioritised due to resourcing shifts.

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

8 participants