I don't understand why content labeling was never built into social clients, more particularly into ones that handle different kinds than 1. It's really inconvenient to do it in another app... neither of which (that I'm aware of) were functional the last time I tried. (As always, that could be a me problem) Some things stand alone really well but they need to provide the user some tangible benefit in order for people to leave their comfort zone. Labeling doesn't really do that since there are lots of feed options already.

Now that the WoT relay stuff has some momentum and DoS controls, labeled content feeds could be really interesting, clean, and full of variety between overlapping groups... but it would have to be more easily accessible for the average person to do it.

Reply to this note

Please Login to reply.

Discussion

I think there will definately be some traction for labels/hashtags/chats etc in the future, there has to be. I think on nostr, we basically started with a bunch of refugees from moderated platforms, and so there were not very many willing to moderate as they'd just been kicked off the system and see any form of moderation = bad. However, nostr has been churning like crazy partly due to having zero moderation controls available to the average new user. I find, the relay customers that are the happiest, are the ones who understand that to have a good experience means moderation. Many malicious practices have been coming at nostr one by one, and they tend to target vulnerable nostr population. Client devs are aloof just because their experience is good, does not mean that a majority of new users will get reply-tagged out, with almost zero recourse. Running a relay, generally it takes someone who has at least started in nostr journey, but it does not take that much. Clients can embrace this power of the relays, instead of fighting it and basically acting like they don't matter. Many a nostr platform, is sucking up all this data from 'good' relays for free and pretending like they did something. They didn't, they're leaches. And when people start using them, they don't have any form of spam controls in place that work.

Haha, yeah, I still see the mod-bad sentiment reverberating, but I'm sort of glad it's still alive to offset the other angles. It shouldn't take 3+ clicks for users see any mention of a relay in their app, let alone assumed they know how to navigate them. Nostr is much more interesting than it's portrayed as in many situations, and not just to developers. If notes are moderated to new users' acceptance, relays are buried and unexplained, and keys are hidden behind auto-generated display names, the whole thing starts moving towards unintentional user lockin, simply because it's too hard to leave.

On the main topic, I do think it's possible to collectively start building traction on moderation and curation soon, as clients shift & all these slick, super fun relays keep evolving. Team too-much-bitcoin-talk would definitely get the ball rolling if there wasn't a bunch of hurdles to overcome to do it. wss://relays.land/spatianostra a good example of what's possible without labels, even if it is a little too much "sunshine and rainbows" for regular browsing. I can imagine a similar setup, of people willing to label content collectively with a predetermined list of tags that the relay will accept... but again that gets stuck without the ability to label from within some widely used social client. The voting works because we can "like" from any client, then like-vote with intention later. (It's actually been fun psychological self-evaluation to participate in that) Would most people bother? Maybe not, but the ones that do would likely approach it with good intention. I'm struggling with how to keep that concept dynamic though. People who's content gets labeled, and who also label, get looped in? I don't know... you got my long thought for the day. Sorry. 😅

well said! "a fun psychological self-evaluation to participate in". It really is. 🤌 the footprints we are creating, are fossilized in nostr time. and we can use it all for our own uses (like trust networks) 🕊

because it requires arbitrary work on the part of the user that doesn't really benefit them in any obvious way.

an easier first step might be auto-tagging by and based on client.

I don't know. People timestamp & broadcast other people's notes. Labeling would be pretty on par with those actions, I think.

That can be argued against hashtagging too. Labeling is already strictly better than that.

Many people like to curate and categorize things, and, as I said, reactions are already that to some extent except they are more cryptic, uglier and less useful.

And there may be other benefits, I'm just saying there is room for experimentation. We can also watch to see what Pubky does and perhaps copy them later.

> "We shall never have a good tagging system until it is removed from the central indexers via some sly, roundabout way"

In my view, any attempt at semantic tagging must be built on top of a subjective trust/assertion layer, as in nostr:npub1u5njm6g5h5cpw4wy8xugu62e5s7f6fnysv0sj0z3a8rengt2zqhsxrldq3 's project.

A tag is essentially an assertion that "this Thing is X":

1. I might agree with Bob's assertion that Thing 1 is X, while I disagree with Alice's assertion that Thing 2 is X.

2. I might agree with Bob's assertion that Thing 1 is X, while I disagree with Bob's assertion that Thing 2 is X.

3. ...additional permutations abound...

All of effects that fall out of the above system are totally tangential to and in conflict with any "global" indexer (especially one that is tightly coupled to a particular client application) that attempts to make the same assertions for everyone.

Each node in the graph should have a very different complex of agreements/disagreements (and weightings for the same) on all tags and all other nodes' opinions of those tags.

The key is **disagreement** and not only allowing for it but more or less requiring it at the lowest levels of the protocol. "Global state" (in this context, a central indexer + client app) is absurd on its face when you have the prior that disagreement is a fundamental particle.

Even if the central indexer allowed for infinite arbitrary assertions on a given Thing, it becomes totally unwieldy and useless if it is collecting every node's disparate opinion.

The natural place for the divergent assertions to live is _at the edges_ - with the node making the assertion.

- You start to build up your worldview by weighting strongly on YOUR OWN assertions...

- Then looking out through your neighbors, taking into account the weight you give to each on THIS topic...

- Then looking at _their_ neighbors and taking into account _their_ weight they give to _their_ neighbors on THIS topic...

That gives you your own subjective view of the graph with trust/credence flowing from you and your own authority out to wherever you say it should go, given your preferences.

I am something of a jihadist on this topic. I'm happy to have friendly arguments about it, but my bar for bending on it is set extremely high after a decade++ of watching it fail to be addressed properly: with Megacorp "social media" handling it worst, and many decentralized social networks getting closer but still failing to cross the final crucial Rubicon.

----

PS: Any individual can _act_, fleetingly, as a "global" indexer if a large number of people happen to trust that individual as a supreme authority on a given topic. But crucially - and this is where the (central indexer + app) model fails - they might be an authority only on this ONE TOPIC.

It is highly unlikely that the node I trust ultimately for "pizza reviews" is the exact same node I trust ultimately for "code reviews".

I participated in the initial beta test of pubky and I had the same thought as nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6, that tagging is one of the best things about pubky. Simple, easy, useful, user friendly.

NIP-32 could be one way to implement tags in nostr, but a simpler way would be something similar to NIP-56. Same basic structure as NIP-56, but we rename it from “reports” (which obviously has a negative connotation) to “tags”, and instead of a “report type”, we just have the tag itself, which would typically be a human-readable string (but in theory could be any string, like an event id that points to a “tag” with some sort of structure).

Tags generated via either of the above methods, or any other method for that matter, will be great sources of raw data to be fed into GrapeRank, via the process of “interpretation” which will convert the raw data into a format that is ready to be ingested by the GrapeRank algo.

NIP-32 was created from discussions related to NIP-56 already, by that same reasoning I imagine.

I have no idea of how to do the graperank thing already, even less if one is supposed to input arbitrary tags, but if such a thing is possible than I can only imagine it will be great.

It’s definitely possible — I and others have built GrapeRank proofs of concept that synthesize follows, mutes and reports into a trust score. Each of these 3 sources of data gets “interpreted” as the first step. Things like replies, reactions, zaps, tags, etc will be straightforward to interpret using the same technique that we’ve already used.

Have you done a deep dive yet into #PageRank? PageRank and GrapeRank are both examples of centrality algorithms. PR is easier to explain, easier to implement and historically significant as the thing that launched Google in1998 and wiped away — like magic!! — the vast majority of spam from internet keyword search. I’m excited to see PR and similar algos in production & in use by nostr:nprofile1qqs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcygpz9mhxue69uhkummnw3ezumrpdejz76jympz, nostr:nprofile1qqs0dqlgwq6l0t20gnstnr8mm9fhu9j9t2fv6wxwl3xtx8dh24l4auspzemhxue69uhhyetvv9ujumn0wd68ytnzv9hxgqg4waehxw309ash2arg9ehx7um5wgcjucm0d52m9qj9 and others, and I would like to see more nostr devs understand and appreciate what PR and other centrality algos can do for nostr.

That last paragraph is what I was thinking. If the labels exist in many places, then anyone can utilize or present them (or not) however they want... there must be a better way to create them, though. 90% of this conversation is well beyond me, but lacking an efficient way to do it, is the only thing that holds me back from labeling things now.

I’d love to see one or more nostr clients implement tags. Probably worth looking at how Pubky does it from a UX perspective.

I hate to use Amethyst as an example of everything but there's a 'timestamp it' option in the 3 dot menu on each note. A 'label it' option would fit really nicely below that. The same could apply to any client that offers note menu options beyond like, reply, and zap, such as raw event data & n-prefixed idenifiers (or whatever those are called). It would be tucked away but easily accessible to anyone who want to use it. I don't think it would complicate the UX any more than that stuff already does. Talking a client developer into adding it, I think, would be the hard part.

I agree with you. Global indexing is obviously a mirage and will never exist, much less work.

Different WoT methods for interpreting tags are welcome, but I, being a simple person, can't stop thinking that you don't need math to ensure the data you read on Nostr is good enough: you can just select some specific relays manually -- as you do with websites on the internet -- and trust what they tell you about the crowd that uses them (i.e. a relay dedicated to Tottenham fans will give you information about what Tottenham fans think, and a relay dedicated to Arsenal fans will say different things, and you compute what that means yourself).

I'm sensitive to these kinds of "human-scale" approaches (maybe you remember https://catallax.network which maximizes no-tech human trust rather than fancy escrow contacts).

But in this case, you would need a relay (or more, if you want different opinions) for every _thing_ someone might care about. that seems way less feasible than simply communicating the same concept through attestation events over nostr.

No, we don't need a relay for every thing (and every combination of two or more things), just like we don't have a website today with a community for every thing, but we have some because someone did them and they succeeded, while others were never tried and others failed, and we're still ok.

I think having Nostr and the universal relay as a standard makes it much easier for more of these niche relays to exist, so we'll end up with a lot more stuff.

Again, I'm not saying the WoT approach shouldn't exist, it definitely should, and both approaches can be combined. I'm just saying we shouldn't decide on that being the only solution, because it's quite complicated and we can't be sure it will scale across the vast spaces of humanity and relationships (and computer resources for downloading and processing all the data).

Yea that's all very fair and I mostly agree.

You had me at "centralized indexers are a mirage".

That said... one quibble: I'm not concerned about the computational resource point. People demonstrably pay for and self-host millions of hashes worth of monetary network compute cycles.

Once properly decentralized and subjective trust systems begin to prove their importance as one of the only viable ways to manage and scale human relationships/society in the context of complex, distributed networks, I can imagine that people will be willing to shell out a few watts and bytes to run such infrastructure.

Once it becomes clear your options are: What I just described; "manual, hand-curated trust"; or MEGACORP ALGO, I think the right people will come around at the right time ;)

One of the challenges I’m encountering in building Brainstorm personalized WoT relays is that it’s resource-intensive and kinda expensive (at least until I figure out some optimizations). But if you run your own Brainstorm, it will be relatively easy to calculate and provide personalized PageRank scores on demand to users who don’t have their own Brainstorm. Slightly more computation and you can provide users with personalized GrapeRank scores too. Charge a few sats for the service and you have a business model.

ding ding ding

the market for (cashu...) nanopayments on spare CPU/GPU is only going to get wilder. ride the wave