I started up my own instance and now I have realized that there’s no reason anyone would join mine instead of any other instance.

That’s no good. What neat stuff would the Fediverse like to see in a Lemmy instance?

  • Follow RSS feeds in your Lemmy feed? I have that already, in a way, but it would be nice to be able to do it for any feed automatically without it being clunky.
  • Follow Mastodon users? Or tags?
  • Embedded video? That seems costly.
  • Hackability? The ability to run your own customized front end? Or good scripting features in the browser console?
  • A better looking UI? This one is functional but it’s not pretty.
  • Better moderation? I have heard the Lemmy tools aren’t that good.
  • Something else?
  • rglullis@communick.news
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago
    • Proof of Humanity. There is some work about using Zero Knowledge Proofs as a way to be able to indicate that the owner of a key can also prove ownership of another set of credentials without having to reveal these credentials to third parties. This would allow us to really get rid of bots and sockpuppets.
    • The ability for users to bring their own cryptographic keys and actor id. This way even if a server goes down people could port their whole account over to a different server.
    • Multi-protocol federation.
    • Get rid of downvotes/upvotes and replace it with multi-dimensional scoring/ranking system.
    • User-defined sorting/ranking. I do not want to completely block people, but I do wish to have a system that could boost/de-emphasize posts by certain people on certain topics, and completely ignore them in others.
    • Cooperative media storage and distribution that could leverage the storage from clients as well as servers, something based on bittorrent.
    • Custom widgets that can be attached to a post/community. For example, I’d like to have a play-by-play tracker for basketball/football games.
    • RDF/Semantic Web descriptors. If people are talking about a TV show, or making a list of PC components that they want to review or anything that can be part of a knowledge graph should be linkable and browsable by a specialized browser.
    • Collaborative lists/articles/posts. With the item above, it would be trivial to create wikipedia-style posts where a community can build their “common knowledge” and would make it easier for newcomers to get general recommendations and/or a sense of the community values.
    • PhilipTheBucket@ponder.catOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months ago

      This is by far my favorite set of suggestions. This is the kind of hackability fun instance that I would love to be a part of.

      Proof of Humanity. There is some work about using Zero Knowledge Proofs as a way to be able to indicate that the owner of a key can also prove ownership of another set of credentials without having to reveal these credentials to third parties. This would allow us to really get rid of bots and sockpuppets.

      Can you explain more? How would this do anything to prevent sockpuppets? I don’t think they are preventable. I think the closest thing that exists is Something Awful’s forums, where you have to pay $10 to participate and your user can be banned at the drop of a hat if you get out of line, and you’re out $10. So you can run as many sockpuppet accounts as you want, as long as you feel like investing in what it’ll take to keep making new ones.

      That approach works perfectly on SA and I think there’s something to it, but the $10 would be so shocking to the Fediverse mindset that I think it would be impossible for anyone to be on board with it.

      The ability for users to bring their own cryptographic keys and actor id. This way even if a server goes down people could port their whole account over to a different server.

      You can’t bring an actor ID to a new domain name, can you? I can imagine an outlandish solution with each user registering their own domain for their actor, or having one provided by a guaranteed-trustable service, and then the server supporting those “foreign” actors, but it’s definitely not easy. The idea of porting your stuff to a new server is an excellent idea but I think it’s difficult to do with ActivityPub.

      Multi-protocol federation.

      Absolutely.

      Pixelfed has support for most of the Fediverse: Lemmy’s communities, Mastodon’s groups, and Mastodon’s microblogging. I’m thinking about messing around with Pixelfed before going any further with the Lemmy plan. Pixelfed might or might not work, but it might be a pure superset of what Lemmy can do, after some minor UI changes.

      Get rid of downvotes/upvotes and replace it with multi-dimensional scoring/ranking system.

      User-defined sorting/ranking. I do not want to completely block people, but I do wish to have a system that could boost/de-emphasize posts by certain people on certain topics, and completely ignore them in others.

      This is one of the biggest things, to me. I messed around with some code to analyze the network of votes and make global determinations about users, and it worked well. Having the scoring and selection of posts being something that just has some quick math thrown at it but mostly left alone is a big missed opportunity to me.

      Having a powerful hackable framework to customize the feed you’re seeing, or add multiple feeds you can switch between, would be fantastic.

      Cooperative media storage and distribution that could leverage the storage from clients as well as servers, something based on bittorrent.

      I messed around with this too. It’s not simple and I didn’t get very far, but this is a very good idea to me. It also helps with hackability, because once you have that backing store that’s using some model other than HTTP requests to nginx on the central instance, it’s easy to make it writable for client-side plugins. It’s a very, very ambitious thing but I like it very, very much.

      Custom widgets that can be attached to a post/community. For example, I’d like to have a play-by-play tracker for basketball/football games.

      Yes, exactly. I think once of the very next things on my list are seeing how realistically this kind of widget can be added to the Lemmy UI in a way that’s customizable by the user. I think it’s pretty easy. But all of this is work and work is hard, of course.

      RDF/Semantic Web descriptors. If people are talking about a TV show, or making a list of PC components that they want to review or anything that can be part of a knowledge graph should be linkable and browsable by a specialized browser.

      Collaborative lists/articles/posts. With the item above, it would be trivial to create wikipedia-style posts where a community can build their “common knowledge” and would make it easier for newcomers to get general recommendations and/or a sense of the community values.

      This, I didn’t think very much about. If there’s a hackable framework for client-side tools, though, someone who wants to do these things should find it pretty easy.

      This is exactly the type of thing I want to do.

      • rglullis@communick.news
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        Can you explain more? How would this do anything to prevent sockpuppets?

        Imagine something like a verification check (like Twitter’s old blue check) that is exclusively associated with your national ID. You can have only one of those. If you want to create sockpuppets, you’d have to convince someone else to (a) give them access to their ID and (b) be willing to lose their ability to prove their own identity elsewhere.

        It’s not absolutely safe against bots and sockpuppets, but it surely makes it more expensive than even a $10/account membership.

        Pixelfed has support for most of the Fediverse.

        PIxelfed is still just supporting ActivityPub. I’m talking about multi-protocol communication. A smart client should be able to let you communicate with Lemmy communities, subreddits, Facebook groups and all types of different platforms from a single unified interface. There are plenty of people that think this is something undesirable (like everyone that wants instances to block Threads), but I’d argue that building these integrations with closed platforms would eventually destroy them because they would lose the monopoly on network effects.

        You can’t bring an actor ID to a new domain name, can you?

        No, but you could have a web server that responds to multiple domains. Ideally, the server listening and responding to the AP requests should be able to work with multiple “virtual servers”, instead of having to have only one instance == one domain that we today. AFAIK, only Takahe does this for microblogging.

        • PhilipTheBucket@ponder.catOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          4 months ago

          It’s not absolutely safe against bots and sockpuppets, but it surely makes it more expensive than even a $10/account membership.

          I think, sadly, that either sending in your national ID or paying $10 would be unacceptable to so many people that it would make it a lonesome failure of an experiment. I’m on your side about the idea, but I think people would just take the path of least resistance and create their sockpuppets on some other instance, and your main accomplishment would be driving away legitimate users.

          PIxelfed is still just supporting ActivityPub. I’m talking about multi-protocol communication. A smart client should be able to let you communicate with Lemmy communities, subreddits, Facebook groups and all types of different platforms from a single unified interface. There are plenty of people that think this is something undesirable (like everyone that wants instances to block Threads), but I’d argue that building these integrations with closed platforms would eventually destroy them because they would lose the monopoly on network effects.

          I get it. Aren’t there projects that are working on that? Friendica and Emissary? Adding integrations with closed-source networks to those isn’t too hard. At that point, it’s not its own web app anymore, though, more akin to an email program. It’s a good idea but it’s different than what I had in mind. You will also have to deal with API limits or terms of service and legal issues, once you start looping in the closed-source networks.

          No, but you could have a web server that responds to multiple domains. Ideally, the server listening and responding to the AP requests should be able to work with multiple “virtual servers”, instead of having to have only one instance == one domain that we today. AFAIK, only Takahe does this for microblogging.

          Yes, that part’s not overly hard. I’m already doing virtual servers for ponder.cat and rss.ponder.cat, to run them both on the same VPS, and I’ll probably add more virtual servers for development of frontend tweaks if I keep going with Lemmy. Some of the ideas I had in mind for hackable frontends involved wildcard virtual servers to serve people custom “instance” sites off a subdomain that’s different from the actual actor ID instance name.

          What I’m saying is that if someone’s actor ID from the POV of the rest of the Fediverse is still https://ponder.cat/u/rglullis, and ponder.cat goes down, nothing that either ponder.cat or any new instance can do, can “catch” requests that are being directed to that actor ID. You have to make the actor ID either https://rglullis.com/u/rglullis or https://rglullis.sometrustedthirdparty.com/u/rglullis from the beginning, and arrange for ponder.cat to be handling any traffic for those domains, so that you can switch away from the ponder.cat instance later on if you want to.

          Of course, you can tell people that they can either have a ponder.cat user, or a rglullis.com user if they want to buy their own domain for their user, and they can have an actor that will be transferrable from ponder.cat to any other Lemmy server that supports the feature. It wouldn’t work with current Lemmy, but in theory it could be made to work, if someone were willing to make the right Lemmy changes. It would be tough but it might be worth it.

          Overall I think it might be better to address the same issue at the protocol level as some other federated social media networks do, so you’re not introducing crazy new requirements on both the server and user experience side in order for people to be able to transfer their users later.

          • rglullis@communick.news
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 months ago

            I think, sadly, that either sending in your national ID

            That’s why I mentioned the idea of “Zero Knowledge Proofs”. Using a ZK-proof, one should be able to prove ownership of an ID without having to reveal it to anyone else.

            At that point, it’s not its own web app anymore, more akin to an email program.

            Yes, exactly. I am not a fan of the current way that the Fediverse is working though, and I think it would be better to stop thinking in terms of “servers/clients” and more in terms of “distributed applilcations”.

  • PugJesus@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    Well, I’m not looking to leave .world, but custom flairs for communities and better moderation tools would be the two big ones that are missing right now.

    … also, charts of views/posts per month in a community. I like seeing the squiggly lines

    • PhilipTheBucket@ponder.catOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months ago

      What’s lacking in the moderation tools? I’ve heard a lot of people talk about the lack. What are some things that are hard to do?

      • PugJesus@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        For me, I think, to pass a report ‘up the chain’ to the admins, either to alert them of instance rules being broken (spam, questionable content, etc), or of a user abusing the report feature. ‘Report’ having more than “Yes I’ve seen it” as an option in notifications would be nice. A dedicated ‘modmail’ would be welcome too, as right now you play moderator roulette trying to figure out who to talk to when there’s more than one moderator. Oh, and a common chat room thing for mods.

        • PhilipTheBucket@ponder.catOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          4 months ago

          I think hackability can go a long way towards this.

          Especially on the frontend, there’s no reason Lemmy shouldn’t have custom “plugins” to change its behavior in certain ways. I think the issue isn’t that the Lemmy developers don’t want these things to exist that you’re talking about, so much as them being the only ones in a position to make the changes or accept the PRs to make them happen. Of course in that situation, change will be slow and progress limited.

          Me making changes to the frontend that intensive, or anything like it, was a bigger scope of change than I was expecting. I just wanted to make some tinkering things for my instance. But it wouldn’t be impossible. And you could have your charts. Even little blinking lights and things.

          Let me mull it over for a while.

          • nutomic@lemmy.ml
            link
            fedilink
            English
            arrow-up
            0
            arrow-down
            1
            ·
            4 months ago

            I think the issue isn’t that the Lemmy developers don’t want these things to exist that you’re talking about, so much as them being the only ones in a position to make the changes or accept the PRs to make them happen.

            Lemmy maintainer here, and I’m really curious what gave you this idea. We generally welcome all contributions to the project. On the backend I made a pull request to add plugin support which is waiting for feedback. Onthe frontend I havent heard any interest in a plugin system yet.

            So if this is something you want, you’re welcome to implement it and open a pull request.

            • PhilipTheBucket@ponder.catOP
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              4 months ago

              I completely agree. Maybe my phrasing was careless. I wasn’t trying to be critical of the pace of accepting PRs or anything. I only meant that I think more flexibility in the frontend would help, instead of needing any minor UI change to go all the way through a cycle all the way up to you, incorporating it into the core codebase, and then filtering back down to an upgrade by the instance admin. But please don’t take it as blaming you for any of that situation. I was raising it in the effort to propose a solution and also to advocate against people just complaining about the moderation tools and then moving on, and waiting for you to make them happy.

              I did look at the backend plugin system PR, although sadly not enough yet to have any opinion or feedback on it. I do think a frontend plugin system, of sorts, could help a lot. I’m not sure when I will have time but I will try to put together something on this instance to show what I’m talking about, and if I do wind up doing it and it’s well received, I am completely open to putting it together as a fixed-up and official PR for the main codebase.

              • nutomic@lemmy.ml
                link
                fedilink
                English
                arrow-up
                0
                arrow-down
                1
                ·
                4 months ago

                Yes that sounds like a good idea. Unfortunately lemmy-ui isn’t getting many contributions so development is rather slow, but contributions are always welcome. I don’t work on that project myself, so I suggest you discuss it in the dev chat on matrix to make sure your approach will actually work.