Posts Tagged ‘communities’

Social Software Sunday #3 – All social software are inherently socio-technical systems

by Hang

This is the third of a weekly series of posts on various aspects of social software design I find interesting, here is the full list. Each of these posts are written over the course of a few hours in a straight shot. Contents may be mildly idiosyncratic. To vote on what I should write about next, go to this Quora question.


And one day the wizards of LambdaMOO announced “We’ve gotten this system up and running, and all these interesting social effects are happening. Henceforth we wizards will only be involved in technological issues. We’re not going to get involved in any of that social stuff.”

And then, I think about 18 months later — I don’t remember the exact gap of time — they come back. The wizards come back, extremely cranky. And they say: “What we have learned from you whining users is that we can’t do what we said we would do. We cannot separate the technological aspects from the social aspects of running a virtual world.

Clay Shirky – A Group Is It’s Own Worst Enemy

Social software is deceptive because it looks like conventional software but does not behave like conventional software. You can take a piece of social software and it seems possible to analyze it in terms of feature set, user experience, traction and all the conventional tools used to analyze software. But to do so fundamentally misses it’s essential nature. It is impossible to split social software into a technical system as distinct from a social system and analyze each piece separately. Instead,  all social software are inherently socio-technical systems.

To illustrate with an example (borrowed from Latour), let us assume that we have a road in a quiet residential area in which the main problem is that cars drive too fast down down it. There are at least two possible ways of solving this problem: adding in a speed bump or adding a “slow” sign at the start of the road.

Speed bumps provide an obvious physical mechanism that forces cars to slow down: driving too fast results in an uncomfortable jolt and possible damage to the car. If we were technical analysts, we would totally understand through decomposition, the purpose and mechanism of speed bumps. But a “slow” sign has no intrinsic property of slowness about it. Using technical decomposition, we can see that the molecules of the “slow” sign barely interact with the molecules of the car. Instead, “slow” signs operate purely due to the social mechanisms that society has set into place. I know that if I were to run a slow sign, there is the possibility of a policeman catching me and this could lead to a large fine which would ruin my day (not to mention my social conditioning to be lawful regardless of circumstance). Both the speed bump and the slow sign achieve roughly the same goal but through two very different mechanism.

Likewise, with all social software, only part of the mechanisms that ensue success are encoded in the technology platform. The rest of it is encoded in the social mechanisms of the community of users who are running it. Rather than analyze social software from the perspective of features and code, it is instead, far more correct and useful to analyze it in terms of what mechanisms are necessary for the software to succeed and only after that, to figure out which is the correct place to put them.

This makes social software a very different beast from conventional software because social software runs on humans in conjunction with machines. While machines can be manipulated by typing words into a text file and hitting compile, humans are much more finicky and dynamic (although, it the case of some game dynamics, almost as easily predictable and reliable). What this means is that every piece of social software has a huge chunk of it which has both limited visibility and is constantly in flux. What’s more the same code base running on different communities leads to intrinsically different pieces of social software and lessons learnt from one community cannot be directly applied to any other. On top of that, while only the developers have the privilege of checking in source code, any particular user can affect the social norms of a community. Unless you start development with these realities baked into your understanding of the world from the very beginning, you cannot produce humane social software.

The most visible arena where social software fails is as communities scale. Small, tight knit communities are capable of having a rich social layer and good communities manage to practically design themselves with merely the benign neglect of the software creators. However, as communities grow, the social fabric becomes weaker and weaker and less capable of supporting sophisticated mechanisms. Unless technical solutions are put into place, the community degrades into an underwhelming mess.

Last week, I talked about the Evaporative Cooling Effect and how one way to mitigate this is by unequal reputational roles for different members. In a small community, it is possible to do this purely through the social layer. Participants are able to remember who has particularly good domain expertise, who displays generosity and kindness & who is abrasive but knowledgeable.  Rich mental models of reputation are formed and different members in the group will be treated in different ways, abusive behavior will lead to shunning and admirable behavior will lead to respect. But there are intrinsic cognitive limits to how much reputational information we can hold and process (Dunbar’s number is commonly cited in this, usually incorrectly). Once communities exceed this limit, the ability to provide reputational distinction through purely social norms becomes impossible. Instead, reputation must be augmented through technical means (action logs, karma, reviews, etc).

However, overdeveloped technical systems can often be a much bigger problem than underdeveloped technical systems. It’s a common failing for technologists that to see software as the hammer that can hammer in every social nail. Access control and privacy is a perfect example of this kind of thinking.

Access control mechanisms are often developed under the assumption that no social layer exists whatsoever and all access control must be done purely through the technical layer. While this leads to cleanly analyzable assumptions and formally verifiable proofs, it also leads to rigid and inflexible access controls systems which do not at all map onto people’s actual work patterns. This, ironically means that workers routinely bypass the technical access control mechanisms anyway and routinely email “confidential” files around and rely purely on just social mechanisms to prevent unwarranted access.

This same security thinking has been applied to our consumer social arena with even more absurd results. Technologists love to crow on about how “privacy is dead” and that they now live their lives in a purely binary completely-in-public or not-on-the-internet mode. In reality, most of our sharing is done through mediums with rich social layers through which we use to mediate our privacy. While celebrities and occasional unlucky people thrust into the limelight end up having their private lives completely exposed, the average person still goes through life without any significant privacy violation because they manage to effectively modulate the social norms around privacy. Drunk party photos of them exist on Facebook but, as long as they take care not to friend their boss, none of their friends are assholes enough to be actively forwarding those pictures along. Facebook itself seems to fundamentally misunderstand at the most basic level and this is reflected in their byzantine privacy settings which were an attempt to encode all privacy data in a purely technological fashion. This is a topic worthy of a completely separate post so I’m going to punt on the discussion for now.

The only effective way of building social software is to view code and policy as two sides of the same coin. To build a successful social system, what is needed is to establish what are all the requisite mechanisms that are required for a successful social design and then figure out how to keep those mechanisms in place, via either the technical or social layer regardless of how either of them morph. This leads to a fundamentally different way of building compared to conventional software and is a large part of the reason why so many technologists struggle so much, building compelling social experiences. Too often, people who analyze social software systems only look at the technical aspects because those are the most visible, stable and generalizable and completely ignore the morphing social contracts that are happing at the same time. But doing so leads to unbalanced design which either does not provide enough technology to support the social layer or ignores the powers of the social layer and overcompensates with inflexible technology.

To be notified of the next Social Software Sunday piece as it’s posted, you can subscribe to the RSS feed, follow me on twitter or subscribe via email:

Social Software Sundays #2 – The Evaporative Cooling Effect

by Hang

This is the second of a weekly series of posts on various aspects of social software design I find interesting, here is the full list. Each of these posts are written over the course of a few hours in a straight shot. Contents may be mildly idiosyncratic. To vote on what I should write about next, go to this Quora question.

Ice cream sundae

The people who most want to meet people are the people who the least number of people want to meet. The people who are the most desperate to date are those who the least number of people want to date. The people who are the most eager to talk are the ones who the least number of people are interested in hearing. It is the ignorance of this fundamental principle that I see at the heart of so many failed social software designs. This is what I call the Evaporative Cooling problem and one I believe must absolutely be tackled head on by the designers of any communal gathering product unless they want to see their product descend into a squalid lump of mediocrity.

The Evaporative Cooling Effect is a term I learned from an excellent essay by Eliezer Yudowsky that describes a particular phenomena of group dynamics. It occurs when the most high value contributors to a community realize that the community is no longer serving their needs any more and so therefore, leave. When that happens, it drops the general quality of the community down such that the next most high value contributors now find the community underwhelming. Each layer of disappearances slowly reduces the average quality of the group until such a point that you reach the people who are so unskilled-and-unaware of it that they’re unable to tell that they’re part of a mediocre group.

Evaporative Cooling is a dynamic that can apply to both real world and online communities but the affordances of the Internet make it particularly susceptible to Evaporative Cooling. By looking at real world social structures, we can get some clues as to both what causes Evaporative Cooling and what are effective ways of preventing it.

Example the first:

Moving to San Francisco, it was amusing to me, unearthing the social structures around networking that go on here. There is the public “scene” of parties, events & mixers. Alongside this is an entire shadow community of private, invite only, exclusive events which is where all the real work in the Valley is done. It is possible to live your entire life in the Valley, wandering around amicably being blithely unaware of the shadow ecosystem. You could go to the same events every week with the same mix of aspiring entrepreneurs, social media marketers, CEOs of dipshit companies, bloggers & the occasional A-Lister who is forced to be there out of professional obligation.

But, if you’re halfway decent and capable of networking, you’ll soon find yourself with an entrée into a small part of the shadow economy. How far down the rabbit hole you choose to go is purely a function of your innate function and drive. For every layer of exclusivity, there’s almost certainly one more exclusive that you’re not aware of. Some of these venues are well known; TED, Davos, Sun Valley. But for every one of these you’ve heard of, there’s certainly at least a thousand more equally as exclusive gatherings you haven’t. After a while, you start to subscribe to what I call the Groucho Marx rule. You stop attending any event which would have you as a participant.

Lesson the first:

Openness is a major driver of Evaporative Cooling. If anyone can join your community, then the people most likely to join are those who are below the average quality of your community because they have the most to gain. Once they’re in, unless contained, they end up harming the health of the community over the long term. Communities that are allowed to select their members in some way are much more immune to Evaporative Cooling. Unfortunately, most viable internet businesses have no choice but to set their business model to open. The nature of most Web 2.0 businesses is that they depend on extracting a tiny bit of value from a large number of users and are betting on their fuck you exit from massively exploding in scale. Building a thriving community that tops out at 10,000 members over the course of 10 years isn’t going to pay the bills.

Example the second:

One of the communities that I’m part of down here is BayCHI. It’s a community that’s been around for 20 some years now and the quality of the talks and people who attend is still excellent. It seems to have only minimally succumbed to Evaporative Cooling. Why is this? A large part is due to what I call Social Gating. Social Gatings are mechanisms that allow participants to self-select out of the group. In the case of BayCHI, the social gate was the nicheness and unglamorousness of the content. The only people who would choose to participate in this group in the first place are those who find the talk sufficiently interesting to take 3 hours out of their life. This, by itself set a minimum bar.

Lesson the second:

Social Gating is a powerful force and, unlike direct exclusion, works in a much more scalable fashion at Internet sized growth rates. However, it is also a much more subtle one and requires a deft hand to get right. Nicheness is just one possible social gate, charging money is another popular one. But there are an entire constellation of more nuanced ones. Spelling, for example, is an interesting social gate. Just seeing a forum in which ppl spel liek thiz instantly polarizes you onto one side or the other. At the other extreme Quora, in it’s very early days had an incredibly Orwellian system in which Quora staff would routinely directly edit the contents of your answer to fix spelling and grammatical errors. I’m planning to dedicate an entirely separate Social Software Sunday blog post to Social Gating so stay tuned (pro tip: If you want to see it faster, go to Quora and add it to the list).

Example the third:

Another event that I attended this week that had a remarkably high quality of participants was Warm Gun. Among the people in the room were the Director of Design at Facebook and the Director of Design at Google. How did Dave McClure get these two in a room? He put them on a pedestal, literally. They were invited to take part in a panel discussion on how designers & engineers could better work together and it was the inducement of special treatment that made these very busy & high value contributors deign to be in the same room as us design peasants.

Lesson the third:

Unequal roles of participation can help shift the gradient of power and kill the evaporative cooling. When the community is small, such processes can be managed through the social layer. High value participants are treated as special because they have recognition & reputation from the community. But, as the community scales, these social mechanisms break down and often, if nothing is done to replace them, high value members get especially miffed at the loss of special recognition and this accelerates the Evaporative Cooling.

Explicit reputation systems like karma are probably the most popular way online communities have implemented unequal roles. But, for some reason, online communities seem particularly resistant to the type of elitist promotion structure common in real world institutions. In Academia, high school students have to fight to become undergraduates. Undergraduates have to fight to become PhD candidates. PhD candidates have to fight to become adjuncts. Adjuncts have to fight to become tenured and tenured professors have to fight to become Dean. I can’t even think of a single online community that bears even the slightest resemblance to this sort of power structure. This is something to ponder for a later piece.

Example the fourth

Finally, I will examine what I consider to be one of the most successful technological systems ever at scaling while maintaining quality: Facebook. I joined Facebook when it was less than a million members. Since then, it’s managed to grow by a factor of 500 but the quality of my experience has dropped by only maybe 50%. The reason why is because when some random person is participating in Facebook from Brazil, it has an absolutely negligible effect on my experience. Because every user only ever see their tiny corner of Facebook, every user is in direct control of their own experience. Lest you think this is a property that is intrinsic to Social Networks, Orkut was brought down precisely by those random people in Brazil. Facebook’s design, especially in the very early days, was especially conscious of this design dilemma and designed around it masterfully.

Lesson the fourth:

There are two fundamental patterns of social organization which I term “plaza” and “warrens”. In the plaza design, there is a central plaza which is one contiguous space and every person’s interaction is seen by every other person. In the warren design, the space is broken up into a series of smaller warrens and you can only see the warren you are currently in. There is the possibility of moving into adjacent warrens but it’s difficult to explore far outside of your zone. Plazas grow by becoming larger, warrens grow by adding more warrens.

These are the two fundamental patterns of social spaces. Every social space can be decomposed down to a collection of plazas and warrens. In Facebook, your profile, friends and newsfeeds are warrens but fan pages, groups & events are plazas. Twitter is mostly a warren with the exception of trending topics which is the one plaza. On forums, the front page and topic listings are plazas but each forum thread is a warren.

Plazas and warrens both have their unique set of tradeoffs. Warrens are notoriously difficult to get started. New users, stuck in empty warrens often don’t know how to connect to hubs of activity. The onboarding process is crucial and still not well understood (Friendfeed found that people needed to add at least 5 friends to have a reasonable chance of sticking with the service). On the other hand, plazas only need to be started once and then they remain a hive of activity for new users to participate in from the first day.

Plazas are much more visible than warrens so it’s easier to watch and understand your community. In communities, like in justice, sunlight is often the best disinfectant and the neglected spaces often become thriving breeding grounds for all sorts of social pathologies.

But the one absolute killer feature of warrens is that they allow your community to become almost perfectly scale free and grow like mad without ever sacrificing quality. This alone, makes them a design element that’s heavily worth studying to figure out what are the good social designs.

It’s also interesting to note that the real world is intrinsically warren while the online world is intrinsically plaza. In real life interactions, the physics of sound mean that we can only ever talk to a few people at once. Every person gets a “personalized” social life. To give every person the exact same content takes special work. Online, the easiest model to program is to serve the exact same bits to every requester. To provide “personalized” content takes special work. It is interesting to observe how this difference has influenced the evolution of these two mediums.


Evaporative Cooling is a fundamental social dynamic and one that is corrosive to the long term health of communities. This post contains barely 1% of everything I could write about Evaporative Cooling but I’m already at 2000 words and I’m not looking to write a novel here. They say ideas are worthless and execution is everything. Since I’ve gotten to the Valley, I’ve heard probably close to 100 pitches for social products in random conversation. About half of them involved a meeting place dynamic of one kind or another and about 80% of those, as they were conceived, would be killed dead by Evaporative Cooling. It is absolutely essential if you’re to be designing a social product that you deal with this issue up front or you’re just a dead man walking.

To be notified of the next Social Software Sunday piece as it’s posted, you can subscribe to the RSS feed, follow me on twitter or subscribe via email:




Copyright ©2009 BumblebeeLabs — Theme designed by Michael Amini