this post was submitted on 29 Aug 2023
27 points (81.4% liked)

Fediverse

17724 readers
3 users here now

A community dedicated to fediverse news and discussion.

Fediverse is a portmanteau of "federation" and "universe".

Getting started on Fediverse;

founded 5 years ago
MODERATORS
 

My Perfect Social Media Platform

  • Multimedia support: The platform would support various media types, including text, pictures, GIFs, videos, audio files, and more. It would have a view similar to Lemmy and a grid-view for visual content, like an image board.

  • Tagging System[^15][^8]: The platform would implement a tagging system so users can categorize posts with relevant keywords. This helps others find content on specific topics and organizes content for better discoverability.

  • Custom feeds[^16]: Allow users to create custom feeds that combine posts from multiple users, instances, include/exclude keywords, hashtags. This is similar to Reddit's multireddit, Kbin magazines and Firefish antennas. Firefish antennas allow users to specify keywords to include/exclude in categorized feeds.

  • Upvoting and downvoting system: Users can upvote and downvote posts and comments to rank content. This usually surfaces entertaining content.

  • Multi-criteria rating[^3]: Star ratings for various criteria to rank content based on a comprehensive evaluation. Multi-criteria ratings allow ranking content based on other factors, like quality instead of entertainment value. Could be a dropdown menu on every post/comment.

  • User reputation or karma[^2]: A user reputation or karma system based on contributions and interactions. This could be used to incentivize curation over posting, and quality content over entertaining content.

  • Achievements: Implement a gamified achievement system based on usage.

  • Reactions: In addition to upvotes/downvotes, allow a wider range of reactions to posts and comments. For example, Facebook reactions like Like, Love, Haha, Sad, Angry.

  • Threaded comments: Posts would have a threaded tree-like comment system for easy discussion.

  • Private messaging: Users would be able to send private messages to each other.

  • Notifications: Users could receive real-time notifications for new posts, comments, messages, etc. This increases user engagement.

  • Custom themes: Multiple color themes, including a default low-contrast dark mode.

  • Localization: Support multiple languages to expand reach.

  • User profiles: Detailed user profiles allow users to showcase their contributions, interests, and customize their presence on the platform. Users would have granular control over their profile privacy, being able to share with nobody, only followed users, or make fully public. Profile sections like bio, posts, collections, reputation, and other details could be toggled private or public individually.

  • Blocking: Users can block other users, tags and communities they don’t want to see.

  • Content filtering[^17]: Users can hide/blur/unblur-on-mouse-over content based on tags, regex or content type, such as text, images, videos, or links, allowing them to focus on the content they prefer.

  • Federated: The platform would be federated using the ActivityPub protocol, allowing for interoperability with other platforms in the Fediverse.

  • Advanced search and tag filtering[^4]: The platform would offer advanced search and tag filtering options to improve content discovery. The advanced search functionality would allow users to craft complex searches to find relevant content. Some key features:

    • Boolean operators: Support AND, OR, NOT operators to combine multiple search terms and keywords. For example, "cat AND dog" or "linux NOT windows".
    • Exact match: Use quotation marks around phrases to search for exact matches. For example, "open source software" would only return results containing that exact phrase.
    • Field search: Allow searching within specific fields like title, tags, author, content, etc. Useful for narrowing results.
    • Tag filtering: Allow including or excluding specific tags. For example, search for "programming" but exclude posts tagged #beginner.
    • Date range filtering: Filter results within a timeframe, like posts from the last week, month, year etc.
    • Sorting: Results can be sorted by relevance, upvotes, comments, date, etc.
    • Search within communities: Scope the search to one or more specific communities.
    • Search within collections: Scope search to user-created collections of posts.
    • Fuzzy search: Return results that match misspellings and partial text.
    • Synonym search: Search using synonyms automatically expands the query.
    • Stemming: Match word stems so "run", "running", "ran" match.
    • Stop words: Ignore common words like "the", "and", "or" that don't help narrow search.
    • Search suggestions: Provide search term suggestions and autocomplete as the user types.
    • Saved searches: Allow saving complex searches for repeated use.
    • Search syntax highlighting: Visual cues to ensure valid syntax.
    • Search tutorials: Embedded tutorials explain how to effectively use advanced search. The goal is to provide users with maximum flexibility and control over search to efficiently find relevant content. Advanced options cater to both novice and power users.
  • Collections[^14]

    • Users should be able to create collections of posts with private/public visibility, which can be edited either by the creator only or by anybody. There are a total of four types of collections.
    • A default private collection for saved posts should be available, ensuring that saved posts work just as they do now.
    • This feature would provide better organization over a single saved list.
    • For even more organization allow to add tags to the collections.
    • Allow posts to have an order in the collection. For a story for example, chapter 1, 2, etc.
    • Allow sorting posts within a collection by date, upvotes, comments, etc.
    • Let users follow collections created by others to see new posts added to it.
    • Integration with search - allow searching within specific collections.
    • Browse/search public collections by tags.
    • Recommend collections to users based on their interests and activity.
  • Downloading: Users can easily download media, collections, or tags.

  • User trust levels and community moderation[^6]

    • The platform would implement user trust levels on a per community and per instance basis, to avoid admin/mod burnout and reliance on bots for moderation. Instance admins could choose to have moderators, only user trust levels, or both.

    • Instance admins can configure the number of trust levels, the number of users desired for each level or the reputation thresholds for reaching each trust level, the reputation scored for each activity, and the privileges granted at each level.

    • The number of users desired for each level or the reputation thresholds would be automatically calculated based on the other configurable parameters.

    • In communities with human moderators, instance admins can restrict their privileges to a subset of actions rather than full control.

    • Moderators could be chosen manually by admins or automatically based on recent activity and voting affinity with admins.

    • There could be an appeals process where users can contest moderator actions. A user with a higher trust level would review the appeal and penalize the incorrect party by reducing reputation, either the user for an invalid appeal or the moderator for improper moderation. There could be loss of privileges too, forever or until gaining a given reputation.

    • This flexibility allows instances to define granular trust and moderation models tailored to their needs.

    • 5 user trust levels by default like Discourse[^13]. Also by default anybody whos used the platform for a few days should have the privilege of editing/hiding answers to their content (posts/comments). Who better to moderate your content than yourself, and thanks to user trust levels and moderation appeal, there's no need to bother the admin if someone takes liberties with this privilege.

  • User curation[^1]: Users above a reputation threshold could tag posts for better organization, like on image boards. This improves curation compared to Lemmy which relies on titles.

  • Customizable feed algorithms[^5][^9]

    • Users can browse and install various third-party algorithms and filters to customize their feeds, similar to browser extensions.

    • An in-platform algorithm marketplace allows users to discover algorithms by popularity, creator, purpose, compatibility, etc.

    • Users can view algorithm source code, ratings, reviews, and example output to evaluate options.

    • Empowers users to shape their own experiences rather than relying on centralized feed choices.

  • Machine learning algorithms: The platform would use machine learning algorithms to personalize feeds and suggest posts based on user recent activity.

  • User affinity: A user affinity system connects users with similar interests based on recent activity.

  • Affinity recommendations: Recommendations based on high affinity users’ activity.

  • One-size-fits-all image format: The platform would adopt a simple, one-size-fits-all image format for easy sharing without formatting issues.

  • Affinity search: Search results biased by user’s affinity network improves relevance.

  • Anonymous posting: Instances/communities could allow anonymous or pseudonymous posting. Users could choose to be anonymous or pseudonymous on the communities that allow it. The options could be show user name, pseudonym for instance, pseudonym for community, pseudonym for post, temporary ID for post, hide identity completely. Anonymity modes should prevent linking post history between communities. Theres a more detailed explanation here.

  • Ephemeral content[^7]: Users, communities and instances could enable automatic pruning of old posts after a set amount of time.

  • Polls and surveys: Allow users to create polls and surveys to gauge opinions and feedback.

  • Block quote: Allow users to selectively quote parts of posts/comments when replying, which link to the original source, like in Discourse. Expand this feature to describe other interesting things that Discourse implements over CommonMark markdown.

  • Custom vote federation[^10]

    • Allow users or instances to limit which votes are counted from other instances.
    • Completely opt out of vote federation.
    • Limit vote federation to chosen or high affinity instances.
    • Implement a manual or automatic weighting system to value some instances higher than others, like chosen or high affinity instances.
    • This preserves thematic uniqueness across the fediverse, as vote federation tends to homogenize instances.
    • This would enable each instance to preserve its thematic focus and uniqueness, providing a more tailored experience for users and instances.
  • Registration throttling based on monthly active users

    • Allow admins to set a cap on the maximum number of monthly active users.
    • Once the cap is reached, new user registrations are throttled or disabled until activity declines and space frees up.
    • This prevents communities from growing too quickly before adequate moderation is in place.
  • Q&A features

    • Best answer pinning: Allow OP or privileged users to pin the best answer to a questions.
    • Solved filtering: Allow filtering posts by solved/unsolved status.
    • Bounties: Allow users to offer reputation bounties for the best answers to their questions.
  • Post bumping[^11]: Instances/communities can enable post bumping. It allow users to bump old posts back to the top of feeds. This helps keep evergreen content circulating. Instances could limit the number of times or how often posts can be bumped.

  • Related posts[^12]: When creating or accessing a post, users are shown other similar posts that may be of interest. This helps connect related content. Relatedness could be either manually determined by the users or automatically determined by tags, title similarity, user affinities, etc.

Other ideas

  • Self-governing communities: Users can create communities with granular controls over who can view and post content. Communities can be completely open, closed and invite-only, or anything in between.

  • Anonymous and pseudonymous posting: Users have the option to post anonymously or under a pseudonym on a community-by-community basis. Their post history can also be private. This allows free expression without fear of repercussions.

  • Automatic post pruning: Posts can be automatically deleted after a set time period, per community preferences.

  • Flexible community structures: Communities can be structured like Reddit, 4chan, or private group chats.

  • Decentralized backend: Store content on decentralized networks like IPFS rather than centralized servers. This ensures persistence even if the originating instance of a community goes down.

  • Community forking: Communities can be forked by users with permission. The fork with the most users keeps the name. This decentralizes moderator power.

  • Customizable feeds: Users can install community-created filters, blocklists, algorithms to customize their feeds. Empowers user control.

  • Repost detection: Duplicate posts are consolidated. You won't see the same content twice.

  • Trending detection: Trending content is detected via keywords and topics rather than hashtags.

  • Reverse image search: Built-in reverse image search to find related/duplicate visual content.

  • AI content summarization: AI summarizes text, images, video and audio for searchability and accessibility.

  • Aggressive recommendation feed: A separate feed with aggressive personalization, like YouTube Shorts.

  • Recommendation algorithm save points: Users can revert their recommendation algorithm to an earlier state if it gets off track.

  • Conversational AI: Asks questions about content to an AI assistant.

  • Multicommunity feeds: Custom feeds combining multiple communities, with associated search.

  • Ban users based on affinity and activity

    • Allow mods/admins to sort users by affinity and activity levels.
    • Users falling below configurable affinity and activity thresholds can be bulk banned or suspended with one click.
    • This allows removing inactive and bad faith users who don't engage meaningfully.
    • Affinity is calculated based on voting patterns and agreement with mods/admins.
    • Activity is measured by number of posts, comments, votes, etc over a timeframe.
    • Banning by affinity/activity leaves engaged members intact.
    • Increases community coherence by aligning users around shared interests

Related

MusicBrainz, The Internet Archive, Stash-Box, Image Boards, Hydrus, MediaRepo, Stash, JellyFin, NextCloud, Beets, MusicBrainz Picard, TagSpaces, TagScanner, SpaceDrive, tocc, TMSU, SuperTag, wutag, Tabbles, allTags, Dolphin, ArchiveBox, Lemmy, Reddit, 4chan, Discourse

References

[^1]: GitHub — Booru-Style Image View, Search and Tagging by Users [^2]: GitHub — Grant users privileges based on user activity and voting affinity with the admin [^3]: GitHub — Expandable Menu with Star Ratings for Content Evaluation [^4]: GitHub — Advanced Search and Tag Filtering [^6]: GitHub — Grant users privileges based on user activity and voting affinity with the admin [^7]: GitHub — Ephemeral Content: Automatic Removal of Old Content [^8]: GitHub — Booru-Style Image View, Search and Tagging by Users [^9]: GitHub — Algorithm Marketplace [^10]: GitHub — Enable Users to Customize Vote Federation [^5]: TheVerge — Bluesky rolls out feeds with custom algorithms [^11]: GitHub — Instance configuration for bumping posts [^12]: GitHub — Linking related posts [^13]: Discourse Blog — Understanding Discourse Trust Levels [^14]: GitHub — Create Collections of Posts [^15]: GitHub — Request for Comments: Flexible Tag System [^16]: GitHub — Custom Feeds [^17]: GitHub — Filter for Hiding Unwanted Content

all 9 comments
sorted by: hot top controversial new old
[–] DavidGarcia@feddit.nl 6 points 1 year ago (1 children)

Very good, I have been thinking of something quite similar. A "what if I could have everything I want" social media platform. Here are some of the most important aspects, maybe they are useful to you:

-Self-governing communities like Lemmy (not sure if instances make sense) with very fine-grained control over who can see and post what. You can either have a completely open community where everyone can see every post and everyone can post OR you can have an invite-only community where users can only see posts since they joined (and are allowed to see) and every post is anonymous OR anything in between.

-I like Lemmy for the ability of instances to block each other, but not sure how that makes sense in the context of a decentralized backend.

-Users should have the option to post anonymously or at least pseudonymously (on a community basis) in any community. They should have a choice if they want to share their post/comment history and with whom. Of course, communities have control over whether they allow that or not too. You might have one community that doesn't allow anonymous posting at all, and another that only allows it if you have some form of reputation like karma. But I think optional pseudonymity on a community basis is a MUST. And if mods ban a pseudonymous account, the entire account is banned; they can't just come back with more pseudonyms. I know people will get riled up over this, but I think it is important to let people speak their minds without fear of repercussions, also it's important for privacy and to protect from doxxing.

-Also, optional automatic post pruning, where posts are deleted after X amount of time.

-Ideally, you should have the ability to have a community be like a Reddit sub, a 4chan-like board, or just you and your friends' private server.

-Communities can be forked by anyone with the right permissions. They will become the new mods, and the fork with the most users gets to keep the name. For that reason, communities aren't necessarily hosted on instances like Lemmy, but on some decentralized backend like IPFS. This is so you don't have to copy all the content and user data, but just the references to it, to make forking as low-cost as possible. This is done to rein in the power of mods, making them work for the users. Also, it would allow communities to more easily naturally split without losing old content.

-I would have an "app market" for community-created feed algorithms, block lists, filtering algorithms, etc., where users can pick based on features, hosting cost, etc.. AI filtering is well and good, but it's still expensive, so you have to account for that. It would give users the ultimate power over their own user experience. I hate outsourcing social media algorithms to other people; it's like outsourcing your own brain and letting others decide what you think.

-Reposts should be lumped together in yout feed. Ideally, you wouldn't see the same post twice. This also applies to media; the same photo with a different title shouldn't be shown twice. But perhaps you have some threshold where if the context is different enough, you show it twice.

-Like you said, AI post/comment filters. For example, I only want to be able to see left-wing comments or comments about cats or positive/negative comments. Comments could be clustered into categories like that, perhaps creatable by the users themselves. Also, I want the ability to see a broad mix of these categories. For example, for political subs, I want to know what each political orientation is thinking about this.

-Comment filters for the most unique comments. It should show me the one guy in a million samey comments who thinks there is a wizard conspiracy behind all world events, if I want to see that.

-Comment section summary, telling you what all the unique opinions in the comments section are. So if there are 10,000 comments about cats and one about a dog, I want to see 50% what the cat and 50% what the dog people think in the summary. Something like that.

-Built-in text post/link summary.

-A trending feature like Twitter, but more with smart keywords, not hashtags. So, for instance, 100 posts about the same soccer game with completely different content are shown in trending with the keyword "Frogfordshire Divided vs. Botingialera FC." I believe that should be possible and financially viable with LLMs in the near future.

-Reverse image search should be built in, and possibly even image-to-text that will then show you similar text posts to what is in the image.

-Similarly, automatic AI captioning/summary of photo, video, audio content for better search and also for people with disabilities.

-A separate feed like TikTok that aggressively tailors to your revealed preferences, alongside the regular feed. Like how YouTube has a normal feed and one for shorts.

-You should have "recommendation algorithm save points." I often click on one wrong YT video and my entire feed is off all of a sudden. So, I would like to be able to revert to the earlier point in the recommendation algorithm. Honestly, with modern ML embedding-based algorithms, that shouldn't be that hard. You just allow users to save their personal vector/embedding. It's literally just saving a history of vectors equivalent in size to tweets (Xweets? Xs? exes?).

-A built-in conversational AI would be nice, that you can ask about any comments on a post, what is in the post, what is in the image (like "Identify this mushroom for me").

-Custom multicommunity feeds like multireddits, and also searches explicitly within this multicommunity. I often browse the Imaginary network for concept art, which just lumps together multiple subs.

I would say the forking, the visibiliy/posting permissions, pseudonymity, custom feed/filtering algorthism are the most important features. Everything else is just nice to haves.