Pair Programming

Download Report

Transcript Pair Programming

Where From? Where To?
Prehistory and Speculation about Wiki
Ward Cunningham
Wikimania 2005
Frankfurt, Germany
You will find these slides at
http://c2.com/doc/wikimanina
They are yours to use under the
Creative Commons Attribution License
http://creativecommons.org
Imagining the Network
http://c2.com/~ward/morse/SimNet
Simulated in Pascal and Java
http://c2.com/~ward/morse/SimNet/SimView.html
Representation & Communication
Computer
Radio
How Ideas Spread
• People Cards
• Project Cards
• Idea Cards
CRC Design Database
http://c2.com/doc/firstcrc.pdf
CRC Index Cards
http://c2.com/doc/crc/draw.html
Representation & Communication
Computer
Ideas
Radio
Experience
Patterns as a New Literature
Standard
Panes
Window
Per Task
Nouns and
Verbs
Short
Menus
Portland Pattern Repository
Hypertext of Patterns
http://c2.com/ppr/
Generated HTML
1994: Run generator by hand
1995: Form interface to generator
DOCUMENT.TXT
HTML
generator
Wiki Wiki Web
http://c2.com/cgi/wiki?WindowPerTask
Wiki Design Principles
• Open - Should a page be found to be
incomplete or poorly organized, any reader
can edit it as they see fit.
• Incremental - Pages can cite
other pages, including pages that have not
been written yet.
• Organic - The structure and text
content of the site is open to editing and
evolution.
• Mundane - A small number of
(irregular) text conventions will provide
access to the most useful page markup.
• Universal - The mechanisms of
editing and organizing are the same as
those of writing so that any writer is
automatically an editor and organizer.
• Overt - The formatted (and printed)
output will suggest the input required to
reproduce it.
• Unified - Page names will be
drawn from a flat space so that no
additional context is required to interpret
them.
• Precise - Pages will be titled with
sufficient precision to avoid most name
clashes, typically by forming noun
phrases.
• Tolerant - Interpretable (even if
undesirable) behavior is preferred to error
messages.
• Observable - Activity within
the site can be watched and reviewed by
any other visitor to the site.
• Convergent - Duplication
can be discouraged or removed by finding
and citing similar or related content.
http://c2.com/wiki?WikiDesignPrinciples
Representation & Communication
Computer
Ideas
Patterns
Radio
Experience
Wiki
Wikipedia
My question, to this esteemed Wiki
community, is this: Do you think that a Wiki
could successfully generate a useful
encyclopedia? -- JimboWales
Yes, but in the end it wouldn't be an
encyclopedia. It would be a wiki.
-- WardCunningham
http://c2.com/cgi/wiki?WikiPedia
Representation & Communication
Encyclopedia
Wikimedia
Representation & Communication
Writing
Roads
Scientific Method
Printing Press
Integrated Circuits
Fiber Optics
Limits to Growth
Wikipedia
(changing what?)
Ward’s Wiki
(changed programming)
1995
2005
Limits to Growth
• Population
• Energy
• Climate
Representation & Communication
Integrated Circuits
Object Models
Simulation
Fiber Optics
P2P Networks
Evolution
Imagining the Network
http://c2.com/cgi/wiki?FolkMemory
Objects Show Many Ways
abc
xyz
Servers Copy Objects
copy
copy
32.26.97.113
45.31.29.56
12.156.32.95
Objects May Be Missing
Objects Trail Location History
793
Servers Resolve Duplicates
821
321
321
793
Server Heuristics
• Connection - Chooses when to open, accept and close
connections. Guided largely by “trail climbing” of interesting
objects and average channel performance. Allocates sockets,
total bandwidth, and processing time devoted to transmission.
• Distribution - Chooses which objects to distribute through
each open channel. Guided by authority, apparent interest from
hosted application, and interest shown by peer servers.
Allocates channel bandwidth to individual objects.
• Preservation - Chooses which objects will be kept in the
server. Guided by authority, network and application interest,
connection behavior and available space.
Adaptive Federation
copy
Right to Choose
Right to Life
Adaptive Federation
copy
Tolerant Scripting
Representation & Communication
Encyclopedia
Simulated Worlds
Real World
Wikimedia
FolkMemory
Cultural Evolution