Two favourite passages from Italo Calvino's Invisible Cities:
Thomas Kuhn's The Structure of Scientific Revolutions (at Amazon.co.uk) is excellent: how communities identify and understand a field through the use of paradigms, and how changes in these occur. A great mine of vocabulary for things I knew but was unable to articulate. And an interesting bridge between individual understanding, how people learn and communicate ideas, and group dynamics.
More social software rambling:
And some rambling about social software as pre-paradigm:
What we need:
Is a proper theory of folk psychology, a proper theory of folk physics, a proper theory of how people classify/understand. And not from the perspective of normal science, which is to say: "When these people have folk X, what is the real X they're thinking of?"
But rather: "What are the evolved attributes of folk X, so we can design for them?"
I like it when people say "I'm a tool guy". That means we (equals me. I'm a paradigm person myself) can take what they do, extract the attributes that made it successful, and reuse elsewhere. Some people can just create social software without thinking about it, like some people are great interior designers, or great orators, great at articulating themselves. Leaving these qualities in the hands of the people who were born with them isn't enough: that's why we teach people how to structure an argument, how to make use of rhetoric, why people go on courses for presentation skills ("What do I do with my hands?").
This is why we have Fung Shui: Folk interior design. Democratising aesthetic sofa positioning.
Social software is pre Fung Shui, pre folk anything. It's hard to slice and dice even, which is a characteristic of things that haven't been shaped and paradigmised. And it's hard because the term "social software" applies to all of:
And this is all without even defining what "social software" even means! We can't. It's like putting plumbing, engineering and fluid dynamics in the same box. But that's what electricity was like, what steam power was like early on, so there's hope.
Arts and Crafts as a design aesthetic [thanks Matt Jones]: "Ideals: Simplicity, honesty (it is what it looks like), utility (form should follow function, but it also needs to feed the soul), organic, craftsmanship (includes innovation within convention), harmony (a simplified and unified environment). Used structural ornamentation - using joists and joints exposed. Wonders out loud how we could do that with web sites. Treat compositions of a web site as building on a series of harmonies". I like.
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.
The promise of web services and OS-level scripting? Soybo is "a cross-platform and device independent technology that allows applications to publish their functionality as web services, accessible by any Internet-enabled device". Plug-in based and open, it seems to comprise a a collection of scripting hooks to expose applications and services, and b a collection of client applications to make use of those hooks in a pretty way. Incredible potential-filled screenshots. Kind of like Watson in reverse, or a high-level X Windows. [via Mac Net Journal.]