Andy:
I think your major concern is that our current system might discourage people from creating large stacks. And you're right that we'd like users to stack all the projects they use -- this gives us the richest data, allowing us to find better suggestions for you and people with more similar stacks.
My concern is more that the data it is producing is effectively weighted heavily away from the people using the system as intended.
Example, mon amigo w00t has 5 items stacked, and is giving kudos to 6 people ... I'd guess he's created his stack on the basis that it contains projects he's directly involved iAlson or (in the case of PHP) relies heavily on. As a result, the influence he's giving is pretty heavy.
Compare this with mr webs who has stacked more projects than I wish to count. Since he doesn't seem to have bothered kudos w**ing, he has none in and none out ... meaning he is having an infinitesimally small influence on them.
The developer user who influences people and projects s/he is directly involved in is bound to end up with ridiculous values.
The end user that stacks all the projects s/he actually uses (theoretically increasing the project population in the process) has next to no influence on the results.
Personally I don't see this as a problem for the projects by stack counts (which is an interesting and fairly accurate metric that relates as closely to actual user counts as does running /list on freenode).
Unfortunately the kudos ranks for users end up completely out of wack.
Proposal: Allow you to weight the value you place on the items in your stack. Perhaps this is just ratings, but make it easy to rate all your projects right from your stack window. This suggestion was sent to us by a user and I thought it was a good idea at the time. But now with your comments, I think it might be useful in itself but also might encourage more people to stack more of their projects.
So I could stack, say, PHP and Putty ... but since I can't really live without PHP but I'm phasing out my use of putty (bye bye windows so bye bye putty), I can give PHP 90% of the kudos and Putty 10%?
I'd probably actually stack more projects if we had separated stacks. Then I could build a stack for my operating base (Gentoo, PHP, Apache and Subversion maybe), one for the tools I use (Firefox, Vim, webdev toolbar, etc), one for my more recreational use (inkscape and gimp spring to mind) .. and one for projects I'm actually involved in coding.
Might be interesting to see an overal list of projects sorted by ranking ... personal stacks ... maybe it would make sense to have some sort of personal importance rating? Then we could make it so it runs distro, webserver, scripting language?
Would probably make sense to have personal importance seperated from our rankings of projects...
DotMG:
IMHO, kudos given to a project should be (at least automatically) weighted proportionally to the size (weight) of the project. Weight of a project should, in its turn, be proportional to its activity (commits per time), quality (documentation), code size, famousness, ...
That sounds painfully complicated. Plus weighting by activity isn't paticularly fair on smaller projects. If you stack KDE or a distro, it'll probably gobble up all your influence.
Quality and famousness aren't paticularly good choices for metrics, since they are largely personal opinions.
Max Horn:
I think it's important to balance the system against this kind of use. This is, in this situation the diminishing effect giving kudos to three people should be balanced against the boost these people get, and the back-boost you get from them in turn.
Logically speaking, the rate at which the kudos rank increases will slow down and eventually start decreasing again. It's something of a parabolic curve? Math terms kinda need my head working lol.
As the users join, the projects list gets more populated, and the actual commiting and kudos receiving person count increases, people already on the kudos ranks will tend to loose places unless they gain more kudos.
Robin:
As the system works today, if you give out 5 kudos and 5 stacks, you'd be giving 1/10th of your influence to each. I don't like this. I'd rather that you were giving a fixed amount of influence to all 5 of your kudos, and another (probably smaller) fixed amount of influence to each of your stacked projects. I don't want to penalize people for participating and stacking lots of projects.
Yeah, it would make much more sense to have a separate kudos "pools" for user to user kudos and user to project kudos, especially when you combine that with the aforementioned project kudos weighting.
Seems kinda counter intuitive having the most people with the least "activity" on the site having the greatest influence on ranks.
Yes, a small group can "log-roll" eachother up the scale -- You can become a 10 with a just a couple of bogus accounts put together in a chain. I need to give it some thought, and it seems counter-intuitive, but I suspect that removing the 1/n scaling factor would actually make this harder to do because it will elevate the scores of "real" people. I need time with paper and pencil on this one.
Sadly I suspect this will give you a headache.
Cheating the system with loops can't really be blocked as loops, because all kudos giving eventually produces a looped set of nodes.
Looking for loops below a certain size doesn't help because that means you need to arbitrarily pick a size at which a loop should be considered fair ... but then again, I'm sure there are an awful lot of reciprocal kudos links in the database ... person A gets kudos from person B, so he gives it back.
You could possibly look for closed loops, where a group of people have created a web of kudos gives that doesn't cause kudos to leave that group, by way of project stack or direct kudos grant, but that still runs the risk of penalising groups of people that don't have much interaction outside their communities.
You possibly place a "tax" on kudos loops shorter than, say, 3 or 4 nodes... but that'll probably hit everyone in the database in some way, so the value of it is debatable.
I think valid accounts bouncing each other up the kudos ranks is something anyone will struggle to find a good way of dealing with, since there isn't a decent way of identifying those users.
Targeting bogus accounts might be an easier way to remove some overinflated kudos from the ecosystem heh.
It's kinda like trying to rig an automated system to find an lock multis on the mmorpgs that don't allow people to have more than one account. Any user smart enough to have created multiple accounts that are not obviously the same (different email addies, access via proxy's, etc etc) is going to be able to maintain gaming patterns that are not sufficiently different from natural clan behaviours to be targetable by any sort of automated tool.
scratches his head