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 interface v1 #40

Open
1 of 3 tasks
erlend-sh opened this issue Feb 4, 2025 · 1 comment · Fixed by #43
Open
1 of 3 tasks

Threads interface v1 #40

erlend-sh opened this issue Feb 4, 2025 · 1 comment · Fixed by #43
Assignees

Comments

@erlend-sh
Copy link
Contributor

erlend-sh commented Feb 4, 2025

The way we’re currently displaying Threads in the threads-view is actually how I think we should be displaying it in the chat-view immediately following a message-threading event.

Image

Let’s say we’ll show maximum the three first posts (could be interesting to combine that with the last two, but probably best to punt the extra UI work that’ll entail for later).

Upon completing the threading and thus making a new thread, this preview widget shows at the bottom of the chat, with a clickable title (to enter the thread) as well as a ‘Dismiss ❌ ’ button to hide it if you just wanna continue the mainline conversation.

Essentially we just start by making an improved version of the Discord method, by showing additional posts in the New Thread callout block:

Image

The threads-view on the other hand should be compact, essentially like this:
Image

Opening a thread (whether from the preview-widget’s linked title in chat-view or the compact item in threads-view) takes you to a page like this:

Image

(I don’t care too much about the specific elements/placements etc. right now, as these always go through many iterations anyhow.)


TODO

@erlend-sh erlend-sh added this to Roomy Feb 5, 2025
@erlend-sh erlend-sh moved this to Todo in Roomy Feb 5, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in Roomy Feb 6, 2025
@erlend-sh
Copy link
Contributor Author

erlend-sh commented Feb 15, 2025

zeu: I personally would like any messages to be all in one timeline. The idea being that eventually the main timeline will have indicators as to if the message belongs in a thread, but the entire conversation is captured.

There are two ways to go about this and they both have pros/cons, but they can probably co-exist as UI preferences:

Unified timeline

The benefit is that no post ever mysteriously disappears from the timeline.

Challenges include:

  • how do users know how to correctly reply to an inline thread versus the mainline chat, and do it easily.
  • anything more than two simultaneous threads will easily overwhelm the timeline.

Zulip for instance only has okay solutions to both of these problems. We need to be better.

Ejected threads

The benefit is less noise and crossing of streams.

Challenges:

  1. how can users be kept aware of ongoing thread so they don’t miss out on the convo?
  2. posts disappearing from main timeline can lead to confusion.

There is a pretty good solution to (1) which Discord and similar doesn’t do, which is to continue clearly showing the thread as a tab in the mainline window, and also as 🆕 in the right-hand sidebar (wouldn’t be visible on mobile though), that way it’s still highly discoverable.

(2) can also be solved for by not removing the messages from view right away, but marking them as having been moved/threaded and as such they’re corralled into a box and cannot be replied to inline but rather have to be clicked on to enter the new thread.

The cool thing is we can indeed support both options interchangeably. And we get a preliminary version of ‘Ejected threads’ by building in the ability for users to dismiss/hide threads from mainline at their own convenience.

I think the Discord-style thread ejection (which we already do better, by allowing multi-post transitions) is still the best/easiest thing to build first, because:

  • The all-in-one UX is more complex and will take longer to do well.
  • Threads-compatibility with Discord is more strategically urgent, because it enables us to provide a seamlessly bridged experience.

Therefore reopening this issue with a refreshed TODO in top.


Essentially we just start by making an improved version of the Discord method, by showing additional posts in the New Thread callout block:

Image

@erlend-sh erlend-sh reopened this Feb 15, 2025
@erlend-sh erlend-sh moved this from Done to In Progress in Roomy Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

2 participants