Kbin Roadmap 2023

ernest@kbin.social to Fediverse@kbin.social – 197 points –

A certain stage of development has ended - a prototype was created that allowed me to verify whether such a form makes sense in the #fediverse. Until now, it was a project that I developed in my free time. Now, thanks to the great people from Nlnet, I will be able to devote much more time to it. This time, we have already outlined a plan for the next few months officially: https://nlnet.nl/project/Kbin/

The progress of the work can be followed here: https://dev.karab.in - this is the version set up on the cheapest server, and it will remain so until all stages are completed, because one of the goals is to create a lightweight platform that will have very low requirements in its basic version, and therefore low maintenance costs for instances. With each passing day, more subpages and features will work.

Many of you are working on cool projects, it's worth calling on the Open call for funding ;-) https://nlnet.nl/news/2023/20230201-call.html

Soon, the kbin.social instance will also officially launch, now work on the server is still underway.


Stage 1 Frontend - refreshed, modern and accessible layout
To save time, the /kbin prototype was created using tools such as Bootstrap. Due to frequent iterations, good interface development practices were often overlooked. The goal is to create a clean, modern, responsive and accessible layout based on feedback from the community, which will work on any device, also without the need to use JS.

Stage 2 Backend - upgrade
Updating the environment, PHP, Symfony, API-Platform, etc.

Stage 3 Search module and alpha release
Currently, the search engine is based on Elasticsearch, which significantly increases the minimum server requirements. The goal is to eliminate Elasticsearch and create a search module with the ability of contextual filters and prepare the first alpha release.

Stage 4 Backend - refactor existing services.
Update of frameworks and tools used in the project. Refactor existing services. Refinement of existing services in order to achieve efficiency. Writing documentation for other developers, admins and visitors. Preparing a repository for contributors.

Stage 5 Federation improvements
Optimization of communication using ActivityPub. Completion of integration, creation of documentation for fediverse developers.

Stage 6 Admin section and user UX improvements
The goal is to provide tools for Kbin instance admins and to improve instance community sections.

Stage 7 Prepare for stable release
The goal is to release a stable version of the platform, solve problems reported by users and, using appropriate tools, develop the highest scalability and efficiency.

Stage 8 Implementing Events (incl. ‘stretch goals’)
At this stage, kbin will also become an events aggregator.

Stage 9 ActivityPub federation of Events (incl. ‘stretch goals’)
The events module will communicate with other platforms via ActivityPub (e.g. Mobilizon)


Currently, I am at stage 1/2/3.

Other instances:

@fediversenews

43

I wonder if it's not a good thing that you've had to jump from phase 1/2/3 all the way to phase 7 thanks to the Reddit departure. The fact that the site is as strong as it is, and is starting to develop communities, shows that you've done a great job.

Two questions: Is there any plan to add the ability to collapse comment chains? That's, like, the one big UI thing from Reddit that I'm missing. The other question is, is having the comment box for adding a top level comment at the bottom an intentional design choice, to encourage people to read the threads before commenting? I think at the very least adding a shortcut to take users to the comment box near the top would go a long way to improving usability.

Other than that, if the goal is to be a replacement for Reddit refugees, my first impressions are that this has the right recipe. Very impressive work so far.

How do favourites and up/down votes work? What are the different purposes of each?

I see this post is current at +24 and has 12 favourites. If I click on favourites (or boosts) at the bottom then I get a list of who favorited it.
But if I click on favourite in a comment, it just adds 1 to the favourite count.

The up arrow is the equivalent of a boost on Mastodon, adding to favorites is represented by a star. The down arrow is equivalent to the Dislike button on Lemmy and Friendica, Mastodon probably doesn't have an equivalent (Dislike will be federated this week). Compared to Lemmy, it works a little differently, as the up arrow there is the equivalent of a favorite.

The comment activity can be checked by expanding the "more" menu and selecting "activity"

Is there any way to make "votes" (equivalent thereof) private? I don't want to have to think "do I want other people to know that I've liked this" every time I vote on something and that was a big draw to reddit for me compared to something like twitter.

They aren't visible from your profile. Only under the activity details of each comment. Someone would have to be really stalking you to keep track of all your upvotes.

Or someone checks through the activity of obscure posts and happens to find someone they know liking something they dislike or disagree with. It's not me, but my suggestion stands!

I think this is a sensible suggestion. Maybe it could be implemented through privacy settings. Right now, you can hide your subscriptions (they are public by default btw, fyi). Maybe it's possible to make it so you only upvote anonymously.

Pardon my ignorance, I checked faqs at the repo, and I’ve searched a bit here, and can not find privacy settings (fwiw I’m on mobile); how do I find it?

Thank you.

Tap on your username at the top, select Settings, and you should find a privacy section. Right now you can only toggle showing magazines or users you follow.

Thank you. Nice sn btw. Brings back memories.

Is there any chance that a certain threshold of down arrows can auto-hide or auto-prune entries as the platform becomes more user heavy?

I do wish that the up arrow and boost functionality would be reworked. Have up arrow actually be an upvote (the same as boost is now) and replace boost with a favorite function that would store the thread/comment in your profile so you can easily find it again

One more reddit refugee here. Thanks for all your work so far and your devotion to the project. Growing pains are normal, especially when you're asked to ramp up this fast. Keep up the good work. We'll be patient!

Another suggestion might be to move the comment box up to the top section of comments since its pain to scroll to the bottom to comment

It's absolutely WILD that this is a prototype. It's always a treat to be on the ground floor of something new, so I'm excited to participate and add value to kbin's growth.

Can we add a Stage 10 Branding?

The foundation of the Fediverse lies in it's values, ActivityPub, and communities, but that doesn't mean we can't match the aesthetic values that exist outside of our rich inner world. Personally, would love to see a name change and clean colour palette. Kbin is a fairly UNIX-esque name and we do want people with less affinity for tech to enjoy kbin with as little barriers as possible.

Just my $0.02 on the subject. I'm here to be a cheerleader and support what's being build :)

users should be able to copy external links without having to enter the thread,

Is there any plans to expand the OAuth support outside of the 3 providers that are currently set up? Looking at the source, it seems like each has it's own configuration which pulls in things like the user's avatar and whatnot. It would be nice if generic OAuth was supported.

I definitely prefer this over Lemmy. Clean and easy to figure out without the shady development decisions.

I just wanna say thanks for letting me in and good luck with the project !

I would love an official old.reddit.com clone interface combined with reddit enhancement suite functionality.

It looks good and provides a much-needed service.
Thanks for the effort

Very nice to see that the project is taking off. I’m hoping for this to be my Reddit replacement. However it seems that comments to posts by myself on other federated platforms don’t show up on kbin.social. Is that a known bug?

Ernest, looking at all the previous comments, you must feel like you've been connected to 'The Borg Collective', with it's 'thousands' of voices!

As a new comer, seeing shit like this is refreshing and may be wildly addictive. Road maps, open communication, user base oriented initiatives. This is like heroin when the only update you got from reddit usually was the last one you can't remember them sending.

I for one am excited to see this, and look forward to being along for the ride.

Saw an interesting random post about kbin written in Italian. The guy liked the idea, but said he doesn't like PHP.

Strangely enough, in this particular context, I'd say PHP is better than Rust, cause at least you get a garbage collector.
Solid logic with sticking with what you can prototype in quickly. That's a lot more important than performance. However, people hate PHP, so it's gonna be hard to find help (I assume it doesn't matter, it seems like a solo mission :)

Perhaps, this type of discussion should be avoided. Maybe some kinda FAQ section where you explain why Lemmy isn't satisfactory for you.

I totally agree, I want to have an FAQ where I explain various aspects of the project. I just started writing it down on the #codeberg wiki.

https://codeberg.org/Kbin/kbin-core/wiki

Hmm, this sounds like Pidgin (or any other universal messenger) for ActivityPub.

The first paragraph is quite confusing. Could you explain why a content aggregator should be combined with microblogging?

This is difficult to describe in a few sentences, it's just a preliminary sketch of one of the sections. I need to gather my thoughts and I think once I finish it, everything will be much clearer.

ernest, I like this project cause you've been so responsive and enthusiastic.

I don't like microblogging. The only good application for it is for discovery without advanced search. I'd prefer the focus to be on well written articles, engaging podcasts, and video documentaries. What's that called macroblogging? Monetization, haha? We gotta give people an incentive to produce thoughtful content. I'd recommend integrating with LBRY. That could be another NLnet project: ActivityPub to LBRY bridge.

The microblogging aspect could be automated with a summarizer, and autoposted.

This would be an awesome service for me, I'd pay $5/mo to have it.

Hi @ned,

I don't like microblogging. The only good application for it is for discovery without advanced search

I am currently working on a search engine. It will be more contextual, with the ability to choose the search area and filter search results. But I understand what you mean and I also understand why Lemmy maintainers made that design decision. However, I believe that cutting off such a large part of the fediverse is not the best.

I want /kbin to be simple and modular because I want to give people a choice in how it looks. Ultimately, it can be a page like it is now, or just a link/article aggregator, or bloggin platform, or an events browser, or streams browser. I want /kbin to be a window into the fediverse. The person who encounters the fediverse for the first time on /kbin will have the opportunity to explore the entire rich ecosystem, and over time may want to move on to more dedicated solutions, which is cool.

Combining a link aggregator and microblog is not my original idea. In addition to Reddit, I drew inspiration from two Polish social portals:

  • Strims - probably the closest to /kbin - collapsed several years ago due to the owner's misguided decisions. One of them was to delete the microblog section against the will of the community. Decentralization is supposed to solve this problem.

  • Wykop - one of the most popular social portals in Poland with a huge user base. Unfortunately, this year a new version was released that is slowly killing the service. In addition, it is sponsored by political parties, which especially now, just before the elections, makes it unusable for me. Despite having an account there for 15 years and a lot of sentiment, I have recently almost stopped visiting it. Decentralization is supposed to solve this problem.

We gotta give people an incentive to produce thoughtful content. I'd recommend integrating with LBRY

I'll take a closer look at LBRY because I've only heard a little bit about it so far. Personally, I'm a supporter of free and open knowledge on the internet for everyone. I'm also very cautious when it comes to cryptocurrencies. But I also don't like to limit myself, I like to draw inspiration from everywhere :) However, I'm keeping an eye on various projects, and lately I'm interested in #Nostr, where there are some super interesting things going on. Previously, Kbin had the option to receive Cardano donations for content, without external intermediaries, but it turned out to be too complicated and confusing for people at that time (https://streamable.com/hdr4f0).

Nevertheless, I know someone who understands this area much better than I do, and we've discussed it before @fervi.
Running a project alone isn't easy, and one of the things I would do differently is to send an email to Nlnet earlier. Maybe it's really worth presenting this vision now.

I want to focus on developing the core, as it will be the foundation for building other things, but I would be happy to help with integrations.

I assume it doesn't matter, it seems like a solo mission

I hope that I\ll only be alone for a while :) A large and important part of the Fediverse is based on PHP (Pixelfed, Friendica, WriteFreely, etc.). But you're right, it doesn't matter. If /kbin can help in any way or at least brighten the day of one person, I'm all in for it :) Currently, I want to keep an eye on the bigger picture and not get distracted from the main goal. This is additionally difficult for me because I'm not even a native speaker and I have to be very careful not to be misunderstood or inadvertently offend anyone in any way.

To be honest, it's my little obsession hahah. It started back then (http://web.archive.org/web/20180203151128/https://makigi.pl/), but I didn't have enough skills to develop such a big project. So I decided to quit my job and knock on the door of the first professional-looking IT company in the area. I asked for a free internship, I wanted to see how certain things are done and get answers to some of my questions. I met such cool people there that I stayed for a few years more than I planned ;p That led me here.

I'm an average developer, but believe me, I'm fricking stubborn.

Thank you for explaining a bit about Strims and Wykop! It is interesting background information. It feels like Digg's technological descendants are merging back together, even as the platforms change over time!

I want /kbin to be simple and modular because I want to give people a choice in how it looks. ... I want /kbin to be a window into the fediverse. The person who encounters the fediverse for the first time on /kbin will have the opportunity to explore the entire rich ecosystem, and over time may want to move on to more dedicated solutions, which is cool.

I am glad I signed up for kbin! It's my first entry into the Fediverse and I thank you for setting up a really nice way to explore the concept. I think your decisions to keep kbin light and easy to maintain has helped keep the website open and running, helping many other people as they take their first steps into the Fediverse too. Joining the Fediverse is a very exciting time!

Looks really interesting! Is there a way to create magazines on kbin.social yet? Looks like most of the existing ones are moderated by ernest which I'm assuming is by design :)

Yes, you can create a new magazine here: https://kbin.social/newMagazine - there are some time limitations. Don't worry, all the magazines will be handed over to the community. I have a lot of work to do with the code, so I will definitely need help here ;)