Due to Character limit, an explanation for this post will be appended below this post as a comment.
Ideas
Federation
This section is devoted to improving the Federation experience. Part of the advantage of Federation is that you don't need to belong to any instance in particular, but still be able to access other instances/communities. Now the basic problem with this is just the initial connections, it takes time and searching to find everything you may be interested in, in which there are tools to support this. That being said, I definitely think there can be ways to better support this process, and to create a more quickly connected experience while still allowing granular curation of an instance/site.
Curation Tools
This section is essentially to assist both the ability for users, site admins and site moderators to shape the experience of an Instance/Community/Subscription.
Instance/Site Tools
Concepts and powers that belongs to a site owner or administrator.
Whitelist, Graylist, Blacklist, CustomList for Instances and/or Communities
This sort of exists, but I want to add some more granular control.
- White List
- To those familiar with the concept, this is pretty straightforward, but I would like for this to be more featured.
- This is to explicitly federate with another instance, and have at least their community names show up when clicking on communities.
- I would say provide an option to automatically federate whitelisted communities for whitelisted instances, but not required. This will just help sites/instances get up and running fast if they share interests/values.
- Could also do this for specific communities in an instance.
- Gray List
- This is may be an odd one, but I think it's important.
- When sites federate with one another, as far as I can tell, it's just automatic, as long as it's enabled.
- My thought is that this list would simply be sites/communities that have not been vetted/explicitly approved by the admin
- This ties in with another idea I have, where in addition to a
Subscribed
,Local
, andAll
, there is another tab calledRecommended
orCurated
, orLinked
, which will be described later. - In addition to Admins, my idea is that users can choose whether they see communities that belong to the graylist by default.
- Black List
- This is kind of already a thing, but I'd like it to be slightly more granular in control
- Not just site blacklisting, but community, just in case it's just one community that's annoying.
- Custom List
- A custom list that is somewhere between White List and Gray List.
- Could be used for more curated
listing_type
s, as the URL would seem to imply. - Perhaps users could create something similar for themselves, a concept not too dissimilar to the way multi-reddits work back in reddit.
- All lists should have these controls, honestly. You could make multiple White List types, if you felt like it.
Community tools
This would be similar to instance/site tools, but more specific and limited in scope. These settings would not override site/instance settings.
- Connected Communities
- When on an instance, a community can explicity "connect" to another instance's community to have that other instance's community appear alongside the local one.
- Users can override this setting for themselves.
- A local community could theoretically allow moderators from another "connected" community to moderate the local one as well
- Local moderators would always have the final say for what is allowed/posted in that community.
Site/Instance "Name Server"
This is inspired by a couple of technologies/ and ideas I have seen in the past. This is somewhat of a "meta" (Not the Facebook kind) idea, and to some degree, it kind of already exists with sites like Lemmy Community-Browser. However, I think it would be a good idea to have something with at least a "standard" approach.
Not dissimilar to a DNS, a separate, central server with a given standard whose purpose it is to serve Lemmy instances/sites. A site would register with the "Name Server", and a Lemmy instance could then point itself to it to "lookup" other sites automatically. These name servers could also be aware of other name servers, and ask other name servers if it cannot find what is being requested, and then update themselves if found on another name server. Distributed searching and federation.
A site/instance could choose not to do this, of course.
Searching, Sorting
Ideas that make finding and connecting to known communities easier.
Community Tags / Labels
When it comes to federating and searching sites, being able to find what you are looking for is essential. I think that being able to identify a community a tag or label would make finding an relevant community much easier.
Tags/Labels should have two aspects/properties:
A "name", and a "type"
A type should specific what kind of Label/Tag it is.
Label Tag Type Examples:
- Franchise / Intellectual Property
- Obviously this tag type name could use some work
- Example tag/label names that could fit this type:
- Star Wars
- Marvel
- DC
- Lord of the Rings
- Final Fantasy
- Person
- About a specific person
- Example tag/label names that could fit this type:
- George Lucas
- Keanu Reeves
- Career / Job / Role / Profession
- About something someone does
- Example tag/label names that could fit this type:
- Author
- Firefighter
- Group
- As in a collection of people, rather than a specific person
- Generic example tag/label names that could fit this type:
- A Political Party
- American Labor Party
- Chosen from the wikipedia category Defunct US Political Parties
- A Business or Non-profit
- Such as Square Enix
- An Organization or Club
- Maybe too close to Business/non profit?
- I was thinking of a group of people that isn't necessarily a legal entity of some kind, but those are rare
- Maybe too close to Business/non profit?
- Hobby
- Special Interests, done for leisure
- Generic example tag/label names that could fit this type:
- A Sport
- Rugby
- A genre of Games
- Table Top Roleplaying Game
- Video Games
- Card Games
- A Crafting/creating task
- Knitting
- Woodworking
- A Sport
- Industry
- A category that labels an economic category
- Example tag names that could fit this type:
- Finance/Banking
- Public Safety
- Restaurant
- McDonalds or Wendys is an Example
- Hospitality
- Hotels would be an example
- Information Technology
- Software / Programming
- Science
- Example tag/label names that could fit this type:
- Biology
- Computer Science
- Geology
- Chemistry
- Example tag/label names that could fit this type:
- More!
- Feel free to give me more Label/Tag type ideas, this is kind of open ended, I admit
Full Label/Tag Examples:
Template:
- Name
- Tag Type
- Minecraft
- Hobby
- Biology
- Science
- C#
- Industry / Hobby
- Cases like these annoy me, because this can fit both.
- I mean, technically almost anything can fit into Hobby, but I feel as though the majority case is Industry.
- Perhaps tag/label names can have more than one type, and you can choose to be specific or not.
- The purpose is to make it more searchable/identifiable, so having more than one type wouldn't be a bad thing.
- Need Feedback
- Cases like these annoy me, because this can fit both.
- Industry / Hobby
- Writing
- Profession / Hobby
- Teaching
- Profession
This part is a bit more subjective, and could warrant further discussion. I like this idea below, but it could have flaws. Feel free to give feedback to this.
When I originally envisioned tags, Communities should be able to pick one tag as the "Main" tag, but can have as many "lower power" or "sub" tags as they want. Then, a user could search by a "Main" tag name or "Main" tag type, and if they want something more specific, add rules that search the "lower power" or "sub" tags.
This could be built into the "Name Server" idea listed above.
Lemmy Concepts
These are ideas to improve features that kind of already exist in Lemmy, but would be expanded.
Custom listing_type
Originally, my idea was to have some new defaults which is still a good idea, but I have a better idea on how to implement them now.
Currently, there are three options for viewing communities on an instance: Subscribed
, Local
, and All
I just want an option to create and configure more of these, whether it's at the site, user level, or both.
For example, a site/instance configured "Related" listing_type
that lists communities, from both Local and All that the site/instance admin configured to be "Related" to the site.
- Other options for naming this configured listing_type could include: Recommended, Curated, Linked
This is different from All, because All contains all federated communities, whether it's related to a site/instance or not. Another filter could be related to the "White List" idea above.
A user can choose to not use those custom filters, or create their own personal filters.
Ideas for Filterable fields:
- Instance/Site
- Specific Communities
- tag/label
- Theoretical field from the ideas above
- List (White, Gray, Custom)
- Theoretical field from the ideas above
- Filter Operators
- AND
- OR
Max limit reached, appending Usability Improvements as comment below.
Admittedly, I have not used AI, but that probably would be overwhelming compared to everything else you have listed so far. (In other words, the time spent learning it would overshadow the amount of gain you would have from it)
But I believe everything else you've mentioned is probably achievable, even if it's not all at once. I do not use those social media sites, so I don't have an immediate answer, but I can assist in thinking about the problem. (Programming is all about solving problems you don't know how to solve yet) It's also iterative, you don't have to have a complete solution to make your life a lot easier.
Let me ask some questions that may help:
It's always good to break your problem down into smaller problems first, and then solve each small problem, one at a time.
Let me know if that helps, and feel free to provide more details.
edit: grammar