BBCode to HTML conversion is usually done on server side thus at least one server request is required to display the result. BBCode2HTML is a JavaScript function implemented to do the conversion on client side so the result can be previewed without hitting the server. Supported BBCode tags and a live preview example can be found at BBCode Editor page.
BUEditor, sometimes, is criticized to have a too simple interface having ugly buttons. Having no counter-arguments, I can only show how BUEditor can be themed in order to achieve the desired look.
The below is a demonstration of a themed interface of BUEditor's default editor, which has become very hard to be recognized as BUEditor. The buttons and the style is borrowed from the popular WYSIWYG editor: TinyMCE. Hopefully, its interface is not criticized too much.
JsAutoP is the JavaScript equivalent of the PHP function described at Matthew Mullenweg's website. The PHP function is a part of Wordpress code, which is used to convert new lines to HTML line breaks and paragraphs inside user entries. A similar function is also used in Drupal for the same purpose.
TMCE is my interpretation of how TinyMCE WYSIWYG Editor should be integrated into Drupal.
This project will not be officially available among Drupal projects since there are already modules (tinymce and tinytinymce) managing the same task.