˲ A collaborative deliberation: The
global brain can also be used to enact
decision processes where people and
software systems select issues to consider, enumerate and critique solution
alternatives, and then choose some
subset of these solutions. In this context, programming can be viewed as
defining the rules for identifying issues
and enumerating, critiquing, and selecting solutions.
˲ A radically fluid virtual organization: Sometimes it is useful to view the
global brain as a collection of evanescent virtual organizations, which rapidly coalesce, perform, and disband
in light-speed open markets. In this
context, programming includes identifying the task requirements and selecting among the organizations that
are offering to perform the task. Interesting examples of this idea include
odesk.com and elance.com.
˲ A multi-user game: Many tasks can
be presented as a multi-user game,
where useful outcomes are achieved
as a result, sometimes unintentional,
of playing the game. In this context,
programming consists of specifying
the rules and incentives for game play.
Interesting examples of this include
fold.it and the Google Image Labeller.
Making such global brain programming metaphors a reality will, in turn,
require progress along several fronts:
Creating “social operating systems.” An operating system, in the context of a single computer, manages the
allocation of hardware and software
resources such as memory, CPU time,
disk space, and input/output devices.
A social operating system, in addition
to doing all these things, will also have
to manage the mustering and allocation of human resources to tasks. This
will require fast, robust infrastructures
for contracts, payments, or other moti-
making global brain
metaphors a reality
will require progress
along several fronts.
vational elements, as well as scalable
task-to-resource matchmaking such
as markets. These will be challenging
problems because people (unlike hardware resources) are diverse in all the
ways we have described. But providing
easy-to-use solutions for the problems
of finding and motivating human participants—rather than requiring each
system developer to solve this problem
individually—will greatly facilitate programming the global brain.
Defining new programming languages. Conventional programming
languages are, out of necessity, fully
prescriptive, describing the algorithms to be executed in exhaustive
detail. Such languages are often not a
good match, however, for specifying
tasks with human participants. The
programming languages for the global
brain will, therefore, need to support
a “specificity frontier” of varying degrees of detail in task definition.
2 One
end of this frontier involves defining
programs that allocate highly specific
micro-tasks to people and link them
into larger workflows. In the middle
ground, we may use constraint-based
programs, which specify (for example,
in a game setting) the goals as well as
the limits on how they can be achieved,
but not how they should be achieved.
At the far end of the specificity frontier, programming may be limited to
simply stating incomplete goal specifications. Additionally, we need to expand the range of abstractions such
programming languages offer. While
traditional programming languages
incorporate constructs such as loops
and recursion, a global brain programming language may also need to incorporate abstractions such as group
decision processes, contests, and collaborative steps.
1, 9
Promulgating new software engi-
neering skills. Programmers will need
to develop new mind-sets about, for
example, such basic concepts as what
a “program” is and what “testing” and
“debugging” mean. They will need to
become not just software architects
and algorithm implementers, but also
organizational or even societal archi-
tects able to think systematically about
things like motivations, coalitions,
emergence, and so on. Perhaps most
fundamentally, they will need to transi-
tion from a purely “command-and-con-
trol” perspective for organizing people
to one oriented around cultivating and
coordinating7 societies made up of
many diverse independent players.
A Call to Arms
We have attempted to identify some of
the key challenges, opportunities, and
strategies involved in programming the
emerging global brain. Learning to do
this well is, perhaps, even more urgent
than many people realize. Our world is
faced with both existential threats of
unprecedented seriousness (such as
the environment) and huge opportunities (such as for scientific and social
progress). We believe that our ability to
face the threats and opportunities of
the coming century will be profoundly
affected by how well, and soon, we can
master the art of programming our
planet’s emerging global brain.
References
1. ahmad, S., battle, a., and kamvar, S. the
Jabber wocky programming environment for
structured social computing. UiSt ‘ 11 (Santa barbara,
ca, oct. 16–19, 2011).
2. bernstein, a. how can cooperative work tools
support dynamic group processes? bridging the
specificity frontier. in Proceedings of the International
Conference on Computer Supported Cooperative Work
(cSc W 2000) 2000, acM.
3. doan, a., ramakrishnan, r., and halevy, a.
crowdsourcing systems on the World-Wide Web.
Commun. ACM 54, 4 (apr. 2011), 86–96.
4. hand, e. citizen science: People power. Nature 466
(2010), 685–687.
5. kittur, a., Smus, b., and kraut, r. crowdforge:
crowdsourcing complex work. in Proceedings of the
ACM Conference on Human Factors in Computing
Systems (CHI ’ 11). acM, new york (2011).
6. little, g. et al. turkit: human computation algorithms
on mechanical turk. in Proceedings of the 23nd Annual
ACM Symposium on User Interface Software and
Technology (UIST ‘ 10). acM, new york, 2010, 57–66.
7. Malone, t. W. The Future of Work. harvard business
School Press, boston, Ma, 2004.
8. Malone, t. W., laubacher, r., and dellarocas, c. the
collective intelligence genome. Sloan Management
Review 51, 3 (Spring 2010), 21–31.
9. Minder, P. and bernstein, a. crowdlang—first steps
towards programmable human computers for general
computation. in Proceedings of the 3rd Human
Computation Workshop (HCOMP 2011), aaai-Press.
10. Quinn, a.J. and bederson, b.b. human computation:
a survey and taxonomy of a growing field. in
Proceedings of CHI 2011, (Vancouver, bc, canada,
May 7–12, 2011).
11. Shirky, c. Cognitive Surplus: Creativity and Generosity
in a Connected Age. Penguin Press, new york, 2010.
12. von ahn, l. et al. recaPtcha: human-based
character recognition via Web security measures.
Science 321 (2008), 1465–1468.
Abraham Bernstein ( bernstein@ifi.uzh.ch) is a professor
at the University of Zurich’s department of informatics
and heads the dynamic and distributed information
Systems group.
Mark Klein ( m_klein@mit.edu) is a principal research
scientist at the Mit center for collective intelligence in
cambridge, Ma.
Thomas W. Malone ( malone@mit.edu) is the director of
the Mit center for collective intelligence and the Patrick
J. Mcgovern Professor of Management at the Mit Sloan
School of Management in cambridge, Ma.
copyright held by author.