Comment on What do you want to have in a Lemmy instance?
PhilipTheBucket@ponder.cat 3 months agoThis 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 3 months ago
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 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, subeddits, 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.
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.cat 3 months ago
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.
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.
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 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 rglullis.com/u/rglullis or 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 3 months ago
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.
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”.