MeatballWiki | RecentChanges | Random Page | Indices | Categories


As described in CheapAndEasyCollaboration, Ward wanted his friends to come and play with ideas. To do so, he needed to lower the barriers of entry to web editing. At that time (1995) you basically had to have a user account and telnet priviledges to a web server, and you would typically use vi or emacs (fairly complex text editors) to edit raw HTML.

Discussed in EasyAccess? and EditThisPage are the issues of accessing pages, but I think Ward also wanted anyone to play in his playground, not just programmers. This meant that he needed SimpleTextFormatting. As he knew that all the members of the [PatternsList] could do email, he knew that all his invitees at least started with that skill set as a base.


To allow as many people with different skills to use his collaboration tool, Ward needed to allow users to create pages using a subset of HTML that was easy to use.


One of the significant issues in 1995 (and to a certain extent today) was that the text_area element in HTML forms is a fairly primitive editor. In fact, until recently didn't handle tabs, didn't do white space or indenting very well, and often didn't handle wrapping very well. Also, early cgi tools and browsers had issues with escaping HTML inside text_areas.


Therefore, Ward came up with a set of CharacterFormattingRules, ParagraphFormattingRules, and some PageStructureRules?. In addition, he came up with some EasyLinkingRules? that are not discussed here, but in the EasyLinking?.

CharacterFormattingRules can exist inside the text anywhere. The most obvious one of these were different forms of emphasis: ''italic'' = italic, '''bold''' = bold.

ParagraphFormattingRules are associated with what a paragraph is, as well as additional types of paragraphs such as indentation, ordered and unorderd lists. For example, newline followed by an asterisk is the start of an unordered list.

PageStructureRules? are similar to paragraph rules, however, are more associated with the structure of the page. In Ward's original wiki, there was only one, the linerule "----". However, in subsequent variants of Wiki, this includes things like headings.


The set of text formatting rules for the original wiki are quite limited - see Wiki:TextFormattingRules. These were sufficient to make what is now quite a large Wiki. Yet there are very few variants of wiki that keep to that that level of simplicity.

Some of the text formatting rules that Ward chose initially were relatively arbitrary, and may not have been the best choices. In particular, his choice of emphasis rules using multiple single-quote characters have not survived very well as the Wiki meme has evolved into variants. I don't believe that Ward was aware of the efforts related to doing limited rich text email in SeText -- if he had I think some of his choices may have survived meme variation better.

Ward was also limited in his initial choices by the problems related to the text_area element in forms. In particular, early browsers didn't allow very much text in text_areas, limiting the size of text areas. That might explain why he did not include very many PageStructureRules? in the original Wiki. Also, indenting of text was difficult in early text_areas (and to some extent still are), and it was often very difficult to insert tabs into text_areas with many browsers, thus requiring him (and others) to make more use of spaces for indentation.

It was not a goal of Ward in his text formatting rules for Wiki that the text itself be very readable. The end product was supposed to be the web page, not the text. Whereas SeText, StructuredText, ReStructuredText and Markdown (MarkdownSyntax) are designed such that both can be very readable. As the Wiki meme variants have evolved, a requirement of text readability has become increasingly important as people add new text formatting rules to variants.

In analysis of multiple wiki variants that derived from Ward's original wiki, there appears to be a design tension between having the having the text be easily editable (original wiki), text be readable (i.e. StructuredText), and have the output to web pages be rich (the explosing of formatting rules, every weird variant of table rules, etc.) These design difference show different balance between these three factors: some people needed the text to be very easily editable (mainly new and inexperienced users); others wanted the "text" to look good, and got frustrated by it (typically more programmer types); and others wanted the web pages to look good and were constantly trying to find various TextFormattingRules to get it to do what they wanted, but when they were done the other two types of people had problems.





MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions