growing virtual communities beyond small
As a consumer/user of quite a few virtual communuties that have grown from small/tiny to medium and on to large, I've seen the same pattern emerge. The early adopters set the tone of a community around a site, soon they have to deal with some growth that bring in some new faces that don't quite "fit" and then when the site goes public all hell breaks out and most of the early adopters move on to something else or manage to stay together and deal with it. Sometimes you get the odd case where the conflict just tears apart the community and the people just move on. I've seen this with real groups: hobby clubs, computer clubs and the like - all of them have followed the same social patterns that online sites follow.
Now I'm not schooled in any psychology or group dynamic theory or anything like that - I'm just a people watcher whose been around long enough to have seen the same thing happen more than once :) I'm seeing similar things happen now with FriendFeed, Facebook and even Seesmic and to some degree Twitter. Facebook and FriendFeed are suffering from one aspect of it because they both allow you to view into the stream of data that is generated by other peoples friends while Twitter avoids that but is now dealing with the painful issue of what happens when you get someone with 7,000 people following them. Seesmic I think will have the exact same issues unless we get smart and work in some avoidance schemes now -- and that is what is keeping me up at nights :)
How do we allow for the friend-of-friend voyeurism that FriendFeed provides, the all-in-one dashboard of Facebook and the simplicity of Twitter - but still scale to 500,000 or more users! I've looked at how Usenet works, at how monster messaging sites like AIM are setup and read up on the scaling issues that video has to offer. Usenet provides a way to distribute single messages to a large group of readers via flood-fill algorithms to secondary servers and then each server caches and delivers to the local user.
This works to a degree but we don't have a 1,000 secondary sites who will voluntarily handle the load - after all Usenet grew organically over many years. The world of XMPP/Jabber offers up some interesting solutions for dealing with the connectedness nature of user subscription rosters and how to distribute updates, after all when you update your status from Away to AFK, the server propagates that change to all of your subscribers.
But in the XMPP world that's solved with normal message queuing and delivery routines - nothing you would call "fancy". The more I look into and think about some of the issues, the more I see classic solutions working and the fancier buzzword- laden solutions just don't seem to work without a lot of hand-holding. Not quite sure about this tho.
Hmm, looking back at what I've written I can see it's all over the place and not very coherent :) I think I'm just getting some feelings down on the page as I head into the implementation phase of the choices we have made to solve some of the more immediate issues Seesmic is having and will soon have. I haven't outlines anything specific and won't until we get back some real numbers - after all the difference between theory and implementation is tests :)
ciao
Technorati Tags: seesmic