damus
damus copied to clipboard
Conversation threads are difficult to follow
what happens Threads with multiple replies are extremely difficult to follow. Scrolling does not load additional messages, and replies are invisible to the user unless the user taps to view them.
If there are multiple replies to a single reply, they create separate reply chains that one must go back and continue tapping again on each deeeper reply.
what I think should happen If there are a small number of replies to a message, they should be automatically visible when scrolling down, or refresh once the user reaches the bottom of the screen. A "view replies" button chould be added beneath replies if necessary to improve conversaton flow.
The video below shows the difficulty of viewing just a single conversation involving 2 users that takes 15 taps to see all of the messages. https://nostr.build/p/nb8281.mp4
This is great feedback @dmnyc 🙏
Bringing up with team
Thanks. The reference note is:
note1y30778c7pxf7jcct2dykl7gzq7f5p5alj5cqdl686ku4wtl0njwqts6xy3
Reply with the most reply depth:
note169hacwg8q5wc3j7757wd2j69s5x6fqk8hk3ep0ykyftan0dxgrmqtuc35e
@dmnyc what do you think
https://www.figma.com/proto/ORaT1T0Ywfbm0sIjwy5Rgq/Damus-iOS?type=design&node-id=0-1&viewport=262%2C-943%2C0.5&scaling=scale-down&starting-point-node-id=2594%3A25404&show-proto-sidebar=1
Love this! 🔥
@danieldaquino
@danieldaquino
Thank you @alltheseas. @alltheseas, @jb55, should I add this to the new sprint?
@dmnyc what do you think
https://www.figma.com/proto/ORaT1T0Ywfbm0sIjwy5Rgq/Damus-iOS?type=design&node-id=0-1&viewport=262%2C-943%2C0.5&scaling=scale-down&starting-point-node-id=2594%3A25404&show-proto-sidebar=1
I really don't like this nested thread thing that keeps indenting. people actually like that?
In the early versions of damus I had a view that flattened an entire thread into a chat view, where replies were simply quote replies like on telegram. I thought that was a great way to follow the conversation of an entire thread. People didn't like it because it was confusing when there was two view so I abandoned it, but I really don't see another way cleanly other than doing what twitter does by unrolling conversations and then you just keep scrolling to read all interactions.
I would like to have an agreed upon design before anyone starts working on this.
I agree, the best way to expose all notes in a conversation would be ideal. It's cumbersome and easy to lose track of replies to a post when you force the user to go back and tap on each individual reply to see further replies.
On Wed, Mar 13, 2024 at 5:26 AM William Casarin @.***> wrote:
@dmnyc https://github.com/dmnyc what do you think
https://www.figma.com/proto/ORaT1T0Ywfbm0sIjwy5Rgq/Damus-iOS?type=design&node-id=0-1&viewport=262%2C-943%2C0.5&scaling=scale-down&starting-point-node-id=2594%3A25404&show-proto-sidebar=1
I really don't like this nested thread thing that keeps indenting. people actually like that?
In the early versions of damus I had a view that flattened an entire thread into a chat view, where replies were simply quote replies like on telegram. I thought that was a great way to follow the conversation of an entire thread. People didn't like it because it was confusing when there was two view so I abandoned it, but I really don't see another way cleanly other than doing what twitter does by unrolling conversations and then you just keep scrolling to read all interactions.
I would like to have an agreed upon design before anyone starts working on this.
— Reply to this email directly, view it on GitHub https://github.com/damus-io/damus/issues/1126#issuecomment-1993909811, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3YJQZ6CGHNGHI2SYA7DQLYYALWBAVCNFSM6AAAAAAYA2PLJGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJTHEYDSOBRGE . You are receiving this because you were mentioned.Message ID: @.***>
Basically what I'm hoping to see is something like this thread where second level posts get shown, but there's also a "Show replies" link to expose lower-level posts.
https://x.com/pubkey_nyc/status/1772652812553367872
Thank you for sharing the screenshot - I think this is what @jb55 had in mind when mentioning a preference for inline replies.
Going through Rune's thread carries friction
https://damus.io/nevent1qqsxpvwll6rwka0xxrrg25ar977ya5wrt9j3t5af3d63p348fkavlyspvemhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0dec82c33wsekwemrvsurgvmsdemkxafkwq68gcmnv4ekgvpjws6k57pjv9jkcurkw4ehjur4x45xkvpexg6ku6rpw4ck56nvx4nng0mzwfhkzerrv9ehg0t5wf6k2qg4waehxw309a5xjum59ehx7um5wghxcctwvsq3jamnwvaz7tms09exzmtfvshxv6tpw34xze3wvdhk6qg6waehxw309ahx7um5wgh8qmr9vf3ksctfdchx7un89utevlc8
It's very difficult to navigate through.
Should follow twitter approach - just scroll down. No need to tap to see replies.
cc @danieldaquino
@jb55 references chatroom, and produces mea culpa " not a designer "
4ac3da76121eebcf794b7ac5e8b68bbebcdf88eb
https://www.figma.com/design/ORaT1T0Ywfbm0sIjwy5Rgq/Damus-iOS?node-id=3197%3A26779&t=Z1uhyq3IAspA3xY7-1
@jb55
The more i think about it i think there really should be two thread modes: one for reading a long chain of replies within a thread and one for when you first open a thread. I said this before above but just wanted to reiterate it.
For example, I’m having a long reply chain within a thread here:
https://damus.io/nevent1qqsgrsnflyauc2jsv0m4exfqf3zn2u58dx5tr6h004dc48fk44vxmucprfmhxue69uhkummnw3ezummjv9hxwetsd9kxctnyv4mqzxrhwden5te0wajkccm0d4jjumn0wd68ytnhd9hx2qgcwaen5te0d4hkucty9e4xydf49e3k7mf68qcrsvqpzpmhxue69uhkummnw3ezuamfdejsp8lrap
This is pretty much perfect ux for this scenario. I’m having a single subthreaded convo with a single individual, having the reply after reply laid out removes any other noise in the thread.
In the case where there aren’t many of these long reply chains or for small or new threads this is not the best ui, since you have to click around a lot.
I still think the simple heuristic is from timelines, open into threaded chat, but in notifications open up what we have today. Will experiment
@danieldaquino
What if we have the threaded chat view we have on the mockup, but then we can activate the “chain view” by long pressing a note, which will hide all other notes that are not part of the chain from root to that specific note?
@jb55 tg example
https://t.me/TelegramTips/249
@danieldaquino
Ahh I see
Yeah, similar to what I was thinking. The only differences between that and what I have in mind are:
- Use long press or another interaction that is more obvious/visible
- Collapse all other chat bubbles within the same view instead of opening a new page
maybe this is called branch vs tree view
a, b, c, d, e are messages (not people)
@jb55
my only concern is that most people will never find the long press
Can tipkit fix this?
@jb55
tipkit is a bandaid
@danieldaquino
Maybe some haptic or visual feedback that starts immediately and builds up over the course of a few seconds, to make users naturally discover it?
A bit how the “record voice message” feature works on Signal or WhatsApp
If you tap the microphone icon, it will give you a tip
@robagreda
Tap should work, is more natural.
@jb55
btw, I literally had it before in damus where tap would switch between chat and standard thread view. people were horribly confused.
maybe we can improve the ux on this so its less confusing
basically you would open a thread like normal, then tapping on the note again would bring you to the chat view. I don't think there are many apps that do this so it was a bit jarring for people
Made a draft 85% similar to the Figma design: https://github.com/damus-io/damus/tree/%231126_option_1_v1
This should be enough to get us started with testing
https://github.com/damus-io/damus/assets/24692108/ff5ee8a5-958b-4d01-bff0-b18d29d8fc0c
starting to think we should use long press to reply,repost,like,zap in this view? otherwise the reply bar needs to be offset -y pixels, made smaller, and reduce the drop shadow like the design. getting there though. we should also reduce the border-radius, I very strongly dislike "bubbly" looks of things. in roberto's design the border radius was much smaller and more tolerable.
we should use long press to reply,repost,like,zap in this view
If we do this, there should be intuitive hints/tipkit/signal type guidance on this slightly hidden feature
Its actually a pretty common interaction in imessage, so maybe its ok
| imessage | longpress |
|---|---|
Also swipe to reply:
https://github.com/damus-io/damus/assets/45598/537c6bda-5eec-4ea1-9783-6bc9b226aff6
Its actually a pretty common interaction in imessage, so maybe its ok
Also swipe to reply:
Good points. Lets see the feedback in practice.
Also I just discovered you can double tap on an iMessage to open the reaction menu, and a reply option
Also I just discovered you can double tap on an iMessage to open the reaction menu, and a reply option
I had no idea lmao
Could we add all three:
- swipe to reply,
- double tap to open reaction menu, with an option to reply,
- long hold to open reaction menu
if we can save space without littering action buttons on every post that would be ideal
swipe to the left reveals the timestamp
signal also does both of these swipe interactions
no double tap on signal. swipe right reveals a detailed message view. could this be useful real estate for nerds - e.g. JSON view?
Thanks for the feedback everyone!
Updates today:
- [x] Reduced action bar icons to only show items with non-zero activity
- [x] Added (most) event actions to the context menu
- [x] Fixed issue where posting a reply would not scroll down to the new post
- [x] Made several small layout improvements as requested, as well as other layout issues
- [x] Improved color schemes to match the Figma design more closely
Things left to do for improvement:
- Add emoji reactions to the context view (I did research on this today, and unfortunately it does not work out of the box with SwiftUI, but I found a library that can help us do it, I will try to integrate it)
- Improve looks when the selected event is not the first event on thread (i.e. chat bubbles are showing on top of selected event, it looks unnatural)
- Add the sticky header for the main event
- Implement swipe to reply
- Double-tap to option reaction menu and reply
- There is still a little padding issue with the reply quote view, depending on text contents
- Other things if needed
New WIP branch: https://github.com/damus-io/damus/tree/%231126_option_1
Screenshots: