What is a Wiki?

A wiki is a special type of Web site that allows users to create and change content quickly. Some wikis don't maintain a history of edits, but most wikis these days do, allowing users to revert changes due to vandalism, incorrect data or assumptions, or plain dislike of how a revision idea panned out.

The very first wiki was Wiki Wiki Web developed by Ward Cunningham. This wiki is also known as Ward's Wiki or simply the Wiki. The most distinguishing feature of the Wiki (aside from its ability to let anyone quickly create and edit its content) was the use of "CamelCase" for automatic creation of wiki links. Most wikis created since don't require CamelCase for link creation.

The most famous wiki today is Wikipedia, and it's undoubtedly where new wiki users are most likely to gain their first experience. Or, if not Wikipedia specifically, then one that emulates Wikipedia's encyclopedic reference nature as much as it does the general wiki principles, or a wiki using Wikipedia's application, MediaWiki.

Quoting Wiki Design Principles from Wiki (with annotations here), a wiki should be:

  • Simple - easier to use than abuse. A wiki that reinvents HTML markup ([b]bold[/b], for example) has lost the path!
    • This wiki has many different types of cards, each ideal for a specific purpose. The all-purpose Basic type of card has an HTML editor embedded into TinyMCE's rich text editing interface.
  • Open - Should a page be found to be incomplete or poorly organized, any reader can edit it as they see fit.
    • A wiki doesn't have to be open if its owner doesn't want it to be, but if the owner does, then the wiki should make it very easy to invite users to sign up or to invite users to edit without needing to sign up.
  • Incremental - Pages can cite other pages, including pages that have not been written yet.
    • This wiki allows pages to link to or embed content from pages that don't yet exist. Users with edit permission will see a link inviting them to create those wanted pages.
  • Organic - The structure and text content of the site are open to editing and evolution.
    • This, I believe, is the single most important principle of any wiki that ever has and ever will exist.
  • Mundane - A small number of (irregular) text conventions will provide access to the most useful page markup.
    • The only significant markup unique to Wagn is the double-brace syntax. Similar to Wikipedia-style double-bracket syntax allowing editors to [[link to other pages in the wiki]], the double-bracket syntax allows editors to {{embed wiki page content itself}} in another wiki page.
  • 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.
    • Should a card's source content not be obvious, there's a source view mode.
  • Unified - Page names will be drawn from a flat space so that no additional context is required to interpret them.
    • Wagn modifies (and in a sense violates) this principle in order to establish a clear hierarchy where appropriate. In this library, the GEOS Programmer's Reference Guide is a good example; every card unique to that book is a plus card attached to the main card.
  • Precise - Pages will be titled with sufficient precision to avoid most name clashes, typically by forming noun phrases.
    • Wagn's plus cards allow concise precision in card names.
  • 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.
    • You can see all activity on this site from a special automatic card named recent.
  • Convergent - Duplication can be discouraged or removed by finding and citing similar or related content.

This wiki (Wagn) enhances simplicity by using the TinyMCE editor for editing cards, so most of the formatting available is in a modern-style word processor interface. Unlike many other wikis, there's no need to learn special wiki markup languages just to format cards (although it doesn't hurt).

Supporting incremental development, this wiki marks cards that don't exist yet in a color different from ones that do. Following a link to a card that doesn't yet exist allows you to create that card.

Most innovatively, Wagn's concept of cards nested within cards gives editors the ability to avoid duplication by splitting information off into other cards, then transcluding that content back into all the cards that need to include that content, and to include automatically generated cards or cards that perform and return searches on all the cards in the deck.


Wagn Features

The complete list of Wagn Features are at Wagn.org.


Cards that are included in other cards can be rendered in a few styles. When cards are rendered in collapsible form, they can be expanded by clicking on the Open Card button and collapsed by clicking on the Close Card button in the card's title bar. (For accessibility, if your Web browser does not have JavaScript enabled, you can always go directly to a collapsed card by clicking on the Open Card button in that card's title bar.)


When editing, you can link to other cards in the conventional MediaWiki style of surrounding the link in double-brackets:

  • [[Welcome]] renders as a link to the Welcome card with the text "Welcome."
  • [[Welcome|Go to the Welcome card]] renders as a link to the Welcome card with the text "Go to the Welcome card."
  • [[http://thornton2.com/]] renders as a link off-site with the URL as its text. In this case, the brackets are not required, as all URLs are rendered as functional links.
  • [[http://thornton2.com/|Thornton 2 Library]] renders as a link off-site to thornton2.com with the text "Thornton 2 Library."

More to come.


You can spot the cards you're permitted to edit if your Web browser has a universal edit button feature or extension available. Because this site uses cards embedded within cards, the universal edit button shows you your edit permission only for the root card of the page you're viewing. If JavaScript is enabled, point the mouse arrow to the Card Options button on any nested card's header bar and choose "View -> Page" to make it the root card. If JavaScript is disabled or unsupported, click on the Open Card button or the Close Card button on any nested card's header bar to make it the root card, or follow the card link in the list of cards at the bottom of every page.