So who is creating a stack overflow competitor but on the Fediverse?
@cj I'm tempted to say that this *is* the stack overflow competitor on the fediverse. Ask questions, maybe get answers. Good answers get boosted. Search for hashtags.
No editing of posts, nobody to tell you that this question is not appropriate...
@kensanata This reply has been marked as DUPLICATE. 😝
@cj I mean, the basic objects and their activities can surely be represented, but I wonder about the up and downvoting, the marking of a "correct" answer, the moderators, the badges... which elements are important for the experience and how do you replicate those in ActivityPub?
Likes/Dislikes already exist in AP, but the others can be features of the frontend client, without involving an eventual AP backend.
On longer term it probably makes sense to build a custom extension, but until then, the basic functionality can mostly be there.
For #fedbox it's yesterday that I was implementing the logic for processing Likes/Dislikes: see https://github.com/go-ap/processing/blob/master/processing.go#L355
It's not 100% up to spec yet, tho.
@mariusor @cj I don't know. We all have some nebulous ideas of what the benefit would be. Assuming my idea of a benefit would be that my server gets to hold a copy of your data, both your questions and your answers, wouldn't I need to know the likes and dislikes of them? A user on my system might want to up- and downvote as well, so these things need to be stored somewhere. Or is every instance going to have their own scoring? Their own version of who was right?
@kensanata @mariusor I figured each instance would be its own sub exchange (math, writing, grammar, etc) and would simply allow browsing of other exchanges, but send interactions to those federated servers. And keep deferring outcomes (counts, replies, etc) in its "view federated" mode.
Sure multiple instances can claim the same topic, but such competition may be welcome.
The way I'm implementing a "smart" client on top of a dumb activitypub service, namely littr.me the link aggregator - is the client on top of plain activitypub collections provided by fedbox.
This means that littr.me loads the likes collection and counts Likes/Dislikes and does simple math for computing the total score of an item. It's terrible from a performance point of view, but I'll be caching this locally at some point.
So I think that covers the counts - except for the actual logic of transforming the likes collection into usable numbers - ie: Score = count(Type == Like) - count(Type == Dislike)
^ this is what I'm actually using with littr.me on top of fedbox.
@cj That's a very good question.I'm waiting for exactly this thing but unfortunately I don't have enough time to start another big and complicated project myself 😢
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!