BBcode, BBcode formatting bar, and quickkeys

BUEditor, Bbcode, BBCode Formatting Bar, BUEditor, quicktags, and PEAR Wiki Filter all support a code-based editing experience. Rather than create a pseudo-WYSIWYG editing experience, they instead offer an experience of mixing ASCII text with markup codes indicating formatting. There have been several markup codes developed which are supposedly simpler than HTML, and the Drupal community has developed support for several of them.

I find this whole code editing experience to be a throwback to the 1980's and earlier. In the 1980's the editors were simple and one edited plain text and indicated formatting using special codes interspersed in the text. The WYSIWYG editing concept comes from the same time period and really is a drastic improvement to the editing experience. In a way all these different markup codes are simply different variations of the same crusty old idea which we'd left behind in the 1980's.

In any case there is a practical consideration. The pseudo-WYSIWYG editors are generally not very satisfying. They tend to have usability problems or not supporting editing text stored in Drupal's traditional format. The advantage of a content management system, or blogging or wiki system, is that the user can edit the web content with nothing more than a web browser. If the only way to edit web content was by requiring purchase of commercial WYSIWYG editors like DreamWeaver, that would greatly limit the impact of the Web.

There's also a consideration of compatibility with other content management systems. For example many forum systems use the 'bbcode' markup, and if you have a set of users accustomed to bbcode then they might appreciate having the ability to enter their accustomed codes. Similarly you might have a body of content entered into a wiki system, for example you might be drawing content from the wikipedia, and having support for wiki markup can help.

The BBCode Formatting Bar make it easier to enter text using BBcode codes.

BUEditor also offers buttons which make it easier to enter codes. This module is more useful in that the administrator can configure additional buttons.