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

you are viewing a single comment's thread
view the rest of the comments
[–] DavidGarcia@feddit.nl 2 points 1 year ago

Well there is a lot that you can do to maximize security, privacy and anonymity in this setting.

For expample, you can do optional client-side/end-to-end encryption, so the instance owner doesn't even know what is going on on their server. E.g. like how Whatsapp, Signal etc do it. Delta Chat is even an example of an end-to-end encrypted federated messaging servive. Anyone can host a server, but server owners don't know what anyone is talking about.

For example, there might be an instance for my local county that most people from the county chose as a home instance. I can do end-to-end encrypted personal messaging on it like Signal/Whatsapp or end-to-end encrypted group chata or my end-to-end encrypted discord like community or a personal end-to-end encrypted Lemmy community for my friends and me. Only people with access can see what happens in these communities, server owners can not, they can only see the encrypted storage.

Also you could do privacy protection cross instance by hiding the real account. Let's say 1) you visit a new instance from your home instance, 2) you generate a new identity tied to your existing account, 3) you do some convoluted sheme to use zero-knowledge proofs to get your home instance to authenticate you as a trustworthy user, BUT without your home instance knowing your new identiy on the other instance, nor the new instance knowing your old identity. For all intents and purposes it's like creating a completely new account for the new instance, except you get to keep your positive reputation from your home instance. Like a recommendation letter from your instance for an anonymous user.

This will also become much more relevant once AI bots are becoming a problem in the fediverse. You need some way to prove you are a human, that doesn't rely on centralization, or reduces your privacy or anonymity. Basically every instance also becomes an identity service, that can vouch for you that you are a trustworth real human.

And again all these features would be optional for instances, communities and users. Some communities would use none of this and just work like regular old Lemmy. Even DMs could be visible for instance owners. As long as it's clearly visible what your current level of privacy/anonymity is, I don't see a problem with it. E.g. for corporate transparency you might have nothing end-to-end encrypted.

I just want one big federated platform that can be used for pretty much every form of communication with appropriate levels of privacy and security for every use case. That's my perfect fediverse, like the concept of "the end of history", it's "the end of social media", i.e. we won't have to change it for as long as humanity lives..

But I'm gonna be honest, it's possible that it would be a better solution to not have your identity tied to any single home instance, but have some sort of global identity management, that is like an umbrella layer over all instances. It functions in the same way that I described, with no instance knowing your real global identity. It just generates a new identity for every instance BUT somehow accumulates reputation accross instances. That reputation you can use to join new instances or to prove you are human, without actually ever revealing your "real" identity to them. Like, imagine you are a bouncer for a club, you can't see anyone who wants enter the club, you just have an omnipotent guy that looks at them for you and that knows if they are trustworthy, and this guy just tells you who to let in and who not to. The bouncer is the instance and the omnipotent guy is the global identity service and the people that want to enter the club are users like you. The instance owner doesn't know what users just entered, but they still know everyone is trustworthy.

Something like that.

Identity services/human verification like that are inevitable in my opinion, so I'd like them to be implemented in the best way possible, open-source, secure, completely decentralized, anonymous and private. No centralized government ID services, nor Big Tech ones, that is just ripe for abuse on a scale we've never seen before.

This global identity service that I'm envisioning wouldn't nescessarily be centralization, as there might not be some central point that does all the global identity management. Sort of how there are password managers that don't store your passwords on any single server, but passwords are generated from the name of the domain and your master password and maybe a pw reset counter. This global identity management could function algorithmicly without any data storage OR work on "truely" decentralized (not federated) solutions like blockchains or torrents etc.. Basically where the trustworthiness is guaranteed by the algorithms, not the server owners.

And again all this obfuscation of identites might be optional. You might use the same identiy across different instances and everything you write in those instances might be public OR visible to the instance owner OR it might be completely encrypted, anonymous, private.

Having all identities under one umbrella will give you a lot of convenience. For example you might want to delete your entire social media presence, so you just delete your global identity and all your sub identites will be deleted as well, along with all the content you posted under them (where that is allowed).

It's all about having the appropriate amount of privacy and anonymity for any use case, while keeping maximum convenience for users.

Of course you could do this all today, using different platforms like Whatsapp, Discord, Matrix, Lemmy, etc. while juggling 10000 different accounts, with every platform working differently. No one can tell me that that is better solution... I just want it all federated standardized so you always know exactly what you're getting yourself into.

There might be 50 different variables that affect your privacy/anonymity on any instance/community and you get the same clearly structured overview of those varbiable on literally every instance/community on this "network". No painfully extracting these variables from 1000 terms of service declations, no dealing with their shitty web design that is being forced on you to maximize clicks, no popups etc..

Instead you can pick your own clients to browse, just like the Fediverse, while always having a clear understanding of your level of privacy and anonymity.

Like I said, it should be the social media platform to end all social media to give the power back to the people, not some tech bro or the government. Just want people in virtual spaces to have the same agency they used to have in physical spaces. Privacy and anonymity by default used to be the norm in phyiscal spaces in a free society, but with the increasing virtualization that is no longer the case. I just want things to go back to normal.