Replies (93)
There is a constant misunderstanding between open communities where the topic is not defined, like a "Reddit community" or a "BlueSky community", or a "Nostr community" and communities where the topic is defined.
People join open communities to discuss whatever comes and join topic communities to stay on the topic and focus. Those are two different things.
I don't see how topic communities can sustain their scope of discussion without moderation. And sustaining the scope is the whole point of establishing a community so that you can gather like-minded people.
you can have moderated views of the community if you want, but that is up to the users choosing which moderated relays they want to use for that community.
historically, the cypherpunk mailing list was unmoderated and kept mostly on topic for more than a decade.
This effectively enables a *market* of moderation for any community.
Without losing the network effects of the community via forking. Forking naturally emerges as an evolving relay set for that community. The creator of the community can’t do much to change it.
But that is just NIP-29, then: relay-based communities.
We kinda had that for a while with NIP-28 public chats (we still have on Amethyst) where each relay has a different conversation going on while re-using the same community anchor id.
NIP-29 is tied to specific relays? This is not a public chat spec. Its still threads
NIP-29 has threads.
It also has tons of stuff like management, moderation, 7 moderation kinds! All of this is not necessary in my proposal
I agree that moderation should be a marketplace. It's kinda what relays try to do right now on all Nostr things. They just don't have the tools to actually run topic moderation effectively.
Most of that is just for moderating. And if relay operators need to moderate, you will need to design something like those actions soon or later. Either via Nostr or some other API. But if there is moderation, those methods will always be there in some form.
I'm just thinking relationship statuses for joining communities, nip-22 comments for threads, and a single note for the community anchor/id, name and description to start (addressable event for updating description can come later, its optional).
there's almost nothing to it!
Isn't that a NIP-22 with `I` tags on hashtags?
If there is no moderation, I don't think there is a need for picture and about me blurbs as they would just try to drive the conversation to one direction or another. With the hashtag, all the meaning must be extracted by the thing that cannot change: the hashtag name. Everything else is fluid. And it doesn't make sense to remove the fluidness without moderation to enforce a certain view.
Couldn't I just publish a note and then publicly pin it in some emphatic way and that'd be more or less the same thing?
While we're on the topic, when I go to the communities tab in Amethyst, there isn't an obvious way to search for communities. The search bar at the top does a global nostr search for names, posts, etc.
could definitely do it this way, but loses the charm of a reddit/twitter community with banner and sidebar.
This could be a feature of the spec, generic or hashtag communities. It's compatible because I'm using nip22
Who controls the banner and sidebars if not the moderator of the community?
Does that mean that we need relay-based hashtag pictures and "about me" pages? So that each relay can define their moderation policy on them?
I think calling them the moderator is a bit strong. its just the creator of the community who sets this. they can't really moderate anything except on their relays which host the community. but other relays can host the same community if they want. the banner and description can be overridden later by some future relay-based mechanism if needed ?
but maybe if these are relay based, hashtag communities would be enough. will ponder
There's another variation of this.
Maybe we can take inspiration from usenet here:
sci.physics
sci.physics.quantum
sci.math
then you could break down communities heirarchically
tags for posting in sci.physics.quantum would be:
[sci, sci.physics, sci.physics.quantum]
so you could narrow down into niche areas if needed
If they can't moderate, anyone could use #Amethyst to overpower "my" hashtag into one for porn with crystals.
i feel like anything with multiple tags gets spammy though... hmm
Hararil's "Sapiens" great book btw on how communities have formed since the start of humanity and how it separates us from the animals. Maybe learn from the past. The part about "myth building" is important.
@cloud fodder it’s happening TREX 🦖
this is why I sugegsted more explicit community ids vs hashtags. you can of course spam anything on nostr (threads, users, dms). hashtags are an easy target. your niche community? I guess, but these are the same problems we've always had and have methods to deal with (WoT, ranking community notes based on number of friends zaps and reactions, etc).
this is not a replacement for relay group chats, those are still useful for smaller closed communities with low network effects. I'm more interested in a design for open, twitter-style communities.
Why can't we extrapolate the relay group model? chachi.chat is great for communities They have all the features necessary for a reddit style community except threads like posts. Which we can already do on nostr. I really don't see the holdup.
they are closed an invite based... I am trying to build a community approach that would fit into a microblogging app like damus. similar to twitter communities. relay chat doesn't really make sense there
I shipped threads yesterday. I would be glad to support this kind of community by just focusing on feeds other than chat.
That's really for each individual community to decide right? There can be groups that allow all to join, and I believe such groups already exist in the current implementation
But it’s still relay based no?
A group can exist on multiple relays as well and they can just chose to shift on another one in nip 29 IIUC and there can obviously be multiple groups in a relay
But theres so much crap in that spec when it could have just been nip22. I don’t need 99% of it
I don't see any difference between hashtags and community IDs. Their meaning is fluid and can be taken over by the crowd at any point. Unless you filter by a moderating relay, which then both IDs and hashtags also apply and the definition is whatever the relay, not the users, want.
They can all be spammed in the same way. The stronger they are, the more spam they are going to get.
there's no difference in terms of spam prevention, its really just to have an anchor for the creator to define the name, banner, and description. if you don't care about those things you can just use a hashtag (#physics) or namespace (!sci.physics.quantum) anchor.
I've always wanted explicit to/cc on notes, so I would throw that in there as well for relay filtering and better hinting:

GitHub
Distributed namespaced discussions · Issue #788 · damus-io/notedeck
We can create non-moderated twitter/reddit-style communities like so: Basic ingredients NIP22 Comments for threads. Simple immutable, non-addressab...
this is a combining my original mailing list idea with communities i guess
also with a user anchor they can also update the description with addressable events, as well as create relay lists for finding the canonical location, etc.
the forking and moderation slicing is undefined and can be grown onto the spec later ?
I don't understand. If the community has no moderation and no theme, what's the difference between it and the global feed?
I only see people coming together in a community for some common theme. If the community isn't fixed on the theme via moderation, it will quickly wither away because it won't maintain the theme that justifies the union.
How will clients know where to get the notes made for the community if there won't be one or more relays defined for it? Searching for all community members to go get the notes from their relays seems a bit unfeasible.
clearly i'm bad at explaining my ideas so I'll just build it instead
is this 7D?
Competition and crowdsourced design of the landscape of options available. And miniature community revolutions continually redefining Nostr societies, which soon enough will in some cases live transparently above Nostr. Communities will be referred to by users in terms of whether the community is top spot or not. 'Which Bitcoin community are you on?' 'Top Bitcoin' 'Main' 'Runnerup' 'Underdog' etc Will create the actual Dark Nostr.
Yep.
I think :thread: Threads might be a great way out of the Kind 1 problems.
But why don't we make it solve all problems with Kind 1s then?
As in: why doesn't it solve the actual "Thread" part? Where the publisher gets to publish a sequence of posts in a way that it's clear for everyone where the Thread starts and ends.
You could do this with a kind 30040 index of posts (type: thread)
@Laeserin
But I'm fine with solving this with an adjusted NIP-7D too
@hodlbod
I do like that NIP-7D has a subject.
That might actually be good fit too for the Forum solution you were looking for
@franzap
It wouldn't have MarkDown / AcsiiDoc styling tho.
Different definitions of "thread" I think
I need a clear Twitter Thread solution.
One that doesn't leave it to the apps to magically know which reply to the OP does or does not belong to the Thread.
That's why I see this opportunity.
Pretty easy to add to NIP-7D tbh, without bothering anyone with a different defintion (i.e. Post/Note).
How do you prevent spam? Not only obvious spam but also off-topic comments and annoying people that ruin the community because there are no barriers to entry?
It seems like these communities will have to naturally flock into relays that do the filtering on their behalf necessarily, and at point you're dangerously close to either NIP-29 or just kind:1 relay feeds. Both are good outcomes in my opinion.
The same NIP-29 group can be forked into multiple relays and each go through a completely different direction.
standard spam filtering approaches, with heavier emphasis on relay based filtering. We do this on the damus universe feed, only show notes from paid relays.
This design of this is inspired by twitter communities, which would fit nicely into a microblogging client.
I could use kind 1 but wanted to support reddit-like UIs via 7d+subject. Its meant for large communities (100k+)
Since the “community” would get fragmented depending on which lens you’re viewing it from,
@Vitor Pamplona suggested this shouldn’t be called communities.
So i’ve been thinking of a different design where you explicitly tag which relays you are sending to (#bitcoin, #bitcoin@delvingbitcoin.org) so that relays can filter notes not sent to them. Maybe this would be 7D with an I hashtag scope. This is tentatively called distributed namespaced discussions. This would allow me to have my mailing list idea with a distributed form of “communities”… still working through that though, not sure if it makes sense yet.
A thread is a linked list. An index is an ordered list.
Twitter Thread = :110percent: Ordered List
(not talking reply section threads here)
Oh, right. They don't link them.
If everyone build their own relay then we don’t need developer to build us community . Which run on GitHub which funded by the big tech .
I think it's mostly a UX problem. On the write side, allow a chain of self-replies. On the read side, identify self replies that happen at the same time as the parent and show those as a thread. 7D isn't the right solution, and requires completely different UI, since it doesn't allow for replies to replies.
I want to avoid having all these as different things to render:
- Kind 1 Note
- Kind 11 Post without subject
- Kind 11 Post with subject
- Kind 30040 type: thread (since that would be the only clear Thread spec then)
I don't see the need to reinvent Kind 1 with NIP-7D.
We can just start replying with Kind 1111s on Kind 1 and have the same thing. Especially if no one is using the subject anyway.
If you solve for Threads client-side, than the current Kind 1 is already good enough.
> I don't see the need to reinvent Kind 1 with NIP-7D.
We're not, it's a completely different concept. It's intended for use in old-school forum-like apps, not in kind 1 apps.
That's what I'm saying
Within the same community, it's almost the exact same concept.
No, it absolutely isn't. Kind 1 allows for deeply nested reply hierarchies, 7D does not (for example). Clients should encourage longer, more complete thoughts in 7D vs kind 1s, which are context-independent and probably more memetic. It's a different medium entirely.
how does 7D not enable deeply nested reply hierarchies?
+1
(i have not looked deeply at the spec) if you can't have nested replies I don't know if I would use that..
So if they're short articles, then why aren't they kind 30023 short articles?
With the markdown etc... built in.
I don't see how to explain this in-between thing to people.
From the spec:
> Replies should always be to the root `kind 11` to avoid arbitrarily nested reply hierarchies.
> should
gottem
SHOULD is being awfully perscriptive here, I don't see why a thread spec would be so opinionated about this?
it immediately prevents it from being used as something like a reddit thread ?
30023s also allow nested replies, which kind 11 doesn't. In terms of semantics, how is a blog post distinct from a post on a forum? A lot of ways! A blog post is published within the context of an author (or publication), a forum thread is posted within the context of a topic or board. Blog posts are the focal point of the comments, a forum topic is a starting point for a longer discussion. Blog post comments may diverge into different sub-topics of the blog post, forum threads are "on topic" (or, "off-topic" as the case may be). They are entirely different media, and don't need to be squashed together.
Yes, that's crucial to the definition. I made this because I want a medium that doesn't have deeply nested conversations to enforce participants to stay on topic and contribute to a single "discussion". This has implications for the user interfaces that can be built, and for how people interact on a given topic. This is really the only differentiating factor from kind 1. See flotilla's threads feature for how this looks in practice.
1) 30032 should have Kind 11 replies.
2) The only is difference is the target + the limits to who can post the articles there
In the personal blog case the target is the publishers own community, where only he can publish articles.
In the Ray Peat Forum case the target is the Ray Peat Community, where anyone can publish articles.
Same content type in both cases.
> The only is difference is the target + the limits to who can post the articles there
Why are you ignoring me when I say that nested replies is the key difference? This is a key part of the medium.
Because I don't get that part. In the NIP it says you can reference parents.
I think we'll just build:
:article: Forums on Kind 30032 and Kind 30040 (type: article) in one feed
:thread: Threads with Kind 1
So far I don't see reasons to have any other content type
Ow, that's in NIP-7D.
Gotcha.
I think you should do that. It's ok if you don't understand why 7D exists, you don't have to use it.
Can you prove anyone understands why it exists?
In NIP 22? Sure, but NIP 7D specifies not to do that:
> Replies should always be to the root `kind 11` to avoid arbitrarily nested reply hierarchies.
Maybe I should have used a different reply kind, but I don't really see why this is ambiguous.
There's the source of confusion
Scuzi!
Yep. Great!
Will not use 7D then. That's clearly not my thing.
Totally a deeply nested convo lover, on any content type.
yeah same... I think nip22 supports nested replies just fine from what I understand. just need to pick a root scope/kind
Yup!
@verbiricha what would you think abput using a different kind for 7D replies? Kind 1111 is sort of over-engineered for something so simple
🫂
Yeah, NIP-7D is for Flotilla, not for everyone.
It just kills the feature of NIP-22.
@CitizenPedro this thread may interest you
We've been mulling over whether to allow more than one NIP-05 per npub.
What's the "can only post in one community at a time" mean? As in you can only join one at a time and cannot be in 2 different ones? Not quite getting that one.
issue with hashtags is that you can send to many at once. That’s all i was saying
Doesn't seem like an issue to me. Plus how do you stop this from just fragmenting discussions with duplicate posts?
Ooohh got it