The Expert List - An Idea to Improve Online Social Bookmarking
The so-called rule of 150, states that the size of a genuine social network is limited to about 150 members (sometimes called Dunbar's number). The rule arises from cross-cultural studies in sociology and especially anthropology of the maximum size of a village (in modern parlance most reasonably understood as an ecovillage). It is theorized in evolutionary psychology that the number may be some kind of limit of average human ability to recognize members and track emotional facts about all members of a group. However, it may be due to economics and the need to track "free riders", as it may be easier in larger groups to take advantage of the benefits of living in a community without contributing to those benefits. -- Wikipedia entry on Social Network
Peter Szinek has published an excellent article on some of the shortcomings of social bookmarking as it exists today (see Problems of Social Bookmarking Today - Part One). Two of his more compelling points are those of information overload (too many articles, that disappear off the "top" page too quickly), the pumping up of vote counts by cliques, and the lack of differentiation between experts and non-experts when counting their votes. He admits that many of his solutions are impractical, unfortunately, but then again not many of us have answers to these problems. His succinct statement of the problem is worth quite a bit, however. I've blogged about some of these issues in the past as well (see Web 2.0, Communism, Pet Rocks and the Wisdom of Crowds and More from Hinchcliffe on Web 2.0), and some of the issues I've brought up about the Free Rider problem and the spread of bad actors do explain some of the issues at the root of Peter's observations.
The "rule of 150" cited above goes a long way toward explaining why online communities become dysfunctional as they grow (from Usenet to Digg). It simply becomes harder to police all of the free riders. So, what to do? How can we make the rule of 150 work for us?
I think part of the answer lies in one of the observations that Peter makes in his article:
In my opinion, it is not right that if a 12 year old script kiddie votes down an article and an expert with 20 years of experience votes it up, their votes are taken into account with an equal weight. OK, I know there is peer review and if the 12 old will do a lot of stupid moves, he will be modded down - so he will open a new account and begin the whole thing again from scratch. On the other hand, the expert maybe does not have time to hang around on digg and similar sites (because he is hacking up the next big thing instead of browsing) and therefore he might not get a lot of recognition from his peers on the given social site - which does show that he is an infrequent digg/dzone/whatever user, but tells nothing about his tech abilities.
Proposed solution: I think it is too late for this with the existing sites, but I would like to see a community with real tech people, developers, enterpreneurs and hackers of all sorts. How could this be done? Well, people should show what they did so far - their blog, released open source software, mailing list contributions, sites they designed or any other proof that they are also doing something and not just criticizing others (It seems to me that always those people are the most abrasive on-line who do not have a blog, did not hack up somehing relevant or did not prove their abilities in any relevant way). This would ensure also that only one account belongs to one physical person. I know that this may sound too much work to do (both on the site maintainer's and the users' side) but it could lay a foundation for a real tech-focused (or xyz-focused) social site . Of course this would not lock out people without any tangible proof of their skills - however they votes would count less.
What Peter seems to be proposing is a smaller community where the members all know one another, and those that are not known are not given much weight by the voting system. I think Peter is right, for the community at large, this does sound like too much work to do, sort of like a giant public key exchange, where the web of trust evaporates as the network grows.
The other part of the answer lies in asking, "why can't my social network be limited to just 150 people?" If I had 150 people I really, really trusted, then I would have pretty good confidence in the stuff they recommended. The downside is, of course, that 150 people will never discover what a horde of tech nerds on dzone discover. But if I could combine the wisdom of the crowd with the trustworthyness of my small clique of experts, I'd be cooking with gas! The key insight here is that not every article or post should be ranked the same for two different people. We are interested in different things, therefore the things on our "top" page should be different.
One way of achieving these personalized rankings is by using something like collaborative filtering. The basic idea is that you use the votes you have cast (stories dugg or dzoned or whatever) to calculate a distance between every two participants on the social bookmarking system. You calculate a predicted score (how much you will like something) for individual A by averaging all the votes by the other individuals, weighted by how far away they are from individual A -- further away means their vote counts less.
There are lots of algorithms and functors for computing recommendations, but they all share one thing in common: they are horendously expensive to compute, since they are O(nm), where n = number of individuals and m = number of rated items (yes, even if we cluster with something like kmeans first). They all also tend to have problems with sparse datasets, i.e. where most of the items have not been voted on by most of the participants.
Because of these problems and others, I think means of tacit (i.e. the user doesn't have to explicitly do anything) social network building are impractical. Instead, we should consider something that the social networking sites have been doing for a while (see LinkedIn for an example), namely having an explicit list of contacts or "friends," although here they may be more accurately referred to as "experts."
How would this explicit list of experts be leveraged to give you better rankings? You would use these experts to weight votes:
- First, everyone in your experts list has their vote count as 1.
- Next, everyone who is in your experts' expert list ("a friend of a friend....") has their vote count .5 (unless they already are in your list).
- Next, everyone in the next level out has their votes count .25.
- Everyone else's votes counts .1.
- Add them all together and you get the vote total for a particular item for you (someone else with a different list may have
Now we can tweak this formula to our heart's content (e.g. the decay is linear and goes out to a depth of 5; people who you link to by several paths get extra weight, etc), or even let the end use configure the exact formula by means of a number of parameters, but the principle is sound -- the people you respect and the people they respect in turn are more likely to recommend things that interest you.
Last, limit the number of individuals a user can have in his expert list to 150. If you have more than that, you can't possible know all of them and their "emotional facts."
Now I can see a few objections to this proposal:
- The votes are too expensive to calculate - I admit that it is more expensive than just precomputing one-size-fits-all totals, but with some judicious use of precomputing, caching and efficient database design, I think this is doable. After all, not every use will log in at the same time or want to see every item back to the beginning of time. And, as long as we are not searching or sorting historical results by rankings, we should be fine.
- Where is the sense of community if we all see different things? - what is the value of that community if we don't feel we are a part of it? I've long since stopped using digg, because I'm not interested in "what's hot." The value of social bookmarking is in aiding people in finding content they are interested in, not in making us all look at the same stuff.
- What about the "Digg Effect?" Won't this diminish the power of the social bookmarking sites that adopt it? - will fewer people try to game the system if the audience is ultimately smaller? Yes. Probably. Fewer people will try to use the bookmarking sites as a way to lob their press releases into the net. But I think more people will find these sites useful. Frankly, I see the whole "Digg Effect" as a symptom of the free rider principle in action.
Consider this a modest proposal. For one, I would like to see dzone, the most progressive and tech-focused of the social bookmarking sites, experiment with this.
Topics: Web 2.0
Comments: 2 so far
Leave a comment
About Pathfinder
Follow the Blog
-
Get a monthly update on best practices for delivering successful software.
Subscribe via email
Subscribe via RSS
Categories
Topics
Archives
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
Blogroll
Recent
- Elements of Testing Style
- Aesthetics and Web Design
- Asterisk-Java Testing with Groovy
- 3 Misuses of Code Comments
- Fluently NHibernate
- Digging a Hole and Covering it with Leaves — The Software Development Version
- The Importance of User Experience - Do You Understand It in Your Bones?
- Writing Your Own Protocol With NSURLProtocol
- What’s In Your Dock: iPhone edition
- Feature Fatigue

As I stated on Peters post, “It is an ever changing landscape and the key is adaptability.” Some of your ideas are incorporated in a key algorithm change that we are kicking around at http://dzone.com. But, as you have realized the on-the-fly computation time is a big road block.
We’ve yet to roll out a “friends” feature at DZone, though one is in the planning stages at this time (we don’t want to make the same mistakes as digg), and may not end up implementing it. We are well aware of the expert verse script-kiddie problems. Although, I can not release details of the solution, be assured that this is a problem that we are working on.
Comment by 3Monkeys, Monday, February 26, 2007 @ 9:45 am
Great post. Very thought provoking. We currently have Watchlists on TekTag.com, and we have the beginnings of user rankings. The issue is how to put these together. I’ll have to think about how we might implement something like you suggest.
I also wonder what will be the future of moderators on social sites. I don’t think there’s a name for these folks yet, but some sites seem to have an inner circle of trusted users that act like a cross between editors and moderators.
Comment by TJ, Wednesday, March 21, 2007 @ 7:23 pm