Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post tags #317

Open
MatteoGgl opened this issue Oct 22, 2019 · 69 comments
Open

Post tags #317

MatteoGgl opened this issue Oct 22, 2019 · 69 comments
Labels
enhancement New feature or request

Comments

@MatteoGgl
Copy link
Contributor

MatteoGgl commented Oct 22, 2019

Is there an interest to develop a post tagging feature? I remember seeing an issue about it some time ago, but I can't find it anymore so it's possible I'm making this up.

A post tag would be defined as a "subtitle" of the post inserted by a mod of the community (or an admin) after the post is published, with the purpose of categorizing or adding flair to the community post. It would be displayed in the post listing alongside the title in a smaller font, inside a bordered box, reddit style.

Possible secondary additions could be:

  • Letting the user tag his post freely
  • Letting the user select a tag from a mod-defined list to be applied

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@dessalines
Copy link
Member

I'm not sure about tags, mainly because of the annoying and complicated mess of community owners having to maintain systems of them.

Also, the main usefulness of tags, is being able to list / filter on them, which already works with searching.
Lets say a music community requires a [Genre] tag, so if you wanted to list all the rock posts, you could just this: https://dev.lemmy.ml/search/q/[rock]/type/all/sort/topall/page/1.

@MatteoGgl
Copy link
Contributor Author

MatteoGgl commented Oct 23, 2019

Could you expand on the mess of maintaining the system? Since I have no experience in managing a community it's possible that I'm missing something very obvious =)

Also it could be an optional mess: it should be an opt-in feature for each community.

And yes, I see your point on search; I still feel a strong point about post filtering since it's a feature I use daily on reddit to exclude some content on a subreddit level.

@dessalines
Copy link
Member

Its just very tedious for moderators. Also another point, but the tags / flair for most other platforms, are hashtags, which are completely unmoderated and don't require anything more than the user to type it out. Then these flair are cross community also.

I'm not ruling out adding tags in some form but this would be way down on my list.

@Nutomic
Copy link
Member

Nutomic commented Dec 20, 2019

Other activitypub platforms already support hashtags, so it would make sense to implement an (optional) tagging feature that is compatible with eg Mastodon hashtags. But that is still far in the future.

@Nutomic Nutomic added enhancement New feature or request far-future labels Dec 31, 2019
@NOTtheMessiah
Copy link

Have you considered tags as an alternative to sub-communities? It seems to work pretty well for lobste.rs, this is where they discuss their reasoning: https://lobste.rs/about#tagging

When looking at most "reddit clones" I can't help but notice how most comment sections are deserts, and as I look into the history of reddit, the only way they were able to get to a critical mass of users was to populate the site with fake users to present an illusion of a community. Getting to critical mass would less of an issue through a tagging system (as centralizing discussion would eliminate redundancy and encourage people with interests to discuss).

Of course, a tagging system might force you to rethink moderation, but I think the idea of having "benevolent dictators" determine sub-community policies (however transparent they may be) is an idea worth inviting critical thought (the structure is fundamentally neo-reactionary, in which an moderator/vassal presides over some (abstract) territory, having dominion over it).

@dessalines
Copy link
Member

There's a lot of things I disagree with about the unmoderated tag vs moderated community model, but if I were to boil it down to one thing, its ownership. In the tag model, no one has any control over any of the content in those tags, and if there's any work being done to clean up content in there, all that work is put on the admins. No one except the admins control tags.

Whereas with a community, anyone can start one, invite people to it, and have full moderation abilities to keep things the way they want. It gives a sense of ownership, a vested stake in its success, and gives the community creators / moderators the power to keep the sub how they want it.

Obvi a huge part of reddits popularity (ignoring the first mover thing) is that people can, and still do, make and grow communities. If anything it got to critical mass because of that killer feature.

@NOTtheMessiah
Copy link

Moderation need not be a task left only to admins; Slashdot has a meritocratic system of enlisting moderators. Another option could be elected moderators. Users can also be enlisted in a limited sense to perform some roles.

I get that Reddit gained popularity from making use of an entrepreneurial settler-colonist mindset in regard to community development, but it needn't be the only means of cultivating a community.

Tildes.net seems to take the approach of having communities each with their own set of tags. Seems like that's what you're going for, but I feel that having federation is redundant.

@kolgza
Copy link

kolgza commented Jun 3, 2020

Copied from #771
Hierarchicial tags — a cool feature to borrow from Tildes!

EDIT

In hindsight, this would be a terrible idea, as it would break compatibility with tags on other fediverse services.


## What are hierarchical tags? Tildes uses hierarchical tags to establish post categorization beyond which group (the Tildes equivalent of a subreddit or a com# What are hierarchical tags? Tildes uses hierarchical tags to establish post categorization beyond which group (the Tildes equivalent of a subreddit or a community) a post is in. The closest Reddit analogue for them would be post flairs. There a few key differences between them and flairs, however: - They can exists on posts across multiple groups. - Multiple tags can be applied to the same post. - Their hierarchical nature allows for increasing levels of specificity the longer each tag gets.

Why should they be implemented?

  • They would make searching for posts easier.
  • They would make finding similar posts easier.
  • They would help differentiate Lemmy from Reddit

What might be some problems with them?

  • User apathy: many users just don't use them, or don't use them to their fullest potential.
  • Potentially redundant tags could exist.

Other resources

  • Tildes Gitlab page
  • Tildes Documentation of hierarchical tags
    munity) a post is in. The closest Reddit analogue for them would be post flairs. There a few key differences between them and flairs, however:
  • They can exists on posts across multiple groups.
  • Multiple tags can be applied to the same post.
  • Their hierarchical nature allows for increasing levels of specificity the longer each tag gets.

Why should they be implemented?

  • They would make searching for posts easier.
  • They would make finding similar posts easier.
  • They would help differentiate Lemmy from Reddit

What might be some problems with them?

  • User apathy: many users just don't use them, or don't use them to their fullest potential.
  • Potentially redundant tags could exist.

Other resources

@kolgza
Copy link

kolgza commented Jun 8, 2020

I think the idea of using nsfw, cw, and spoiler tags for labelling objectionable content should be considered. This idea originated from Tildes, where hierarchical tags are used to add specifics. I no longer think hierarchical tags are a good idea, however, as they could potentially break compatibility with services that use tags differently.

@dessalines
Copy link
Member

We already have nsfw for posts and communities, and spoiler tags for comments.

@kolgza
Copy link

kolgza commented Jun 8, 2020

What I meant was that if, in the future, you were to allow users to freely add tags to their posts, it might be a good idea to implement a designated nsfw tag to mark posts as nsfw, instead of the way nsfw posts are handled currently.

This idea hinges on post tags being implemented in the first place.

@kolgza
Copy link

kolgza commented Jun 9, 2020

On another topic, it would be awesome having Mastodon-style featured tags, but for communities.
image

(I'm probably getting ahead of myself.)

@kolgza
Copy link

kolgza commented Jun 9, 2020

I think I just need to leave this by saying that there are so many different ways that post tags can be used to benefit Lemmy, that their development should be a higher priority.

@Ravenbird
Copy link

Is there anything new here? Since I did not know this discussion, I just raised the issue on lemmy.ml.

@dessalines
Copy link
Member

Nothing new, but anyone is free to make a PR adding this, we're busy with other things.

@loid345
Copy link

loid345 commented Jun 28, 2022

Tags are great for finding relevant content. See how it's done in one of the reddit clone
https://pikabu.ru/tag

@ColdHotman
Copy link

I would prefer the option to toggle it off, just like downvotes.

@zcdunn
Copy link

zcdunn commented Jan 17, 2023

I would like to see hashtags on lemmy for greater compatibility with the wider fediverse. Being able to tag a post would aid discoverability for people who are not aware of lemmy or don't follow the community the post is made in.

I started a lemmy thread about this before I found this issue.

@dessalines
Copy link
Member

I'm not a fan of unmoderated hashtags, as a method of content discovery. See my comment here.

They might make sense for a micro-blogging system that never thought beforehand about how to group topics and help you find content, but they don't make sense for a link-aggregator that already groups topics into communities. Lemmy's search bar probably already works as well as hashtags do for finding content.

Instance-wide content discovery is separate from this issue, which is more about tagging posts and grouping them within a community.

@wiki-me
Copy link
Contributor

wiki-me commented Jan 20, 2023

I'm not a fan of unmoderated hashtags, as a method of content discovery. #317 (comment)

We can just allow tagging posts that already exist in a community.

One of the things that could be useful is that it could make content discovery easier for people with special interests, lets say i am a developer of a small open source project that does not have a community (e.g. nnn) I could just subscribe to a tag and add it to the main feed (I don't have to keep searching lemmy which is way too clumsy ), also we could take a move from tildes.net playbook and have RSS feeds for tags , so a dev could subscribe to the RSS and see a post even if it appears on the "linux" or "opensource" communities.

@remram44
Copy link

We can just allow tagging posts that already exist in a community.

That sounds like such an obvious vector of abuse. Unless you only allow the mods of a community to do this, or a whitelist of tags, similar to Reddit's flairs.

@zcdunn
Copy link

zcdunn commented Jan 20, 2023

@dessalines

but they don't make sense for a link-aggregator that already groups topics into communities

I disagree for a couple reasons:

  1. They would enable better discoverability on non-lemmy software where hashtags are the main topical grouping mechanism right now.
  2. While lemmy uses communities for topical grouping, some posts might fit into multiple categories, even unrelated categories. Crossposting sort of solves this, but crossposting can be considered spammy if it’s done too much. And crossposting creates another post which fractures the conversation. This may be desirable sometimes, but a poster may also prefer to keep all the conversation in one spot.
  3. It would allow finer grained filtering of posts, even within a community. Users may be interested in a topic, but not every facet of that topic.

For example, I could create a post in a general programming community but tag it with the specific programming language my post is about. This would allow any other subscribers to the community to filter out that language if they weren't interested. And when this post is federated, users on other software could discover the post by it's tag. To me, discovery across the fediverse is the biggest benefit of adding tags. So if you just allowed posts to be tagged and federated but didn't show them in lemmy's UI, it'd be happy even though I think they offer benefit within lemmy too.

As for moderation, I don't really understand why its necessary. Do you just mean, moderating that a post belongs within a topic? To me, hashtags are a looser form of organization and don't required that level of moderation. Fediverse hashtags are already unmoderated and users expect that some posts may not necessarily be relevant. Different users may use a tag in a different context. But if you're talking about moderation of content quality and acceptability, it would still be there. Lemmy posts would still always exist within a community and that community mod would be able to moderate the post.

EDIT: I just reread the top comment on this issue and want to clarify that I'm only talking about freeform tags by the user. That's how tags work on other fediverse software so I don't think an admin tagging system would be necessary.

@Ravenbird
Copy link

They might make sense for a micro-blogging system that never thought beforehand about how to group topics and help you find content, but they don't make sense for a link-aggregator that already groups topics into communities. Lemmy's search bar probably already works as well as hashtags do for finding content.

Oh you know Diaspora, Friendica or Hubzilla? These are all macro-blogging platforms where hashtags are part of the basic concept. Used correctly, hashtags can be very helpful in finding interesting content.

@Neshura87
Copy link
Contributor

Yes, just a bit busy woth irl stiff rn, plan to getting the doc done in the next week or two

@uniquePWD
Copy link

Thanks for the clarification

@K4LCIFER
Copy link

K4LCIFER commented Aug 4, 2023

If hashtags are independently federated objects by ActivityPub, perhaps they could used as the means to create tags? A community moderator could perhaps restrict hashtags to specific ones within the community. This would then allow the tags to be viewable, and useable for other federated services.

@Neshura87
Copy link
Contributor

Finished the first version of the RFC, feedback is welcome (especially when it comes to the backend, not quite familiar with it so I have no idea if the changes I detailed are enough)

https://github.com/Neshura87/Lemmy-RFC/blob/main/rfc.md

@RocketDerp

This comment was marked as abuse.

@llagerlof
Copy link

It would be great if Lemmy could have at least three special tags: NSFW, SPOILER, and SENSITIVE (suggested name).

One of the most annoying and impractical things is that sensitive image content, like horror, violence, and accidents, gets lumped in with adult content under the NSFW tag.

My proposal is that the NSFW tag should only apply to adult content, while the SENSITIVE tag (or another name yet to be chosen) should apply to these other types of sensitive content. SENSITIVE posts and comments wouldn't be hidden by default, or it could be a configurable option to show or hide them.

@ludrol
Copy link
Contributor

ludrol commented Sep 5, 2023

It would be great if Lemmy could have at least three special tags: NSFW, SPOILER, and SENSITIVE (suggested name).

One of the most annoying and impractical things is that sensitive image content, like horror, violence, and accidents, gets lumped in with adult content under the NSFW tag.

My proposal is that the NSFW tag should only apply to adult content, while the SENSITIVE tag (or another name yet to be chosen) should apply to these other types of sensitive content. SENSITIVE posts and comments wouldn't be hidden by default, or it could be a configurable option to show or hide them.

What would be the qualitative difference between SPOILER and SENSITIVE. Both produce the same behavior. One tags goes with discussion of sensitive and taboo topics and other goes to stories in fandoms. I don't see a community where both tags would be used at the same time.

We could change a name to encompass both meanings but I am out of ideas.

@Neshura87
Copy link
Contributor

I don't like how NSFW is implemented as a separate concept

This split is sort of needed so compatibility with other fediverse platforms isn't broken.

Adding SPOILER and SENSITIVE

My RFC only plans for NSFW + Content Warning and Generic, basically what you ask for. (Again NSFW needs to be separate due to mainly fediverse compat reasons)

@Neshura87
Copy link
Contributor

@8ullyMaguire actually all the protocol mentions are already part of the activityPub protocol as far as I am aware, unless the fep is different from the w3's activitystreams documentation.

@oelmekki
Copy link

oelmekki commented Sep 6, 2023

I personally would very much love to see that happen, for the same reason already mentioned : discovery. What would be perfect would be if those tags can be followed through RSS, on even from the "subscribed" tab.

I don't often use the "local" and "all" tabs (which, I assume, are supposed to be the main way of discovering new communities) because it contains just lot of things I'm not interested in, so if I could use tags to let in a selected set of out of subscriptions posts to get into my feed, that would be awesome.

@ShinyLuxray
Copy link

ShinyLuxray commented Sep 6, 2023

A tagging feature is something that would be very nice to have and I'm in full support of it. Anyways here are the parts that I'd like to see implemented:

  • Communities can have inbuilt tags that apply to every post
  • Users can add tags of their own to a post
  • There should be reasonable limits to how many tags can be placed and federate (I suggest 5 of each type)
  • Communities should optionally have a filter list of what tags are permitted to be assigned and anything outside of that is discarded from the post
  • Instances can maintain a list of "popular tags in the last day" etc. (a /trending page)
  • The endpoint for aggregating local, subscribed and Fediverse posts by tag is a big feature and should be prioritized. e.g. server.com/t/gaming
  • An endpoint for filtering posts by tag is desirable: server.com/c/community/t/discussion for example. This could be implemented similarly but separately as a flair, possibly.
  • Tags should be a separate field entirely to the post body if possible, otherwise they should exclusively be written at the end of the body, to avoid parts of the body text incorrectly picked up as a tag
  • An instance's slur filter should apply to the tags
  • Users should have the option to not display tags
  • Backwards compatibility doesn't have to be perfect but should be kept in mind (e.g. can the tagged and untagged versions of lemmy still federate, etc.)
  • How tags on Lemmy will federate and display on other ActivityPub servers is a consideration.

@ItsIgnacioPortal
Copy link

ItsIgnacioPortal commented Sep 6, 2023

It would be great if Lemmy could have at least three special tags: NSFW, SPOILER, and SENSITIVE (suggested name).

One of the most annoying and impractical things is that sensitive image content, like horror, violence, and accidents, gets lumped in with adult content under the NSFW tag.

I strongly agree.

The distinction between gore and pornography has been an issue on Reddit for a very long time. Even though subreddit moderators have had the freedom to create any custom tag they wanted, most of them are too lazy to actually set up the system.

For that reason, I think the NSFL tag should exist on every instance by default, with the option for administrators or moderators to disable or delete it on their own instance or community.

Rather than SENSITIVE, what about using NSFL as the tag name? NSFL stands for Not Safe For Life, and it's a term already in use in many online communities.

Following @Neshura87 's RFC, that would be a default tag defined like this:

{
      "type": "cw",
      "id": "https://example.org/t/nsfl",
      "name": "NSFL"
}

@Neshura87
Copy link
Contributor

Therefore, there should be a configurable instance/community limit for tags allowed in posts

I personally believe this is more of a frontend issue. You can simply display a few tags by default and provide a drop-down menu to view the rest of the tags.

One of the two is definitely a good idea, I'll put it in the outlook section of the RFC for now, the idea can be revisisted once some usage examples of tags exist to gauge what an appropriate default limit would be.

@ShinyLuxray I at least somewhat agree with most of your ideas but I think most of it can be implemented after the basic tagging system is implemented

Regarding >Backwards compatibility doesn't have to be perfect but should be kept in mind (e.g. can the tagged and untagged versions of lemmy still federate, etc.)

That should not be an issue at all, the tag objects in the post json should simply be ignored by older lemmy versions.

How tags on Lemmy will federate and display on other ActivityPub servers is a consideration.

I don't know enough about how other platforms handle this stuff so I really don't know, at least on my end it's something I can only really say once I can do some testing on it. I definitely agree that the tags should be visible on other platforms though


@ItsIgnacioPortal definitely a good idea, I'll need to add a section with proposed default tags to the RFC, I'll include this when I get around to writing that section.

@trymeouteh
Copy link

trymeouteh commented Sep 6, 2023

If this allows for tags and flairs on Lemmy and kbin, I am all for it. This will allow users to add tags to posts to help users sort posts in a community.

For example a gaming community like !tes@lemmy.world can use tags to determine what game they are talking about (#skyrim, #oblivion, #morrowind)

Would be useful for the community moderators to set specific tags (flairs) that can be used and for users to use any tags they wish to help users filter posts in a community.

This was referenced Sep 7, 2023
@8ullyMaguire
Copy link

A separate table could link the tag IDs to their name, description, and language. This table would have the columns tag_id, name, description, language.

By separating the names and descriptions into a separate table, a single tag ID can be linked to multiple names/descriptions in different languages.

@Nutomic
Copy link
Member

Nutomic commented Sep 11, 2023

@Neshura87 Congratulations for writing the first ever Lemmy RFC! To handle it properly I created an rfc repo based on the Rust rfc process. Please submit your rfc there. As this is brand new, let me know if there is anything you would change about the rfc process to make it work better for Lemmy.

For now some quick comments: Try to keep the scope as limited as possible. Supporting both instance and community tags can almost double complexity. I suggest adding only community tags for now as those will bring the most benefit, and after that is implemented consider additions. Replacing nsfw and spoiler flags is also something I would leave for later. Regarding federation, should Lemmy tags be compatible with tag implementations on other Fediverse platforms such as Mastodon, and how would that work from a user/mod perspective?

@db0
Copy link
Contributor

db0 commented Nov 21, 2023

For me a very important aspect of the tags is to make them compatible with microblogging instances and have the post tags appear on the posts by the group. The problem currently with lemmy is a chicken-and-egg one. We don't have enough niche communities because there's no enough traffic, and we don't have enough traffic because we don't have enough niche communities.

Allowing posts in communitiesd to be tagged (including providing a default tag) which would then appear under the same tag in, say, mastodon, will help drive more interaction from the microblogging space, which could massively increase the engagement and be a killer feature that is straight up not possible in closed gardens like lemmy and ex-twitter.

@Nutomic
Copy link
Member

Nutomic commented Nov 21, 2023

Once tags are implemented in Lemmy it would be pretty easy to federate them in a way that is compatible with Mastodon hashtags. However Im not sure thats a good idea as the use cases are rather different. In any case the main challenge that needs to be solved first is the tag implementation for Lemmy, so far its not clear how that should work (see discussion in the RFC).

Another option would be to create hashtags based on the community name. #3906 (comment)

@db0
Copy link
Contributor

db0 commented Nov 21, 2023

I'd avoid hashtags based on community name as that doesn't always match the one people would look for. Instead allowing the creator of the community to specify one or more of hashtags to tag all new posts with would be preferable.

However Im not sure thats a good idea as the use cases are rather different.

I don't quite agree. One use case in both is discoverability. Lemmy also wants to use them for filtering. It should not be particularly difficult to allow the instance mod to add metadata to each tag to specify which tags is meant for internal lemmy filtering, which for discoverability and which for both.

@dessalines
Copy link
Member

dessalines commented Nov 21, 2023

We don't have enough niche communities because there's no enough traffic, and we don't have enough traffic because we don't have enough niche communities.

Tags aren't going to solve that issue IMO, and shouldn't be meant to fix discoverability problems (especially since they're completely unmoderated and can be spammed by anyone). Some things that should help grow niche / smaller communities:

  • The new scaled sort.
  • Showing random / highlighted communities in a sidebar (IE fixing up trending communities in the current lemmy-ui sidebar).
  • Community searching, either via the communities page
  • Integrating the Lemmy community search tool in some way.

@db0
Copy link
Contributor

db0 commented Nov 21, 2023

and shouldn't be meant to fix discoverability problems

That precicely what hashtags are meant to achieve in mastodon. They're explicitly a discovery mechanism. As such, tagging posts for microblogging will allow the microblogging crowd to discover the new posts and contribute to them, therefore increasing engagement which is critical in niche communities.

Some things that should help grow niche / smaller communities:

These things will improve discoverability from within lemmy only. Lemmy has less that 40K MAU and is on the decline. Mastodon has orders of magnitude more. My suggestion would allow the users of Mastodon to easier discover content on lemmy and improve its engagement, which would make niche communities more active, further attracting more people and creating a virtuous cycle.

Point is: Adding tags won't hurt. There's no reason not to do that as well as those ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests