All posts made the week commencing Sunday 17 Nov., 2002: is a free+premium service to let people create and run their own instant messaging bots, with smart extra modules. Like the early webhosts and html-helpers. More of this! (I've not tried it though. First-hand reports are welcome.)

These Top Ten Digital Photography Tips have helped me already, with the white balance tip.

Two good linking toys are the totally connected HyperDictionary, and [via scribot] which turns the www inside-out.

(Speaking of which, I met Tim Hall the other night and he mooted that weblogs were an inside-out Usenet. That Usenet hangs conversation threads off posts made by people, the threads classified by topic; that weblogs hangs comments threads off posts of single topics, classified by person.)

God Is The Machine. Glorious article about the universe as the ultimate universal computer. It captures a spot-on concept: that the is-ness is maximally complex, that the only perfect model is the universe itself and that abstractions have to be lossy. It's surprising how often this is forgotten.

Ellen Feiss is so cool. Q. "Do you feel any connection to the Dell dude?" A. "No, none whatsoever. That guy's a doofus. I get a lot of 'What if you guys had kids?' And I'm like, 'What if we had kids?' Why would you ask that? What a weird question. They'd probably be blond".

A quick something on social software. It's important to clarify what the problem space is here. I'm reluctant to say it's possible to classify groups, but I think it is possible to label the sort of activity a group is performing into push and pull. I've nicked those terms from queue theory (see my post on queue theory and the NHS), and use them for different ways of exploring a landscape. Pull is undirected or atelic. Think about how evolution works, or an idle conversation. Push on the other hand is a goal-oriented, industrial process. It's directed or telic. These media terminology notes have more descriptive word associations.

Telic communities (formally organised into corporations, teams, pressure groups) are hard enough normally, and what I believe social software is concerned with is how to provide for these group activities when the secret properties of the real world aren't present. The most important of these are:

  • Total immersion. In RL, your avatar or presence is isomorphic with you.
  • The media mix allows for appropriate use: solid decisions are on paper, sub-arguments occupy the gestural plane, geography is important.
  • It's natural.

So that's why I say we have to look at how successful teams work. Some of the things I'm thinking about:

  • Some telic groups are driven by common myths. I remember JC Herz mentioning this (the modern myths are: hero, science, environmental, economic). Who said this?
  • People often don't want to participate or direct their efforts. What are the parallels with gaming here?
  • This sounds much like local government and democratic participation.
  • Time-binding is massively important. In any group, different media are used and the interaction between them creates the amplification and reification of the decision making process. A community must be able to store argument and decision separately in short halflife and long halflife encodings.
  • Bootstrap off existing social structures. Don't attempt to model the group, just provide a substrate for it. Example, votes in the real world are the endpoint of verbal and non-verbal argument. But online they're often the starting point.

Thinking. I'm away for the next week so if you see any good social software reading material, please leave it in the comments.

Apologies to members of the Interconnected mail list who received Wednesday's links again last night.

Whoa! Mark Pilgrim's written an app that can recommend weblogs for you to read based on your homepage. Given it presents me with a mix including sites I read and like and ones I've read in the past but unfortunately forgotten, I'd say it works, really nicely. There's more at the Recommended Reading project page, including how it works and the source for download.

Roger Caillois (1961) classifies games/play into four classes, being: competition (also called agon); chance (alea); mimicry; and vertigo (ilinx). Games are placed in one of these and exist somewhere on a spectrum from paidia to ludos, which are roughly speaking the enjoyment-of-playing (like disguises) and enjoyment-of-rules (like chess) extremes.

Writing, Play and Performance on Internet Relay Chat uses this typology when looking at play on IRC. Caillois' method is intended to be used for just this, a framework for examining play across different cultures. (Found after following notes on Purse Lip Square Jaw).

Anne Galloway considers the models we're using when considering social software [via peterme's critique]. Good, yes. And, thinking...

But! At the end, this: "So now I'm working on how technologies can be designed to evoke, rather than to describe; to perform rather than to represent..."

Exactly. The dominance of tele and cinema over the past couple of decades have habituated our consciousnesses to media that refuse to acknowledge the difference between what's transmitted and what's understood. Both attempt to be as much like real life as possible. A better television is one with a higher-definition picture. However!, a better book isn't one that spends twice as long describing a scene. There's no intrinsic betterness of tele-like or book-like media, just whatever's best for the job -- and at the moment the lofi media are better suited to our lives: email, www, type. When the media isn't as rich as real life, the ones that succeed are the ones that don't try and hide the fact they're not real life. And we become habituated to this division, and subsequent systems must be coherent with this. In the future, systems will be designed to "evoke, rather than to describe" (or at least, this will be an understood and important part of design), and the following media will triumph: typography, music, architecture, cooking (no fast food), augmented reality (virtual reality won't; it attempts to mimic the total immersion of RL) and radio.

Distributed decisions: When will Halloween be celebrated? [thanks Kevan] presents simulations run to examine how the following question is answered: "With no central planner to dictate when the celebrations shall occur, how can everyone collaborate to celebrate at the same time?" Excellent, and points to an interesting way of making decisions: instead of explicitly building the feedback and amplification mechanisms in software to making a decision, bootstrap off existing social structures, and provide conduits for those message types instead.

The French company Air Liquide uses agent-based simulations (modelling trucks as ants following pheromone trails) to find the most efficient delivery routes: "It's a supply chain that can create 3 trillion daily combinations among all its constituent parts; it took 22 full-time logistics analysts nearly half a day to generate a delivery schedule that would get every product to its destination on time". With the simulations, it now takes one analyst two hours.

The idea of a social rhetoric has been bubbling round my head. I'll outline my thinking first, and defend it next.

  • Groups act in a way that is more than the sum of the individuals.
  • There is communication going on at a group level, a social language.
  • Given the paths of spoken language are hardwired into the brain, maybe social language is too.
  • We need to develop a social rhetoric to harness and direct this social language.

Groups act in a way that is more than the sum of the individuals. Now you can invoke emergence and say that the behaviour of the group is nothing more than the interactions of individual behaviour, aggregated and displaying properties we couldn't have predicted. Firstly, that's indistinguishable from true group behaviour. But more importantly, second, that's too reductionist for my taste -- groups need to work well together, there's evolutionary pressure for this, and nature will make use of anything that's around. Watching a group making a seemingly logical decision is massively different to a single person or even two people. Anyway, if groups were simple enough to study as the addition of individuals we'd still need to look at individual-to-group communication, we'd still need to make abstractions because the number of one-to-one relationships increases massively as the group expands, and we'de still be exploring a new area. Groups are different.

There is communication going on at a group level, a social language. We know there's non-verbal communication going on, and from there it's the same argument as above: non-verbal communication with a number of people is different enough from one-to-one that we can label it "social language" and move on. But ultimately, it feels right that there's something special going on here. It's a whole other ballgame speaking in a group where pheromones, many-to-many gestures, body language, feedback loops, group think, social pressures come into play.

Humanity is social. We're socialised in the first few years of our life. We respond to pressure and correspond to trends and fashion without realising it. Social language is all the various verbal and non-verbal languages mixed up and with elements of public/private and mystery ingredient X thrown in. Social language slips underneath the cognitive conscious. Social guilt is called shame. Maybe mild autism is social dyslexia.

Given the paths of spoken language are hardwired into the brain, maybe social language is too. Spoken language is hard-wired. There's a universal grammar in your brain that all languages conform to -- a baby growing up around adults who speak only a poor second language with no form of grammar will spontaneously create its own grammar, coherant with the universal grammar intrinsic in all of us.

The language instinct is important. It hardcodes certain rules about sentences that make otherwise irreducibly complex parsing problems solvable in an infant's brain. It defines parse-rules and buffers, and these are things that can be measured, with clocks. Why is it in there? Because there's an evolutionary advantage in a spoken language that can grow recursively (like ours; it's not limited to certain stock patterns), and an advantage in the rapid learning of it. And so ditto social language. Perhaps there's a social grammar right there, paths along which neurons always grow.

We need to develop a social rhetoric to harness and direct this social language. I choose the word "rhetoric" carefully. We don't need to understand social language or social grammar, and we don't need to study it that hard. We just need to know rules of thumb about what works and what doesn't.

The Greeks developed rhetoric as a system of rules for speaking and putting across an point orally, something that's very difficult without writing (yet, rhetoric was only developed once writing had given the Greeks the power of introspection of oral culture). What rhetoric gave people - everybody! - was a way of constructing arguments and communicating them. It abstracted the gut instinct away, and based on existing grammar-of-persuasion it made a set of rules people could follow to do something. It codified the uncodifiable by simplifying it and using it for a single purpose.

The thing to note about rhetoric is it's efficient at what it does. Convincing, memorable (the point, maybe not the words exactly), to the point. This is entirely the opposite from undirected speech: conversation, which although it's prone to twists, turns and great ideas, isn't so good as following through a logical path.

This is where social rhetoric comes in. We're not thinking about undirected communities or groups here, we're thinking about software to aid directed team activity. And so there are three branches:

  • Some people are really good at working with teams of ~150 people, but most aren't. They're not so good at speaking the social language.
  • Once we move out of the real world and online, most of the social language routes have been removed and have to be reconstructed.
  • Directed or telic group behaviour doesn't allow the full spectrum of social language because it's constrained.

Just as rhetoric presents a methodology for telic conversation (conversation abstracted to be directed), social rhetoric can present a methodology for telic community or teams (a group abstracted to be directed).

Social rhetoric has the properties of being available for anyone to use; able to operate within a restricted environment; of being able to handle ambiguities, exceptions, and what happens when individuals operate in a way that isn't immediately handled by the rules (so instead of rules it's a network of incentive fields).

Now deriving social rhetoric is the hard part. I have three suggestions.

Look at successful teams. The rules of thumb have to come from somewhere, and the best way is to look at how the people skilled in operating in restricted social environments and getting things done work. How are social pressures set up? How are goals advertised? Can an exhaustive list of communication methods be collated?

Operate in a way coherant with the hardwired social grammar. If an individual acts without knowing how to act, this shouldn't be rejected by the social rhetoric. Ideally, to a first order approximation social rhetoric should just be how telic communities normally operate. But less ideally if somebody comes up against the abstraction strata they should be steered back on course.

A shared terminology. Anthropology, sociology, rhetoric itself -- all this ground has been covered, but has never had to look in this exact direction. If we need words to exchange these concepts between ourselves (I think we do), then we could do worse than listen to specialists from these fields and learn, learn, learn.

If this sounds to you like the secret properties of social software, you'd be right. What makes the www successful isn't the url at the bottom of every advert; what makes IM isn't just its ubiquity. There's View Source and addressibility, there are Away messages. We can look at technologies that were successful without meaning to be, look at social environments that give results with being forced, and investigate what factors in the substrate made this possible. And then, hopefully, build some ourselves.

Absolutely splendid is Idle Thoughts of an Idle Process by Verity Stob:

"I'm glad it is a good old i variable. You just can't beat an i loop for smooth running, you know. Call me old-fashioned, but I can't be doing with iterators. I'm sure programmers think they look lovely in the source code but, when all is said and done, it's not programmers that get to execute it, is it? Programmers think exceptions look nice in the source code; two bits will get you a nybble that they wouldn't be so glib with their throws and re-raises and finallys if they had to unwind their own stacks. Handling an exception is like sliding down a four-storey staircase on your backside.

"(Whatever 'staircase' means. Or 'backside' for that matter. Found the phrase in the simile section of my string table and used it at a venture. It felt more appropriate to the case than, for example, 'This software program is fully protected by the laws of California.' Call it process intuition.)"

Once upon a time the severely disabled could use keyboards by tapping regular, everyday keys with a short rod worn on the forehead. No more need they do this! The Lucy replaces the normal keyboard with a special screen-overlay keyboard, and the humble rod with a head-mounted laser.

This computer timeline goes all the way from the abacus to early mainframes and internet history to the present day [thanks Paul B].