He’s commenting on the grapevine method of calculating influence scores. And he’s correct, ratings above 1 can lead to divergent scores. But there are several ways to address this problem. One way is for the I on the left hand side of the equation and the I on the right hand side to be different Influence Scores. In other words: each Influence Score is a function of context. For the sake of simplicity, my initial implementation just uses generic, pan-contextual Influence. But we won’t necessarily always do that.

Reply to this note

Please Login to reply.

Discussion

The only way to think through this issue is to think deeply about what the purpose to which we are putting these numbers.

In my mind, Influence Score can only be understood as a RELATIVE score. Relative to what? Or more precisely: relative to whom?

I refer to this as the “reference user.” So the question is: who is the reference user?

First thing to note: The reference user does not have to be the same all the time.

The easiest answer is: relative to “the average user.” For example: an influence score of 2 means Alice trusts Bob twice as much as she trusts “the average user” in the specified context.

I think that’s a good place to start. Reference user = the average user.” There are reasons we won’t use “the average user” as the reference user all the time. But for simplicity, we have to start somewhere. Baby steps.

What are the implications if the answer to "relative to whom?" is "Relative to ME"?

There is no global state, so you either do it individually for users - which makes sense for clients as users log in, or you impose a "global" state on the system and compute an averaging metric

The imposed global state would happen through caching and reevaluating as new data comes in.

We have to assume that nobody has a bird’s eye view of the entire system. It is the only way. To assume otherwise would be fatal to our entire endeavor. So we have to make this assumption and just accept the problems that come with it.

it is subjective and ephemeral... i mean, when the network changes its connections other than the subject changing their connections, it changes the graph and has to be recomputed

one would have to establish some kind of limit on how deep you consider changes to be important, so weighting of each level of distance from the subject is important

The grapevine is inherently calculationally intensive. And it must be performed independently for each observer. So you only do the calculations that you care about.

Yep, gotta make that tradeoff. with the intensity of these calculations (WOT, influence, or otherwise) i am concerned about it for the twitter clients.

Moving to (multiple) whitelist first communities/feeds and these scores are not only effective but only focus on the specialized community you belong to/curate. Its a nice second barrier that is enhanced by applying it to something hyper focused.

one thing i would also point out is that a WoT based filtering/weighting system will cost users with big follow lists (and follows with big follows, etc) a lot more computation and actually it would reduce the need to have such long lists because you could "trust" your network to help curate your feed better than you can all by yourself

this is also why there probably needs to be a distinction between mute and not interesting

mute means "this npub posts stuff i consider abusive"

whereas "ignore" - perhaps it could be expressed, or "not interested in this npub" would just mean you discount the weighting of their follow list

have to balance between intensive interrogation of users and make their data input meaningful to them, and i think that a distinction between these two would be helpful to improve the weighting

Distinctions like this will be made, but not until people start using the grapevine. Only then will there be a reason for the distinction to be made.

i think something that would help maybe with this, is where you have some short list of people you want to see everything, your "follows"

everyone else, you have two reaction buttons, one implies negative, the other positive, but you can put an emoji on both without any confusion about the value of it (so, it would be a tag along with the emoji in content)

as a user you react to gets more positive, they move into your web in proportion with your other reactions (otherwise how are you gonna evaluate the relative importance) over time, so people who you react positively to often, get more often selected to be visible to you, and become de-facto follows, without requiring any specific choice of that option

eventually you can even eliminate the explicit follow list and evaluate how to populate a person's feed based on the top 50% positively reacted, and whenever there is a marginal state (the lower 25% of your most positive responses) if there is a more preferred option it gets shown instead of a less preferred option

this would relate to the idea of how much you want to actually engage with, so there would be a "show me more" button that alters this threshold and thus will select more in total than if your demand for stimulation was lower

an interesting thing about this is it entails an easily tracked value scale that can be completely calculated one interaction at a time ONLY by your own personal events (reactions with a positive/negative sense)

these graphs are more predictable and static and can easily be thinned out for efficiency reasons because you can run the numbers so easily, and from this discover stuff easily as well

plus from a data intensive state change side, the giant fucking lists and race conditions problem, it doesn't require such a complete view of the events relative to you

also, from a UX perspective, i think you can do this with a simple 4 level scale

love, interesting, boring, hate

these create a 2d axis of responses that then go into the calculation, and you can even snapshot that state periodically in order to share more easily the state of your graph to others, who can then use your weightings to bias their weightings and discover/avoid things

The question is: who decides on all these details? does everyone agree it’s a 4 level scale? What if somebody wants a 5 level scale?

The answer: YOUR GRAPEVINE manages decisions like this. Yes, it can happen and it will happen.

But we’ll need the Grapevine AND the concept graph to manage ontology.

We build the grapevine first.

Baby steps.

well, i'm just boiling it down to the two axes i see as most visible to users... boring/interesting and love/hate

you can use more axes if you want but each new axis adds decisionmaking cost and reduces the chance of actually capturing that information

the majority of humans have been dumbed down to 2 years old territorial 2d mentality so asking for more than 4 cardinals is literally not gonna work

and you won't have a grapevine without two dimensions, so 4 is it

don't overthink it

How about believe / disbelieve?

hmmm... i think that is subordinate to love/hate

My point isn’t to say you’re right or wrong on this particular issue. It’s just to get you to ask yourself: on this issue, and on others like it, what happens when less than 100 percent of users agree? How do we arrive at consensus on a question which has no schelling point? This question is one conceptual entry point into the tapestry protocol, as overviewed at pgf.tech

objective is a delusion

don't build upon that

we can have an objective account of money

but everything else, this is the tippie toe towards totalitarianism

Yes, the subjective route was the subtext of my comment.

Clients can do this for users, or (my preferred solution down the line) users can be doing this for themselves, in the background, constantly, on personal cloud solid state interpreter Operating Functions that happen to have a bunch of Nostr services installed.

To be honest, I think that may ultimately be the best answer. There are conceptual problems with the “average user”, meaning that it is hard to define.

There are UX issues with “me” as the reference user. However, it is cleaner. It can be defined precisely.

The question is whether, from a UX standpoint, users will shy away from issuing attestations using themselves as the reference user. If so, let’s start with something users will not shy away from and work towards the theoretically cleaner method in baby steps.

If you think the answer to this will be a distracting tangent to this thread, quote this note and reply there.

What are the concerns you worry may cause a user to shy away from attesting with themselves as the reference user, UX-wise?

Is it about others finding out what you think? In my ideations on the subjective social graph, I've always preferred solutions that are optionally private. So when you're (algorithmically) assessing your conceptions of influence, relevance, etc. the conclusions are private to you, based on your private attestations + whatever else you know about the (transitive) public attestations of others.

And you can opt to surface certain of your own attestations as Public; which would in turn influence the conclusions that peers (who trust you by degrees) make when they are assessing their worldview in domains that involve you. But your private data wouldn't be visible to them nor enter their worldview.

(Incidentally, this set of affordances also leads to the feature of "masks" or personas/aliases. You could instantiate a new blank slate mask and build it up to be "a person who believes X set of things", and then view the world through those eyes. A distinction between public/private + multiple "mask" instances would allow this (let's be honest, probably social apocalypse-avoiding) exciting feature).

Now that I've thought aloud about that here, I see what concerns you, UX-wise. There are a dozen net-new concepts there to introduce slowly to a new user. With great power comes... great new user onboarding flows that level them up slowly 😆

I think this is an appropriate topic for this thread. 👍🏻

In a nutshell: I come at this topic primarily from a deeply theoretical perspective. Which is quite distinct from coming at this from the perspective of a designer or product manager.

I am confident that the gap can be bridged, but I take care not to presume that I understand all relevant UX considerations until someone else weighs in who has expertise on the topic. It’s all too easy to miss something important. So I kinda presume I’ve missed something, until I have good reason to believe otherwise.

Which is why I have stated before: #WoT will die without GOOD DESIGN.

#nostrDesign

Just had time to read through your post again. You’re absolutely correct: there are so many new concepts to wade through. Each one, on its own, can all too easily derail the thought process that gets us conceptually to where we need to go. Figuring out what order to introduce them is super difficult.

One important tool to help us chart the path is to ask constantly which aspects and applications of the grapevine users are most ready to use and devs are most ready to build.

it's subjective... the calculation must be done for each user according to their location in the mesh