This essay tries to correct some widespread myths about WYSIWYG editing of wikis.

Wiki editing for newbees

edit
  • The main attraction of WYSIWYG editors for beginners is the familiarity of the user interface and not needing to know any wiki markup
  • But the actual process of editing is more complicated and difficult in WYSIWYG editors - they hide essential parts of the article and make it available and editable only through separate edit forms or windows
  • WYSIWYG deprives advancing editors from becoming familiar with the more powerful and faster markup-based editing
  • The answer to lower wiki editing barriers for beginners is not a dogmatic WYSIWYG editor, but a user interface that combines the best features of both worlds:
    • A familiar interface with icon buttons and tooltips as a quick help
    • Showing the complete article content
    • Formatting feedback through markup and structure highlighting
    • Interactive and fast on-page preview of the complete rendered text including templates and references
    • Learning by doing - becoming familiar with wiki markup and structure while editing

WYSIWYG hides content

edit

WYSIWYG editors have to hide essential parts of an article from the editing field. This is especially a problem for links, by far the most common wiki elements, for which only the link text, but not the actual link target is visible.

A WYSIWYG editor also hides templates and references that are used to organize article content, especially on Wikipedia. This can make it difficult to locate the correct template or reference and to change its content.

 
A WYSIWYG editor hides link targets, templates {{T}}, and references <R>.

WYSIWYG has built-in technical problems

edit
  • WYSIWYG editors have inherent problems with preexisting incorrect wikicode. This can make whole articles or sections disappear from the editing field. This can lead to user confusion and recreation and duplication of the already existing but hidden content. Moreover, incorrect wikicode can also lead to article corruption by erasing parts of an article without any warning.
 
Demonstration of incorrect wikicode that hides or erases article content in WYSIWYG editors, leading to article corruption.

Facts and WYSIWYG

edit
  • Many people believe that WYSIWYG editing is easy for beginners, but hard evidence for this is lacking. Most probably the opposite is true: It was not the wiki code that posed problems for children introduced to wikis. The main problems were it was the general concept of hypertext authoring with interlinked pages as well as wiki implementation faults and a lack of integration, e.g. for embedding images.

wikEd

edit

A common feature request is to make wikEd a true WYSIWYG editor.

While this sounds like a good idea at first, it is actually a step backwards. It would be very simple to add WISYWYG for the basic formatting like bold or italic. But for even slightly more advanced formatting things turn complicated:

  • A true WYSIWYG editor has to hide and encapsulate any existing wikicode from direct editing
  • Therefore, images, tables, templates, wiki links, external links, and even simple span or div tags with parameters, need a separate (popup) editor to edit their hidden content
  • Pasting formatted text screws up formatting, especially the heading order
  • Existing, syntactically incorrect text on the page can disappear from editing, and, in the worst case, get lost on saving and/or corrupt the existing article text.

Under real-world conditions with typical wiki content, WYSIWYG editing is more confusing and time consuming than the simple wiki-way of structure-oriented editing. This can be seen in the true WYSIWYG editor implementation FCKEditor (copy the text from a typical Wikipedia article and click Rich Editor).

wikEd tries to bring together the best of both worlds in something also known as WYSIWYMwhat you see is what you mean:

  • A simple (MS Word-like) user interface with advanced text editing features like search and replace (also good for learning the wiki code)
  • The structure-oriented classic text field, peppered up with syntax highlighting and on-page preview

See also

edit
edit