Follow

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...

@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?

@kensanata @cj not everything needs to be an ActivityPub interaction.

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 github.com/go-ap/processing/bl

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.

@cj @kensanata yep, makes total sense.

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.

@kensanata @cj there is already a /likes collection of an activitypub object, which should hold the IRIS of all the Like/Dislike activities it received.

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 😒

Sign in to participate in the conversation
Mastodon for Tech Folks

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!