Wiki the Phenomenon

The Database That Could

Practically unheard of outside a few small groups of programmers and developers in 1999, this tiny Web application would in only a few years completely revolutionize Web collaboration, leading to for example Wikipedia.


In the mid 1990s, software developer Ward Cunningham was looking for a way to simplify a collaborative work of collecting programming patterns. Inspired in part by hypercard stacks, interlinked pages of text, he devised a very small program in perl that would act as a webserver but handle the content in a few special ways. In particular, the content could be created and edited using any forms-capable web browser. Anyone could edit! The concept, actually dating back to the origins of the World Wide Web, was a revolutionary catalyst in what had instead become a very static "push" kind of Web.

Ward called it a WikiWikiWeb, "wikiwiki" being Hawaii slang for quick and informal, and set up the public prototype: the Portland Pattern Repository. "Ward's Wiki" as it became known soon expanded far beyond its original domain and scope, collecting collaborative articles and discussions that in a few years ran into tens of thousands of pages.

Wiki is a simple content management system (CMS) that stored plain text as named pages but applied HTML markup based on a few pattern rules. One fundamental rule was that any CamelCase pattern of text was rendered as a hyperlink to a page with that name. In addition, any identifiable Web-resource address in the text was rendered as an active hyperlink.

The core design element is simplicity. The content creator need focus only on writing text. A small number of conventions provide all necessary formatting. By saving and seeing the rendered result, editing the page again, and saving again, immediate visual feedback guides the process of achieving a desired look.

Wiki Design Principles

Over the years, several defining design principles have been identified and formulated. The following is a fairly complete collection, although the precise wording varies depending on context. Ward maintains a wiki page with similar principles.
  • Open -- Any reader can edit wiki content, changing, adding new, altering structure and page links.
  • Incremental -- Pages can cite other pages, including pages that have not been written yet.
  • Organic -- The structure of the site is expected to grow and evolve with the community that uses it.
  • Mundane -- A small number of (irregular) text conventions 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 suggest the input required to reproduce it.
  • Unified -- Page names are drawn from a flat space so that no additional context is required to interpret them.
  • Precise -- Pages are 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.

Wiki, the Book

The Wiki Way: Quick Collaboration on the Web ( ISBN 020171499X (Amazon.com) ) by Bo Leuf and Ward Cunningham, Addison-Wesley 2001, is the canonical reference for Wiki.
The book details the concepts of Wiki, provides simple perl code examples for a desktop standalone wiki, and goes through numerous coding examples that implement different features and extensions to the basic functionality. It also discusses "Wiki Community", describes some of the then-common clones, gives a few case studies of implementation, and speculates on Wiki's future (this before Wikipedia, the general use of Wiki by software development teams, and its current inclusion in many CMS packages).

The book assuredly helped spread knowledge of this open source tool beyond the smaller circles of software developers then working with it.

Comments

Bo Leuf
Bo Leuf
Author, Freelance consultant
Gothenburg, Sweden
Article rating:
Your rating:

Activity for this knol

This week:

4pageviews

Totals:

225pageviews