https://news.ycombinator.com/item?id=29749061 (11 months ago)
https://news.ycombinator.com/item?id=33746360 (22 days ago)
> How do I find people to follow?
>
> First, you must know them and get their public key somehow
And here lies the main problem of most of these decentralized alternatives: how do you discover new content? One of the biggest innovation of Twitter was to be able to follow a hashtag-- say #SomeEvent2022 and you see all tweets using that hashtag, not only those of people you follow. This tends to be abused by spamers, but it’s a great way to follow what’s going on at large events or find stuff related to some topic.
The discovery doesn't need to be at protocol level. You can have some servers following large number of accounts, analyze the feed, create a "trending" list and publish that under their own account that you follow. Then you can have second level "trending" servers which aggregate over first level ones if you want even more "trendiness"
Some may want a pure chronological view of posts from people the follow with no algorithm, some may want pure algos a la TikTok.
It seems like the nostr protocol allows for all of this. Users can decide their experience by downloading different client apps.
There's a big difference between creating a protocol that's intended for fully-content-agnostic communication over the Internet (eg, HTTP) and creating a protocol that's specifically intended to be used to build a social network. The latter type needs various features that enable the type of behavior we know people on social networks desire from them. It does not, as you say, necessarily need to encode strong opinions about how content discovery should be done into the protocol at a fundamental level, but it at least needs to acknowledge that that is a thing that will be necessary for any social network to succeed.
Jack linked to nostr which tries to solve some of these problems: https://nitter.it/jack/status/1603945963944480768
> The problem with Mastodon and similar programs:
- User identities are attached to domain names controlled by third-parties;
- Server owners can ban you, just like Twitter; Server owners can also block other servers;
- Migration between servers is an afterthought and can only be accomplished if servers cooperate. It doesn't work in an adversarial environment (all followers are lost);
- There are no clear incentives to run servers, therefore they tend to be run by enthusiasts and people who want to have their name attached to a cool domain. Then, users are subject to the despotism of a single person, which is often worse than that of a big company like Twitter, and they can't migrate out;
- Since servers tend to be run amateurishly, they are often abandoned after a while — which is effectively the same as banning everybody;
- It doesn't make sense to have a ton of servers if updates from every server will have to be painfully pushed (and saved!) to a ton of other servers. This point is exacerbated by the fact that servers tend to exist in huge numbers, therefore more data has to be passed to more places more often;
- For the specific example of video sharing, ActivityPub enthusiasts realized it would be completely impossible to transmit video from server to server the way text notes are, so they decided to keep the video hosted only from the single instance where it was posted to, which is similar to the Nostr approach.
https://github.com/nostr-protocol/nostr#very-short-summary-o...