cross-posted from: https://discuss.online/post/4522403

We are thrilled to announce the upcoming release of Sublinks, a groundbreaking Link Aggregation Social Network, joining the Fediverse. This innovative platform is designed to revolutionize how we share and discover online. Our dedicated team of volunteer contributors has worked tirelessly, utilizing technologies like Java, Go, TypeScript, and HTML to bring this vision to life. Sublinks promises a user-friendly interface and robust features that cater to diverse online communities. Stay tuned for our launch date, and get ready to experience a new era of social link sharing!

Sublinks will have a fully compatible API with Lemmy so all current Lemmy apps will also work with Sublinks. In fact, discuss.online will switch to Sublinks to fully replace Lemmy once we reach our Parity Milestone.

For more information, visit GitHub - Sublinks and sublinks.org.

Stay tuned for more regular updates as we progress.

  • Diabolo96@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    64
    arrow-down
    1
    ·
    11 months ago

    One of the most inportant features that lemmy lacks is the embedding of peertube/invidious/youtube videos . If you manage to incorporate this then what you’d have would be basically a huge improvement for the Fediverse. Imagine someone sharing a song/video he found on YouTube and instead of dealing with redirect and opening an entire other app you just click play. Heck, the user could add an “audio only” tag to their post to just show a music player widget.

    • Dampyr 🇺🇦 🇵🇸@lemmy.world
      link
      fedilink
      English
      arrow-up
      27
      ·
      11 months ago

      I was reading through Thunder’s issues and here one of the devs of lemmy says that youtube/peertube embed links are already supported in the backend with post.embed_video_url.

      I’m not sure how easy would be to implement that embed in the different apps/lemmyUI however!

  • MNByChoice@midwest.social
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    1
    ·
    11 months ago

    Please give me one example of how sublinks is better than lemmy currently for use.

    (I don’t understand why new software instead of improving lemmy.)

    • spiderman@ani.social
      link
      fedilink
      English
      arrow-up
      30
      arrow-down
      2
      ·
      11 months ago

      It’s always good to have alternatives. Healthy competition can make them grow better too.

          • doidera@lemmy.eco.br
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            3
            ·
            11 months ago

            you are aware that what you linked is up to mastodon to implement? nothing to do with Lemmy.

            • nasi_goreng@lemmy.zip
              link
              fedilink
              English
              arrow-up
              9
              ·
              11 months ago

              Not really, Kbin (which also similar to core function as Lemmy) has better interoperability with Mastodon.

              Nutomic, Lemmy dev, reject that idea. Quoted from himself: “Like you said, Kbin already supports this. No need to reimplement it in Lemmy, definitely wouldnt be worth all the effort.”

              • doidera@lemmy.eco.br
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                1
                ·
                11 months ago

                And akkoma works perfectly with Lemmy where mastodon doesnt even understand groups

            • Arcka@midwest.social
              link
              fedilink
              English
              arrow-up
              3
              ·
              11 months ago

              Which comment in the issue thread leads you to believe that?

              The developer’s closing comment is that it wouldn’t be worth it to implement that feature in Lemmy.

    • Blaze@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      22
      arrow-down
      4
      ·
      11 months ago

      Java, Go, TypeScript, and HTML

      Different technologies. Rust is a more niche language, which is sometimes used to explain why there aren’t that many contributors to Lemmy

        • Blaze@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          25
          ·
          11 months ago

          There is probably no reason now, but hopefully in the near future Sublinks will reach feature parity with Lemmy, and could even surpass it. Technological stack can have a huge impact on the development speed of a project.

          In other words, let’s wait and see

      • merc@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        12
        ·
        11 months ago

        That’s like saying “Watch my new TV show, it’s better than the other shows because our scripts are printed on an Epson printer!”

        • replicat@lemmy.world
          link
          fedilink
          English
          arrow-up
          17
          arrow-down
          1
          ·
          edit-2
          11 months ago

          Not really because these are open source projects. The one that is easier to develop for will likely get more features which leads to more users.

          That being said, Java was a questionable choice IMO.

          • merc@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 months ago

            The one that is easier to develop for will likely get more features which leads to more users.

            Not necessarily. It might get more developers at first when people think it’s going to be the Next Big Thing ™, but if nobody uses it, the devs might not feel their effort is worth it and might move on.

            Why wouldn’t people use it, despite it having “more features”? Because social media is mostly driven by network effects. People go where other people go. All the people there create content which gives people a reason to go there. In the distant past, Facebook only grew because it was so easy to move from MySpace. And, it was easy to move from Friendster to MySpace, and so-on back to the origins of social media. Since then, the walls of the walled gardens have become much higher. Every social media company actively makes it difficult to move to other platforms because they want to keep any users they have. You might hate Facebook, but you like Aunt Jane, and she’s only on Facebook, so you stay on Facebook.

    • db0@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      1
      ·
      11 months ago

      Sometimes improving an existing software is not always possible. One example is when the lead devs do not accept the proposed features. Another scenario is when a dev team is too onerous to work with. I am not involved in this project so I do not know the background here myself so I can only make a few educated guesses.

      • Aquila@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        9
        ·
        11 months ago

        That’d be great to add to the about. As it is right now it’s just fluff. Had no idea what this project is because the demo is just a lemmy instance. How would a user know anything is different?

        • jgrim of Sublinks@discuss.online
          link
          fedilink
          English
          arrow-up
          8
          ·
          11 months ago

          I’ll get it on there on the sidebar. Thanks a lot for the feedback. The demo site has been up for so long that I didn’t think of it when I announced it.

        • spaduf@slrpnk.net
          link
          fedilink
          English
          arrow-up
          7
          ·
          11 months ago

          Honestly this doesn’t really seem like a project targeting users (at least not at this stage). This seems like something an admin would be more interested in

  • Dandroid@dandroid.app
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    11 months ago

    So if I’m understanding correctly, if I created a Sublinks account, theoretically I would see all the same content, and I could use the same app, but it would be more optimized and have some additional features (on the web UI or if the app implemented those features)?

        • jgrim of Sublinks@discuss.online
          link
          fedilink
          English
          arrow-up
          17
          ·
          11 months ago

          We are creating a Sublinks specific API that is much more optimized than the Lemmy one. Our front-end will be using that. Also, we’ll have tons more features that the Lemmy core doesn’t support.

          • gullible@kbin.social
            link
            fedilink
            arrow-up
            14
            ·
            11 months ago

            Not sure if you’re aware of what happened to .world for a few months. If you decide to ascribe any political philosophy or moderation ethics to sublinks, it may be worth checking out the attack vectors used over there. Optimizing sql lookups extendedly occupied the .world admins so you’re already a bit ahead of the curve there.

            • jgrim of Sublinks@discuss.online
              link
              fedilink
              English
              arrow-up
              17
              ·
              11 months ago

              The LW admins have helped contribute to Sublinks. They’ve given me full support and access to all resources to help grow it. They’ve been extremely helpful.

    • mozz@mbin.grits.dev
      link
      fedilink
      arrow-up
      12
      ·
      edit-2
      11 months ago

      Going so far as to invite you to join-lemmy.org and linking to Lemmy’s github.

      On the other hand, they’ve got their back end up to version 0.19.0 already; it took Lemmy years and years to get to that point.

      Edit: I’m just messing with you guys; I wish you well. 🙂

  • simple@lemm.ee
    link
    fedilink
    English
    arrow-up
    26
    ·
    edit-2
    11 months ago

    The more the merrier. Thanks for making this, and having compatibility with Lemmy’s API sounds great!

  • rglullis@communick.news
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    edit-2
    11 months ago

    Ooh, just this week I started toying with a fork of takahe to see if it could be extended beyond microblogging. Some questions:

    1. Where have you found a proper documentation of Lemmy’s API? All I found on their website was the documentation of the Javascript SDK. If you have something like a Swagger/OpenAPI description of the API, it would help immensely.
    2. Why the mix of Java and Go?
    3. You mention a new API. Is there any chance that Sublinks could be developed as a more “strict” ActivityPub-compliance system? For example: would it be possible to architect the new features in a way that it only relies on the actor outbox/inbox?

    A bit more difficult question: the reason that I was looking at Takahe is because it’s the only AP server (that I know of) which supports multiple domains being served from the same instance. For someone providing “managed hosting” like me, it would save me a lot on resources to have one single server for multiple customers instead of having to spawn a new Mastodon server for every one that wants to have their own domain. Is there any “killer feature” on Sublinks planned that you’d say could warrant yet-another tool? Why not contribute to Lemmy instead? Or, if the devs are more experienced with Go, why extend/contribute to GoToSocial?

    • jgrim of Sublinks@discuss.online
      link
      fedilink
      English
      arrow-up
      13
      ·
      11 months ago
      1. I referenced the Rust code to determine what was sent and received. We’re implementing better code logic; we’re not just copying their API. We want to be compatible to attract users and support all the hard work used to create Lemmy phone apps.
      2. Java is for the core Sublinks API/core. Golang is being used for the federation service that operates independently. Once it’s done, it will be platform agnostic if someone else wants to use the federation service for their fediverse project. They communicate through a message bus.
      3. Yes, we plan to do the new API correctly. We will support Lemmy’s API for as long as it is relevant, primarily for mobile apps.

      Multiple domains aren’t possible yet, but that doesn’t mean we cannot add it later.

      I’m unhappy with the Lemmy roadmap, development speed, and quality. I wanted to contribute but found it difficult to. I did the next best thing and created a somewhat drop-in replacement with a much larger community of developers who are willing to support it.

      You can see the complete Sublinks roadmap here: https://github.com/orgs/sublinks/projects/1. The first release of parity (v0.10) will use the existing Lemmy front-end. All releases after that will no longer support the Lemmy UI because that’s when the enhanced features start to roll in. We don’t want to support or fork the current Lemmy UI.

  • nickwitha_k (he/him)@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    3
    ·
    11 months ago

    Not a fan of Java but the way that I see it is that other people coding in Java means less demand for me to. The more compatible open-source implementations, the merrier. Great work so far and I look forward to seeing where your project goes.

  • gabe [he/him]@literature.cafe
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    11 months ago

    Will there eventually be a means of converting lemmy instances over to sublinks? I know that inter instance software migration is a nightmare though.

    • jgrim of Sublinks@discuss.online
      link
      fedilink
      English
      arrow-up
      16
      ·
      11 months ago

      Yes, there is going to be a tool that exports from Lemmy via a direct database connection and adds to Sublinks via the API. Sublinks is heavily event driven by design. We’ll want some events to trigger during import.

  • Rentlar@lemmy.ca
    link
    fedilink
    English
    arrow-up
    11
    ·
    11 months ago

    Java! Yes please, a language I know sorta how to use so I will at least make sense of the code even if I might not be good enough to contribute to it yet.

    Will it be any easier or harder to host/compile yourself than Lemmy or will the recommended way be some Docker image installation?

  • spiderman@ani.social
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    11 months ago

    I am excited to see how this grows since the backend is using java and finally I think I can contribute something.

  • bitwolf@lemmy.one
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    I got excited but it looks like the demo instance is down.

    Will it be up soon? Eager to play around with it