!
Hubzilla DevelopmentI found myself thinking about moderation, community building and ratings systems as I'm waiting for my wife to have surgery this morning.
My usecase for Hubzilla is specifically in the area of fostering communities rather than the "free-for-all" that dominates the "social media" space. I've found that there is a desperate need to work together in community to get things done, and that the social media outlets, while great at generating a lot of noise, often do not foster a way to actually move the ball forward and get things done as the best and brightest within the community are usually so taken up with moderation tasks and "herding cats" that there is little time to actually advance the cause.
At the same time, "social media" aspects are important and a somewhat open arena for ideas is desirable - unless and until it impedes the ability to actually make progress and have reasonable discussions.
I know that the global reputation system is "being reworked" - but in all honesty, I'm not so certain what the benefits are to a global reputation system for content - perhaps some sort of reputation that would confirm identity or the reliability of facts about an identity - but that doesn't translate to the benefit or merit of a specific identity within the context of a specific group or community.
In the offline world, very very few people have any "global reputation" to speak of. We can talk all we want about the internet "democratizing" speech and access, but let's be honest, "reputation" is not really something that's universal and it doesn't transfer unmediated beyond the relationship(s) of individuals or community. Even in a community, each individual keeps a reputation score that tracks their perception of the reputation of another actor within the social system. Within groups, at individual judgment tends to developed into a shared "reputation" that creates a social hierarchy.
Beyond the lack of nuance in a "global reputation," most reputation systems create a single score for something that has at least two aspects (probably more). For example, a reputation system based on "like"/"dislike" of a comment or post doesn't take into consideration that I may like or appreciate THAT the statement was made while at the same time, I may dislike the need or conclusion that the comment leads to. SO there is an "insight" aspect (how useful/insightful/perceptive the comment is), as well as a "content" aspect. A third consideration is just the mere "stake" or "presence" in a community - the passive participation that happens by being involved in a community (eg, reading posts even if you don't respond) should also count for something.
In collaborative communities, it would seem that "insight" is more important than "content." But even that depends on the type of community. Take for instance a community of journalists providing a common shared space for joint efforts at reporting. In this sort of instance, the quality/reliability of the content outweighs the insightfulness of any editorial considerations.
But in most cases, I think these two metrics provide a fairly robust framework for guaging the reputation of a participant - and "presence" provides a bit of a mediating effect - that can be used to lessen the effects of negative feedback. There's always that wise guy in the corner who rarely speaks, but because they think deeply and rarely say something stupid, when they do speak up their opinion is all the more respected. There's also that person who becomes more wise and prudent after being chastised by the community for bad behavior and after a "time out" becomes a meaningful contributor.
With all of this in mind, I'm wondering if we don't want to flip the whole "reputation" idea on its head and develop a composite reputation system based on these various factors and instead of having some sort of global reputation, assign each identity a reputation in relationship to other identities and build a mechanism to take into consideration the three factors of content quality, insight, and "stake" (long term presence).
I'm not sure how to do it from a UI perspective - but from a reputation scoring standpoint and the "effects" of reputation, I would propose something like the following: (The example case considers a public "forum" in Hubzilla with proposed reputation scoring turned on)
1) Members below a certain reputation threshhold are "muted" (unable to comment and/or post - possibly with separate threshholds for posting/commenting - and possibly with separate threshholds for insight/content - configurable by the channel owner/administrator). I'm imagining that the channel will also have a "whitelist" and/or the ability to manually set/override the reputation of a given participant.
2) Each comment/post is able to be rated separately based on insight and content. It might be advisable to include ratings in the calculation for a specified period of time to avoid manipulation by rating previous posts/comments.
3) Ratings increase/decrease the reputation of a participant within the group in proportion to the "rank" of the rater within the community. For each content/insight
Member Community Rating = Member Community Rating +|- (rater reputation / total rater reputation "voting" on post.
4) Each community member whose rating is below the post/comment threshhold has their rating increased by a configurable value over time to allow them an opportunity to re-enter as a contributing member of the community.
VARIATIONS:
- It may be desirable to also have a POST COMMUNITY RATING that would exclude posts from at least the community stream / wall or only show the headline if the post's rating falls below a certain threshhold.
- It may be desirable to allow the channel owner to create a fixed list of raters and only have those ratings count
- It may be desirable to set a floor to how low a rating can go - likewise, it may be desirable to set a ceiling - at least for the effective "stake" (i.e., how much a given rater's vote contributes to another person's rating)
- It may be desirable to set a "initial value" for new members of the community - if additional complexity is desired, it could be based on some sort of "endorsement" by other members of the community.
- It may be an added bonus if there were a way for one community to somehow find out the reputation of a member of other related communities and take that into consideration in the calculation as well - maybe a "pooled" reputation scheme/mechanism - or some sort of "subscribe to reputation changes on this channel" system with an analogous, "share reputation information" setting.
As usual - these are thoughts for consideration - not a demand for implementation. Just looking for feedback and ideas from others that may guide an implementation if I decide to do it and looking to give others ideas if they wish to pursue it themselves.