Announcement of Sublinks ( discuss.online )

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.

bitwolf ,

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

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

jgrim ,
@jgrim@discuss.online avatar

Sorry, broke the build with a recent merge. It's back up now!

asimpleman ,

Sounds awesome.

shotgun_crab ,

Java is an interesting choice, this could be pretty good!

Rentlar ,

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?

nickwitha_k ,

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.

spiderman ,
@spiderman@ani.social avatar

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

brbposting ,

Hard to get an idea of the project from the intro, IMO!

jgrim ,
@jgrim@discuss.online avatar

It's basically a fork of Lemmy. But rather than forking, we're rewriting the entire tech stack to something easier to support and enhance. You can see the full roadmap here: https://github.com/orgs/sublinks/projects/1

Aquila ,

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 ,
@jgrim@discuss.online avatar

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 ,
@spaduf@slrpnk.net avatar

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

Blaze ,
@Blaze@discuss.tchncs.de avatar

That's a nice roadmap

gabe ,
@gabe@literature.cafe avatar

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 ,
@jgrim@discuss.online avatar

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.

MNByChoice ,

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.)

Blaze ,
@Blaze@discuss.tchncs.de avatar

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

jgrim ,
@jgrim@discuss.online avatar

Exactly, we already had 13 contributors working on it before it was announced.

MNByChoice ,

Sure, but not one of those is a reason to use it.

Blaze ,
@Blaze@discuss.tchncs.de avatar

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

MNByChoice ,

Thank you. That was very clear. I look forward to seeing the results of the developments.

merc ,

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 ,

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 ,

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 (TM), 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.

Molecular0079 ,

Rust may be niche now, although it's current momentum is huge, especially in the FOSS space.

spiderman ,
@spiderman@ani.social avatar

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

doidera ,
@doidera@lemmy.eco.br avatar

Healthy competition can make them grow better too.

how?

Arcka ,

One way would be by implementing features the Lemmy devs have no interest in such as better interoperability with other fediverse platforms. If any added feature turns out to be well received and in demand, it would pressure the others to implement similar.

doidera ,
@doidera@lemmy.eco.br avatar

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

nasi_goreng ,
@nasi_goreng@lemmy.zip avatar

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 ,
@doidera@lemmy.eco.br avatar

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

bigMouthCommie ,
@bigMouthCommie@kolektiva.social avatar

i've never looked into using my akkoma to interact with lemmy, but i quite like using mastodon.

doidera ,
@doidera@lemmy.eco.br avatar

Akkoma support activitypub groups. Properly.

bigMouthCommie ,
@bigMouthCommie@kolektiva.social avatar

i don't get what you mean: i quite like having every comment robbed of context and fed to me reverse-chronologically, only to reveal context and display chronologically when clicked

i understand some people might find it jarring, but what do you mean by "properly"?

doidera ,
@doidera@lemmy.eco.br avatar

Akkoma only shows the topic OP in your timeline, when you click you can see all comments. While mastodon boosts every reply flooding your timeline.

Akkoma suports activitypub articles, So you can actually read lemmy posts without leaving akkoma. While Mastodon only shows the article title and link, you are obliged to leave mastodon to read it.

bigMouthCommie ,
@bigMouthCommie@kolektiva.social avatar

yea, i prefer the mastodon method.

doidera ,
@doidera@lemmy.eco.br avatar

seriously? do you follow any large group in mastodon? do you prefer your timeline flooded with a single group discussion?

bigMouthCommie ,
@bigMouthCommie@kolektiva.social avatar

seriously.

I am subscribed to the biggest communities on Lemmy.world. I keep Lemmy communities in a list, and hide them from my main timeline.

see attached pictures

image/jpeg
image/jpeg

doidera ,
@doidera@lemmy.eco.br avatar

Here on Lemmy you prefer the comments timeline?

https://lemmy.eco.br/pictrs/image/a7251628-5b3b-45a6-987a-453d7ea03191.webp

I mean, mastodon doesn't have a method for groups. It just happens to show federated ActivityPub note type

bigMouthCommie ,
@bigMouthCommie@kolektiva.social avatar

when i want to find interesting conversations, i interact through mastodon. when i want to space out and scroll memes i open jerboa.

i don't care much for any of the interfaces on lemmy except the search function, which, unlike mastodon, can search comment text without hashtags.

Arcka ,

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.

db0 ,
@db0@lemmy.dbzer0.com avatar

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.

Diabolo96 ,

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 ,

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!

Diabolo96 ,

Thanks for the info ! I geuss we'll just have to be patient .

rglullis , (edited )
@rglullis@communick.news avatar

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 ,
@jgrim@discuss.online avatar
  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.

simple ,
@simple@lemm.ee avatar

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

Blaze ,
@Blaze@discuss.tchncs.de avatar

That's interesting.

The demo indeed looks very much like Lemmy, I guess the changes are mostly in the back-end side: https://demo.sublinks.org/

jgrim ,
@jgrim@discuss.online avatar

The front-end is coming later. It's fully compatible with Lemmy's API so the demo site currently uses the Lemmy front-end.

Blaze ,
@Blaze@discuss.tchncs.de avatar

Makes sense, let us know about the progress on your project, seems promising!

jgrim ,
@jgrim@discuss.online avatar

Thanks a lot! There are currently 13 contributors; it's coming together very quickly. I'm super excited.

davidgro ,

Does that mean your frontend will also be compatible with a Lemmy backend?

jgrim ,
@jgrim@discuss.online avatar

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 ,

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 ,
@jgrim@discuss.online avatar

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 Admin ,
mozz avatar

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. 🙂

BentiGorlich ,
@BentiGorlich@gehirneimer.de avatar

as far as I can tell the demo is Lemmy 😅

jgrim ,
@jgrim@discuss.online avatar

The front-end is coming later. It’s fully compatible with Lemmy’s API so the demo site currently uses the Lemmy front-end.

BentiGorlich ,
@BentiGorlich@gehirneimer.de avatar

That explains it. Thanks for the clarification

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • fediverse@lemmy.world
  • test
  • worldmews
  • mews
  • All magazines