this post was submitted on 21 Jan 2024
242 points (96.5% liked)

Fediverse

28396 readers
742 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 65 points 10 months ago (1 children)

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.

[–] [email protected] 27 points 10 months ago (1 children)

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!

[–] [email protected] 5 points 10 months ago

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

[–] [email protected] 39 points 10 months ago (1 children)

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

[–] [email protected] 53 points 10 months ago (2 children)

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

[–] [email protected] 10 points 10 months ago (2 children)

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?

[–] [email protected] 9 points 10 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.

[–] [email protected] 8 points 10 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

[–] [email protected] 6 points 10 months ago

That's a nice roadmap

[–] [email protected] 39 points 10 months ago (3 children)

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

[–] [email protected] 29 points 10 months ago (15 children)

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

load more comments (15 replies)
[–] [email protected] 18 points 10 months ago (6 children)

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

[–] [email protected] 16 points 10 months ago (1 children)

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

[–] [email protected] 26 points 10 months ago (1 children)

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

[–] [email protected] 13 points 10 months ago

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

[–] [email protected] 11 points 10 months ago

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

[–] [email protected] 1 points 9 months ago

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

load more comments (3 replies)
[–] [email protected] 14 points 10 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.

[–] [email protected] 29 points 10 months ago* (last edited 10 months ago) (1 children)

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

[–] [email protected] 21 points 10 months ago

That’s the goal, yes.

[–] [email protected] 27 points 10 months ago (3 children)

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/

[–] [email protected] 42 points 10 months ago (2 children)

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

[–] [email protected] 16 points 10 months ago (1 children)

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

[–] [email protected] 16 points 10 months ago

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

[–] [email protected] 9 points 10 months ago (1 children)

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

[–] [email protected] 18 points 10 months ago (1 children)

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.

[–] [email protected] 15 points 10 months ago (1 children)

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.

[–] [email protected] 18 points 10 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.

[–] [email protected] 13 points 10 months ago* (last edited 10 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. 🙂

[–] [email protected] 13 points 10 months ago (1 children)

as far as I can tell the demo is Lemmy 😅

[–] [email protected] 22 points 10 months ago (1 children)

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

[–] [email protected] 9 points 10 months ago

That explains it. Thanks for the clarification

[–] [email protected] 26 points 10 months ago* (last edited 10 months ago)

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

[–] [email protected] 18 points 10 months ago* (last edited 10 months ago) (1 children)

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?

[–] [email protected] 13 points 10 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.

[–] [email protected] 16 points 10 months ago* (last edited 10 months ago) (1 children)

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

[–] [email protected] 16 points 10 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.

[–] [email protected] 14 points 10 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.

[–] [email protected] 11 points 10 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?

[–] [email protected] 10 points 10 months ago

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

[–] [email protected] 9 points 10 months ago

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

[–] [email protected] 6 points 10 months ago

Sounds awesome.

[–] [email protected] 2 points 9 months ago (1 children)

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

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

[–] [email protected] 2 points 9 months ago

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

load more comments
view more: next ›