Slices of the ongoing conversation on social software.
Try and ground all of this; try and explain social software to someone who has a background in evolutionary psychology/ dynamics of group decisions, and it's very hard (as discovered a few nights ago). What's the objective? So I'll ramble:
There's no single defining feature of social software, no common thread. But some attributes which may or may not be shared: software which uses as data social relationships/properties; software which acts as an intermediary in social activity (conversation, decision making, wearing the same band's tshirt, clapping); software which uses human nature in the design process; software that has moved from providing an environment to providing an environment and tools, or more.
The human nature one interests me at the moment. Architecture or shop design does this: people walk into a shop and look to the right. Typography and logo design do: the total of the meaning of a logo is not just its form, but the form plus the perception. If the perception changes (over time, over a generation) then the form has to change in order that the logo stays the same. These are deliberate design decisions, but others are accidental/evolutionary: the physical form of cities, the operational form of social institutions (university, churches). These are shaped by feedback. And I mean evolutionary both in the short term (the evolution of successful social institutions; evolution within the institution itself) and in the long now: brain adaptations, real deep-down human characteristics. (Handshakes? Pointing? How the desks of powerful people are positioned? Cultural, or genetically emergent?)
Oh and of course! The www, instant messaging. Accidentally successful technologies. What makes them popular, useful, great? How do we build this stuff deliberately?
Then as for providing the environment. A group performing telic activity, do you give them email? Or something else? Email provides the environment and lets human nature do the rest. Outlook tries to give tools: meeting requests, calendars. There's a lot there. How has this been driven, decided?
So what are the problems to solve? How to make a technology popular? How to make people's lives more efficient/enjoyable? How to annoy the government into listening to you? How to work with someone on a document? But more than than: How to design software to defuse useless flamewars before they start.
Performance metrics: Two groups with the same task but different software. The group with this Software-Software-T.M.-enabled application will work faster, happier, with less fallout afterwards. And: Two technologies for sharing contacts, helping each other out. The Social Software Inside system will result in more favours, less bowling alone.
Look for rules of thumb. We've got some, for technologies: Look for the secret properties of software, copy them. We've got attributes and models (four types of players). I'm not sure these are enough.
There's so much to learn!
Look at philosophy, human behaviour, psychology, biology: extract commonalities of human nature. How do people work with distance? People prefer big effects to have big causes. How do people respond to pointing, clapping, shouting, unexpected people chipping in? Look at how people work in cities: those are the best examples of things-for-a-purpose with massive, group feedback loops. And how people sit round tables in pubs.
"You're looking to reconstruct the whole social world. That's a big job," was the response from the other night. Well yes and no. A cut down version -- but for that we have to know which are the important bits. We need a social rhetoric: a cut down way of acting socially, a way of democratising groups so that anybody (and not just people/software built that way) can be successful and happy.
I want a Fitt's Law for social software. Like: When there are twelve people who mostly haven't met talking in text, the chance of a groupwide flame war is 50%, so the button to respond person-to-person (over IM) needs to be a maximum of twice the cognitive distance as the button to respond to the group. For example.
So then: Experimental social software continue (FOAF springs to mind, weblogs too). Derive rules of thumb. People who are good at being theoretical, try and find paradigms. Learn about human nature - the kind of human nature which is important here, emotional response curves maybe - groups dynamics and so on. Model, break down. Put in the implicit design laws into the requirements document, things that aren't usually thought about: people need to be able to share their address books with this application because X, people need to taskswitch to this other app because Y. The purpose of this app is to do Z therefore there needs to be capability to 1, 2 and 3. And not just proximate: is socialising in group software just as important as the Meeting Request button?
Use cases, examples, models, falsification, experiment, theory, talking, above all: learning.