• 0 Posts
  • 4 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • You asked

    How should tags be integrated into Lemmy?

    Which is a generic question that goes beyond the scope of one change, so I assume you also wanted to shore up probable future changes, all of which built on top of the first change. Forseeing problems in advance can prevent problems from propagating down the chain like this, so my contribution here is to reiterate the mistakes Ive seen other failed social networks make. That is, if spam bots have a way to output sludge faster than genuine content can be created, people will leave. I dont know lemmys specifics and its not my job to learn that, and this is not a code review. I do expect defederation to add some unknown complexity, so literally all i am asking is to just have a strategy for the final implementation and not handwave stuff as someone elses problem or take moderators for granted like reddit did.


  • I’m less concerned about the client side ui layout, so much as for enabling spamvertisements. So for example if a feature is added to be able to search by tag someday, then theres a potential for people to try and abuse that by labeling irrevelant things under tags in order to get attention.

    I’ve experimented with other platforms before, and whenever a search feature gets added in any system that supports multiple tags, you start seeing posts with literally two dozen or more trending tags, and its irrevelant spam. I think the big proprietary platforms like tumblr have tools to moderate these, but I am aware that a community-led version of fighting spam has different needs and tools

    Theres likely a way to incorporate downvotes into the server search algo, so it isnt surfacing junk for example. All of that is just one idea of a complete plan for helping the community to moderate spam. I’m not proposing any complete strategy here.

    All I’m trying to get across: don’t forget to anticipate spam, and give the platform and users tools to defeat it.


  • If there’s tags, there needs to be a way to prevent spam abuse where someone adds like 100 popular and trending tags on their post to boost visibility for their advertisement, even though those tags do not fit the post. The simplest solution to that is limiting tags to like a maximum 1-3 per post, though other more complex solutions exist.


  • A lot of the time its impatient management who want the fastest solution right now, demanding their jenga tower built from hollowing out the middle and never allowing time to fill in the gaps with any new blocks.

    But i’ve also seen just plain inexperience from devs who have never seen a project become technically bankrupt. Some people just carry the expectations for a short lived app into a constantly iterated long lived app, not realizing that is the way to crunch and missed deadlines.

    Compounding the inexperience issue is the use of bad architecture. Architecture is a bigger picture thing, not something to bang together a bunch of use cases and a bunch of factories. The purpose of architecture is to keep development easy and smooth for now and the future. If it doesnt feel nice to work in, it’s not doing its job. If devs keep trying to cheat it, its time to add convienience tools to encourage them to do it right.

    Clean Architecture for example is very nice, it really shines in projects intended to be iterated continuously on for over 5 years and many more. It mitigates the pain of replacing and upgrading old obsolete stuff. Using it for one marketing campaign app that’s going to live for only 3 months is overkill though. For very short projects, you can see how its the wrong tool for the job.

    Selecting the right architecture involves understanding the patterns used and knowing what problems those patterns were meant to solve. Thats the way to know if those problems are relevant to your project.