LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.29k stars 884 forks source link

[Suggestion] killer features for a link aggregator #763

Closed lkoelman closed 4 years ago

lkoelman commented 4 years ago

Great work on Lemmy, I love the concept and how snappy it feels!

Allow me to contribute some notes I've made over time about 'killer' features for a link aggregator.

Feature: tag-based voting and aggregation

There are no upvotes or downvotes. Users add tags to posts that can be anything from 'like'/'dislike' to semantically richer tags (e.g. 'spam', 'clickbait') and content-related ones. Tags promote the use of smart curation & moderation policies (see below).

Communities are built around a set of tags (e.g. 'linux'+'programming') that should be featured in their content. How exactly is determined by smart curation policies. E.g. a (too) simplified case is where each post in a channel must have subset or superset of these tags.

Note that this can still subsume the traditional vote-based interface. E.g. you could weight positive/negative tags so show 'upvotes'. You could keep the traditional up/down arrows next to a post and show a pre-selected set of positive/negative tags upon mouse hover, with the ability to type in custom ones.

Feature: AI-based curation & moderation policies

A moderation & ranking policy is a bot/AI that operates within a channel. I.e. it operates on the pool of posts that fall within the domain of the channel. Let's call the combination of a curation (ranking), and moderation policy a fitness policy (from the literature on evolutionary algorithms: posts compete for ranking/visibility and have a 'fitness' score).

On one instance (in a federated system), a channel is defined by its default fitness policy. However, there is a list of alternative policies shown in the sidebar, ranked by their popularity, that users can select to populate the channel page.

You can compose a fitness policy from certain pre-defined curation + moderation policies (that are allowed on the instance). Layout idea: these can be shown as tabs (like in reddit, where a channel has tabs 'hot', 'new', ...). Tabs can be added dynamically by the user to have different views of a channel.

A fitness policy is defined by its code, that can be viewed publicly (e.g. via a GitHub link on the policy's page). Each policy should have a clear description page that describes its mechanism of action. A fitness policy can also assign fitness scores based on user-assigned tags. E.g. a policy can be almost entirely controlled by taggings by a select set of users (moderators). Alternatively, a policy can be influenced by AI/ML-based tagging and decision rules.

These curation-moderation policies leverage the tag-based nature of the system. Tags allow more easy definition of recommender/machine learning systems without necessarily performing complex NLP tasks on the posts.

Feature: smart contract integration for policies & channels

A curated channel can be governed by a smart contract that executes its policies (think Ethereum and its offshoots). I.e. the curation-moderation policy is executed by the smart contract. The contract can also take care of rewarding users/moderators for valuable contributions. This can effectively turn a channel into a mini-DAO (digital autonomous organization).

The smart contract needs to conform to a certain specification for interoperability with the platform. Similar as done in the Aragon platform. I.e. you provide an API that smart contracts for channel-governance should adhere to.

Further elaboration: the (federated) instance itself can be a DAO that governs a pool of resources. These can be distributed to channels to promote their governance by rewarding valuable/contributing users.

Feature: comments contain W3C annotations

Comments are W3C annotations or their metadata can contain them.

You can view a post either as reddit-like comment thread, or in a sidebar next to the linked article as implemented in the hypothes.is client (you can see the sidebar in action here). In the sidebar layout, you can turn on higlighting of annotations. In comment thread layout, the annotated parts are quoted.

This promotes on-topic discussion about the actual content of articles. It also promotes clicking through to article web-pages, thus rewarding the creator with page views.

dessalines commented 4 years ago

These are a lot of suggestions, that just seem like the basis for a completely different application. Voting / sorting based on different types of votes rather than simple up / down preference, bot-based evolutionary algorithms for moderation, cryptocurrency integration are all outside the scope of lemmy.

You have some neat interesting ideas here, but these are probably best suited to a new and separate app.