26 July 2002
Your lament about being too
busy communicating got me started on the following riff:
======= begin riff
Saving the planet is an example
of massively-parallel processing. In order to achieve high-performance,
the ratio of time-spent-communicating between processors (individuals)
and time-spent-processing (doing our individual parts) must be kept low.
There are four techniques:
1. Decentralize authority.
Every processor must have a copy of the master plan so they can proceed
autonomously. Master-Slave processing is not scalable.
2. Divide the problems to be
solved in logical ways so that each processor has a problem space that
represents a distinct object in the real world or, at least, a piece of
the problem that is relatively de-coupled from pieces being worked on
by other processors so that the need for interprocessor communication
and the time lags due to inevitable work load imbalances (and consequent
loss of synchronization) are minimized.
3. Decrease message latency
(the time it takes one processor to get in touch with another).
4. Increase message bandwidth
(the speed of communication between processors).
With all of that in mind, I
would propose applying all of the above techniques to scaling up the save-the-world
project(s) as follows.
Part I: (Decentralize). There
needs to be a shared "master plan". For computers, it's a program.
For people, it's typically a project plan or Gantt Chart describing the
project to be executed by the participants. I believe the first on-line
tool we should develop is a web-based java-browsable project planning
program that will allow people to collaborate in developing a Gantt chart
(similar to MS Project and others like it, but group interactive-- not
just the playground of the project manager). I have reserved two domain
names for this: GanttCentral.com and GanttCentralStation.com. Nothing's
there yet. But, imagine a Gantt chart that you can click on time-bars
to see detailed instructions and status for any given task, launch an
e-mail to the responsible party and/or specify a new task-dependence --not
just as the owner of the document (single project manager model) but as
any participant (holo- graphic project model). Successful project templates
can be re-used (ballot-measure campaigns, benefit concerts, to name just
two possible examples). In GanttCentral.com, anyone can publish a new
Gantt Chart for a project, declare resources (money) available to people
who help execute the plan, coordinate with existing collaborators or recruit
new collaborators. You can see a list of the tasks you are expected to
execute, ones that are currently waiting for predecessor tasks (and who
to contact). Coming up with the pieces of a master plan for saving the
world is definitely a big collaborative process.
Part II: (Divide and Conquer
Problems). We need to help move people as quickly as possible to their
roles in the Gantt Charts. Here, people are agents along with computing
nodes in structures that David Gelernter called "Trellises".
The project designers are trusted to divide the problems up logically.
If they can also describe the skill sets needed for each task generically,
then individual contributors can easily scan the current tasks (for all
open projects) for tasks matching their own skill sets and pursue those
opportunities. This mechanism is similar to one I'm designing now for
OPN's volunteer coordinator and Community Technology Center Director's
training programs. The problems needing to be solved are, essentially,
BUGS. I worked for several years in software quality assurance groups
and I believe that bug-tracking and resolution databases can be expanded
to be WWW-accessible and omni-product addressing. Earth is an open source
project (all molecules are available for chemical reactions with other
molecules-- most interestingly DNA) and support might be manageable. An
"Earth-Bug" database seems like a great application to start
with. Ozone depletion is a bug. Global warming is a bug. Use of DDT, Uranium,
explosives, chemical weapons, biological weapons and (oh, let's see, what
else can I add to help increase circulation of this message inside the
CIA and FBI? [:-)] suicide bombers are all Bugs. So, build a big, smart
(duplication-resistant), multilingual bug tracking database and start
assigning the bugs to various support organizations and individuals. There
would be a many-to-many mapping of earth-bugs to project-plans (Gantt
Getting these two pieces working
is a great start on creating a collaborative environment where people
can self-organize according to interests and skills, without duplicating
each others' efforts to solve all world problems. I think that only an
environment with these features will be able to support massively-parallel
efforts to save the world.
Part III: Decrease message
latency-- well, maybe you want people to be accessible by pager, cell-phone
or other immediate (usually, but not always, wireless) device so you can
reach them when you really need them to complete a predecessor task so
you can get started on your piece. Or you may need to let them know you're
done with a predecessor task and they can start theirs. People generally
become more useful to their community when they are more accessible. Ultimately,
a mobile, wireless combo PDA, cell phone and web-browser will serve to
transform humanity into the global brain it may be our destiny to become.
I have strong and mixed feelings about 7x24 implications. It should be
Part IV: Increase bandwidth--
already being done by telecomm industry on the technical side, but also
we need to train people to be more effective communicators through various
trainings like Landmark, Wings, Enneagram, and many others. When people
can rise above ego-trips, power-trips, control-freaking and other typical
dysfunctions in groups, then a LOT gets done because communcation is effective.
Speaking of which, I probably should tone down the "world-saving"
rhetoric and just focus on the piece I believe I can really be helpful
with-- designing data structures for collaborative software environments.
That's all we do. If others want to save the world with it- hey, more
power to them.
==== end of "riff"
[:-)] Hope you enjoyed it.
So, I'll begin to pursue "lateral"
communication with some of the people you've mentioned and try to get
related efforts going in parallel to yours.