the thing that i’m mostly unsure about is what the semantic differences are. a “reaction” and a “response” are very close to each other, and a Like can be considered to be a sort of positive reaction:
Indicates that the
actor
likes, recommends or endorses theobject
.
taking a different but related path: consider how we would federate a Dislike activity and potentially store such activities in a dislikes
collection. that seems to be semantically justifiable. but once you start to add content
to the activity, you start having to consider whether the best fit is a Like/Dislike/Create.object.inReplyTo (or a new dedicated React/EmojiReact type)
i understand that the UX end goal is to enable the “emoji reactions” feature as used in software like Misskey or Discord, but it’s also important to consider the semantics here at a protocol level so as to avoid unnecessary duplication or ambiguity. looking at what the indieweb does, for example:
- reactions - IndieWeb
- reactions refer to the subset of responses/interactions with a post that are quicker, more impulsive, but still a conscious act, typically a simple UI gesture without writing any content
- responses - IndieWeb (redirects from “interactions” to “responses”)
- responses or interactions in the context of the indieweb, refer to all the different ways and things people explicitly do to and with others’s posts, from written replies to quick likes, in other words responses = replies + reactions.
so basically there’s a divide between contentful and contentless interactions, and “emoji reactions” kind of ride the line between the two (since they do contain content, but a very small amount of it)
reacji - IndieWeb says this:
Markup a reacji response post as follows: Post a reply where the content is a single emoji character. Thus
u-in-reply-to
is required. Note: if there is HTML in the content property, it may mess with emoji detection, so you should usep-content
, rather thane-content
for reacji reply posts.
so that looks like another precedent for using the replies
collection and generally following what Hubzilla/Streams does here. but there is definitely still some consideration for having the “positive reaction” type of reacji be expressed as Like
with content
. of course, there’s also no real reason to “limit” this to just emoji – one can imagine a Like with content that provides further details on why you like the thing.
after considering all this, i think that having a neutral React
with a corresponding special collection for reactions
might actually end up making sense and having justification. so as usual there’s like three different ways of doing it…
in summary:
- we could have
likes
/dislikes
/reactions
as three separate collections for positive / negative / neutral reactions. - reactions can have optional content, not necessarily just an emoji
- emoji reactions specifically can also just be a reply-post with a single emoji in content; this should probably be mentioned as an option