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, and All, there is another tab called Recommended or Curated, or Linked, 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_types, 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:
I was thinking of a group of people that isn't necessarily a legal entity of some kind, but those are rare
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
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
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
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.
So, as I've been using Lemmy, I've been trying to make a list of features/requests.
But my ideas are not... Complete. They're just simple ideas that may already have a feature request associated with it.
So the purpose of this post is to create and share them, put my ideas on paper and see what kind of discussion can come from it.
If there is already an issue on the GitHub covered by my idea, let me know! I can update this list to reference that here, so I know it's being worked on.
Anyways, in this post above, and added to this comment below are my ideas, feel free to give feedback or additional ideas. If any of these ideas get enough traction, I'll make a feature request issue on the Lemmy GitHub.
(Of course, someone else could beat me to it, too.)
Usability improvements
Optional URL Federating
Currently, to federate, you have to search for an instance using the search in the upper right corner of the site.
After it's searched, you can subscribe to the community from a URL templated like this:
If you do not do the search first, (Read: You attempt to go to the community page before using the search function) the above URL would return 404.
As a general improvement, I would say when attempting to connect to a community that has not been federated yet, it should at least attempt to federate before returning 404, saving a step.
Built in safety:
Do not add, search, or federate the community unless this URL is requested by a local member that is signed into site/instance.
Do not federate community until the local member actually subscribes to that community.
Separate load text for Federating
Related to above, when searching for a community that is not yet federated, there is a delay for a community that hasn't been connected/federated to the current instance.
However, when it's done searching the local site, it is still attempting to search and federate to the external site/instance.
For this I recommend any of the following:
In search results, have separate sections for local and external results.
When it is still attempting to federate
It should show that it is in fact, still trying to search and/or federate
The message should should be distinct from a local search
Simple ideas:
Federating...
Advantages:
Simple
Drives home the concept
Disadvantages
Unintuitive (But then again, so is the entire concept)
Searching for external Community
Advantages:
More immediately clear
Disadvantages:
No side benefits like above
Notifications issue
If notifications are enabled on a site/instance, and a user decides to allow them, they get a notification for each tab of that site/instance that is open, instead of 1 notification total.