element-hq / element-meta

Shared/meta documentation and project artefacts for Element clients
75 stars 12 forks source link

Reactions: Sort keys by time of first appearance #772

Closed jryans closed 2 years ago

jryans commented 5 years ago

...instead of by vote count.

lampholder commented 5 years ago

Are we certain we want this? Isn't vote count more informative?

jryans commented 5 years ago

I think @nadonomy's argument was that it's less surprising, allows you to build "messages" out of the emoji ordering (like ๐Ÿ›ซ๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ›ฌ), and it means the emoji key won't move out from under you when you increment it.

Is that correct @nadonomy?

nadonomy commented 5 years ago

Correct. To expand a little; that user behaviour is already fairly well engrained from usage on other platforms, and it also allows early reactors (including the message sender themselves) to instigate what reactions they want to see more ofโ€” e.g. ๐Ÿพ on announcements.

That, plus the current functionality of reactions dancing around your screen as you interact with them is unexpected and pretty frustrating.

There could be an argument for sorting by number of reactions when viewing older messages, but (a) that might break the 'storytelling' aspect of choosing what order to send reactions and (b) it makes it more complicated than it needs to beโ€” figuring out the heuristics for when to switch e.g. after an amount of time, but only on timeline load so existing reactions don't unexpectedly change sort order etc so I'd prefer to look at that as a future refinement, if at all.

lampholder commented 5 years ago

SGTM

jryans commented 5 years ago

Added an MSC comment to discuss whether the bundled reactions data will support this.

daenney commented 3 years ago

I find the current behaviour really jarring. If there's multiple emoji reactions and you click on one of them, it suddenly "teleports" away from under your cursor as the list reshuffles and a new emoji ends up under your cursor, leaving the impression you miss-clicked.

anoadragon453 commented 2 years ago

(Reposting from https://github.com/vector-im/element-web/issues/22698)

I can confirm that this is a bit of fun communities very often take part in on Discord.

image image image

Particularly in announcement channels, where users can only interact via emojis.


Interestingly, looking at the above screenshots you can see that even though reactions aren't sorted by count on Discord, you almost end up with that sorting occurring anyways. This is likely because (in left-to-right reading countries) people will start looking, and reacting, from the left-most reaction to the right.

So if one is looking to see the most upvoted answer, that may happen naturally anyways. Sacrificing original reaction order may not be worth it. This information could also possibly be exposed elsewhere, such as the proposed feature of a modal showing which users have reacted with which emoji.

A final argument. Re-ordering reactions is annoying when you're attempting to garner interest from others via reactions (or a bot is using them for user responses). A bot may post a message like the following:

Choose the categories of events you'd like to be notified about!

:microphone: Weekly tech talks. :video_game: Community game streams. :medal_military: Speed-running competitions. :movie_camera: Movie nights. :woman_cook: Group cooking nights.

Typically the bot would then react to the message with each emoji in the same order as the list above, so that it's easy to cross-reference. But with inconsistent reaction ordering, this can end up complicating the user experience.

image

anoadragon453 commented 2 years ago

image

This behaviour has started to show up in the Synapse announcements room.

babolivier commented 2 years ago

This behaviour has started to show up in the Synapse announcements room.

It's actually happened a few times now and has been consistently mangled by Element :frowning_face:

image