25 March 1995

WikiWikiWeb, the world’s first wiki is made public by Ward Cunningham.

The history of wikis is generally dated from 1994, when Ward Cunningham gave the name “WikiWikiWeb” to the knowledge base, which ran on his company’s website at c2.com, and the wiki software that powered it. c2.com thus became the first true wiki, or a website with pages and links that can be easily edited via the browser, with a reliable version history for each page. He chose “WikiWikiWeb” as the name based on his memories of the “Wiki Wiki Shuttle” at Honolulu International Airport, and because “wiki” is the Hawaiian word for “quick”.

Wiki software has some conceptual origins in the version control and hypertext systems used for documentation and software in the 1980s, and some actualized origins in the 1970s “Journal” feature of NLS. Its distant ancestors include Vannevar Bush’s proposed “memex” system in 1945, the collaborative hypertext database ZOG in 1972, the NoteCards system from Xerox, the Apple hypertext system HyperCard. As was typical of these earlier systems, Cunningham’s motive was technical: to facilitate communication between software developers.

Many alternative wiki applications and websites appeared over the next five years. In the meantime, the first wiki, now known as “WardsWiki”, evolved as features were added to the software and as the growing body of users developed a unique “wiki culture”. By 2000, WardsWiki had developed a great deal of content outside its original stated purpose, which led to the spinoff of content into sister sites, most notably MeatballWiki.

The website Wikipedia, a free content encyclopedia, was launched in January 2001, and quickly became the most popular wiki, which it remains to this day. Its meteoric rise in popularity played a large part in introducing wikis to the general public. There now exist at least hundreds of thousands of wiki websites, and they have become increasingly prevalent in corporations and other organizations.

A distant precursor of the wiki concept was Vannevar Bush’s vision of the “memex,” a microfilm reader which would create automated links between documents. In a 1945 essay in Atlantic Monthly titled “As We May Think,” Bush described an imaginary future user interface: “Before him are the two items to be joined, projected onto adjacent viewing positions… The user taps a single key, and the items are permanently joined… Thereafter, at any time, when one of these items is in view, the other can be instantly recalled merely by tapping a button below the corresponding code space. Moreover, when numerous items have been thus joined together to form a trail, they can be reviewed in turn…” This vision, though it has been described as predicting the World Wide Web, resembles wikis more than the web in one important way: the system being described is self-contained, not a loose network.

In 1972 Kristo Ivanov published a PhD dissertation on Quality-control of information, containing a theoretical basis for what corresponds to the wiki-idea, in terms of systemic social interaction. Information turns into knowledge as a net of contributions and negotiations converge about a core concept, or entity. The emphasis is on a dynamically documented “agreement in the context of maximum possible disagreement,” akin to the discussions in talk pages and the results of view history of Wikipedia.

An indirect precursor of the wiki concept was the ZOG multi-user database system, developed in 1972 by researchers at Carnegie-Mellon University. The ZOG interface consisted of text-only frames, each containing a title, a description, a line with standard ZOG commands, and a set of selections leading to other frames.

Two members of the ZOG team, Donald McCracken and Robert Akscyn, spun off a company from CMU in 1981 and developed an improved version of ZOG called Knowledge Management System. KMS was a collaborative tool based on direct manipulation, permitting users to modify the contents of frames, freely intermixing text, graphics and images, any of which could be linked to other frames. Because the database was distributed and accessible from any workstation on a network, changes became visible immediately to other users, enabling them to work concurrently on shared structures.

Three notable hypertext-based systems emerged in the 1980s, that may have been inspired by ZOG, KMS and/or one another: the NoteCards system, developed in 1984 and released by Xerox in 1985; Janet Walker’s Symbolics Document Examiner, created in 1985 for the operation manuals of Symbolics computers; and Bill Atkinson’s WildCard application, on which he began work in 1985, and which was released in 1987 as HyperCard. Ward Cunningham has stated, that the wiki idea was influenced by his experience using HyperCard: he was shown the software by fellow programmer Kent Beck, before its official release, and, in his words, was “blown away” by it.

Cunningham used HyperCard to make a stack holding three kinds of information: ideas, people who hold ideas, and projects where people share ideas. He would later use this same architecture for the Patterns, People and Projects listed on the front page of his original wiki, the WikiWikiWeb Cunningham made a single card that would serve for all uses. It had three fields: Name, Description and Links. Cunningham configured the system so that links could be created to cards that didn’t exist yet; creating such a link would in turn create a new blank card.

In 1990, Tim Berners-Lee of CERN built the first hypertext client, which he called World Wide Web, and the first hypertext server. In 1991 he posted a short summary of the World Wide Web project on the alt.hypertext newsgroup, marking the debut of the Web as a publicly available service on the Internet.

Early adopters of the World Wide Web were primarily university-based scientific departments or physics laboratories. In May 1992 appeared ViolaWWW, a graphical browser providing features such as embedded graphics, scripting, and animation. However, the turning point for the World Wide Web was the introduction of the Mosaic graphical browser in 1993, which gained wide popularity due to its strong support of integrated multimedia. In April 1994, CERN agreed that anyone could use the Web protocol and code for free.

Ward Cunningham started developing the WikiWikiWeb in 1994 as a supplement to the Portland Pattern Repository, a website containing documentation about Design Patterns, a particular approach to object-oriented programming.

The WikiWikiWeb was intended as a collaborative database, in order to make the exchange of ideas between programmers easier; it was dedicated to “People, Projects and Patterns.” Cunningham wrote the software to run it using the Perl programming language. He considered calling the software “quick-web,” but instead named it using the Hawaiian word “wiki-wiki,” which means “quick-quick” or “very quick,” based on his memory of the Wiki Wiki Shuttle at Honolulu International Airport.

Cunningham installed a prototype of the software on his company Cunningham & Cunningham’s website c2.com. On March 16, 1995, when the site was functioning, Cunningham sent to a colleague the following email:

Steve – I’ve put up a new database on my web server and I’d like you to take a look. It’s a web of people, projects and patterns accessed through a cgi-bin script. It has a forms-based authoring capability that doesn’t require familiarity with html. I’d be very pleased if you would get on and at least enter your name in RecentVisitors. I’m asking you because I think you might also add some interesting content. I’m going to advertise this a little more widely in a week or so. The URL is http://c2.com/cgi-bin/wiki. Thanks and best regards. – Ward

Cunningham dates the official start of WikiWikiWeb as March 25, 1995. On May 1, 1995 he sent an email about the website to a number of programmers, which caused an increase in participation. This note was posted to the “Patterns” listserv, a group of software developers gathered under the name “The Hillside Group” to develop Erich Gamma’s use of object-oriented patterns. Cunningham had noticed that the older contents of the listserv tended to get buried under the more recent posts, and he proposed instead to collect ideas in a set of pages which would be collectively edited. Cunningham’s post stated: “The plan is to have interested parties write web pages about the People, Projects and Patterns that have changed the way they program.” He added: “Think of it as a moderated list where anyone can be moderator and everything is archived. It’s not quite a chat, still, conversation is possible.”

The site was immediately popular within the pattern community.

Ward Cunningham started developing the WikiWikiWeb in 1994 as a supplement to the Portland Pattern Repository, a website containing documentation about Design Patterns, a particular approach to object-oriented programming.

The WikiWikiWeb was intended as a collaborative database, in order to make the exchange of ideas between programmers easier; it was dedicated to “People, Projects and Patterns.” Cunningham wrote the software to run it using the Perl programming language. He considered calling the software “quick-web,” but instead named it using the Hawaiian word “wiki-wiki,” which means “quick-quick” or “very quick,” based on his memory of the Wiki Wiki Shuttle at Honolulu International Airport.

Cunningham installed a prototype of the software on his company Cunningham & Cunningham’s website c2.com. On March 16, 1995, when the site was functioning, Cunningham sent to a colleague the following email:

Steve – I’ve put up a new database on my web server and I’d like you to take a look. It’s a web of people, projects and patterns accessed through a cgi-bin script. It has a forms-based authoring capability that doesn’t require familiarity with html. I’d be very pleased if you would get on and at least enter your name in RecentVisitors. I’m asking you because I think you might also add some interesting content. I’m going to advertise this a little more widely in a week or so. The URL is http://c2.com/cgi-bin/wiki. Thanks and best regards. – Ward

Cunningham dates the official start of WikiWikiWeb as March 25, 1995. On May 1, 1995 he sent an email about the website to a number of programmers, which caused an increase in participation. This note was posted to the “Patterns” listserv, a group of software developers gathered under the name “The Hillside Group” to develop Erich Gamma’s use of object-oriented patterns. Cunningham had noticed that the older contents of the listserv tended to get buried under the more recent posts, and he proposed instead to collect ideas in a set of pages which would be collectively edited. Cunningham’s post stated: “The plan is to have interested parties write web pages about the People, Projects and Patterns that have changed the way they program.” He added: “Think of it as a moderated list where anyone can be moderator and everything is archived. It’s not quite a chat, still, conversation is possible.”

The site was immediately popular within the pattern community.

Among Cunningham’s innovations in creating WikiWikiWeb was the ability to easily link internally between pages; something that was often cumbersome to do in previous intranet and document management systems. Cunningham’s solution to this was to automatically link any text expressed in CamelCase; including text for which a corresponding page didn’t yet exist.

This CamelCase convention was used by most wiki software for the first few years of wikis’ existence. In 2001, the software UseModWiki, which at the time was in use on Wikipedia, switched to allow internal links to be done using standard spelling and double square bracket instead, in order to improve Wikipedia’s usability. This square bracket syntax has since become more of a default convention for internal links within wiki software in general.

Ward Cunningham wrote a version of his wiki software meant for public usage, called “Wiki Base”. In his announcement, he wrote: “WikiWikiWeb is almost public. Actually, a pretty good clone of it is public at: http://c2.com/cgi/wikibase. I’ve translated almost all of the actual wiki script into HyperPerl, a wiki-literate programming system that I think you will like.” Visitors were requested to register on the wiki before they took the Wiki Base code. Cunningham expected users to fold changes back into his editable version, but those who implemented changes generally chose to distribute the modified versions on their own sites.

Alternate applications for wikis began to emerge, usually imitating the look-and-feel of WikiWikiWeb/Wiki Base; such applications were originally known as “WikiWikiClones.” The first one was most likely created by IBM programmer Patrick Mueller, who wrote his in the REXX language, even before Wiki Base was released.

Inspired by the example of the WikiWikiWeb, programmers soon started several other wikis to build knowledge bases about programming topics. Wikis became popular in the free and open-source software community, where they were used for collaboratively discussing and documenting software. However, being used only by specialists, these early software-focused wikis failed to attract widespread public attention.

The WikiWikiWeb website approximately doubled in size every year 1995 to 2000, with disk usage rising from around 2 megabytes in 1995 to around 60 megabytes at the end of 2000. During that time, various innovations were put in place, many suggested by users, to help with navigation and editing. These included:

1995 – RecentVisitors, PeopleIndex: pages to help users know who was contributing
1995 – NotSoRecentChanges: excess lines from the RecentChanges page were copied to a file of “ChangesIn”
1996 – EditCopy: offers the possibility to edit the backup copy of a page this was replaced in 2002 with Page History
1996 – ThreadMode: the form of a page where community members hold a discussion, each signing their own contribution
1996 – WikiCategories: categories can be added as an automatic index to pages
1997 – RoadMaps: proposed lists of pages to consult about specific topics, such as the Algorithms RoadMap or the Leadership RoadMap
1999 – ChangeSummary: an aid to telling which changes added interesting new content and which were only minor
2000 – UserName: the Wiki will accept a cookie that specifies a User Name to be used in place of the host name in the RecentChanges log

“ThreadMode” was defined as “a form of discussion where our community holds a conversation.” It consists of a series of signed comments added down the page in chronological order. Ward Cunningham generally frowned on ThreadMode, writing: “Chronological is only one of many possible organizations of technical writing and rarely the best one at that.”

Cunningham encouraged contributors to “refactor” the ThreadMode discussions into DocumentMode discourse. In practice many pages started out at the top in DocumentMode and degenerated into ThreadMode further down. When ThreadMode became incomprehensible the result was called “ThreadMess.”

The use of categories was proposed by user Stan Silver on August 27, 1996. His initial post suggested: “If everyone adds a category and topic to their page, then the category and topic pages themselves can be used as automatic indexes into the pages.” Initially Silver had proposed both categories and topics: categories denoted the specific nature of the page’s subject, while topics denoted the theme of the page. However, people ignored this separation, and topics were collapsed into the categories.

The “ChangeSummary” option began as an aid to telling which changes added interesting new content, and which were just minor adjustments of spelling, punctuation, or correction of web links. It started when some users began taking the RecentChanges page, annotating each line with a brief description of each change, and posting the result to the ChangeSummary page. This practice was highly time-consuming and rapidly petered out, but was replaced by the “MinorEdit/RecentEdits” feature, designed to reduce the RecentChanges clutter.