Rich Text Editors (and Microsoft Word) Must Die

Rich text editors, by which I mostly mean the WYSIWYG text editors that allow people to create formatted HTML, are a blight upon the internet. Every application I have ever seen that included a rich text editor resulted in the creation of eye-bleedingly hideous content. Take this average example of what happens when information workers get their hands on a WYSIWYG editor:

image

Now doesn’t that make you want to cry?

This is not an edge case. Content creators consistently give birth to these monsters and no amount of gentle (or rough) cajoling will help. It’s not their fault, they only do what comes naturally and what they should be expected to do. It’s our fault for providing tools with inherent flaws.

Why Does This Happen?

We include rich text editors in applications because they provide instant visual feedback, giving the user a feeling of power and control. But it’s like giving a light saber to a two year old. What follows is my list of reasons why rich text editors must die.

When Everything Is Highlighted, Nothing Is Highlighted

This is the most common and acute symptom or rich text editors. Authors wish to highlight an important point, so they make it bold. But of course the other things they have to say are important too. All of which leads to the truly important idea. By the time they are done, nothing stands out.

I Know It When I See It

A moderately talented information worker is capable of examining published material and expressing an intelligent opinion on the effectiveness of the design. They intuitively ‘feel’ when a design works, but this does not translate into an ability to create good design themself. When it comes to their own work their design-dar is completely useless. The majority of the people creating content do not have the skills to present that content with good design.

Shotgun Surgery

Shotgun Surgery is a software development anti-pattern described as “making a number of small changes to a number of different areas in the code, in order to effect a single, coherent change in behavior”. This situation arises in content formatting if the content creators have been able to include formatting within their content. Imagine having a library of thousands of help files and wanting to change the heading font. If the authors have individually set the heading fonts in each document then you have a big problem.

Consistency

Related to shotgun surgery is the difficulty of enforcing consistency when authors are able to format content themselves. Writing about his experience with documentation in his workplace, Jon Combe discussed:

inconsistencies between documents that make styling and branding across documents a project in itself.

Information Loss

When text is saved as HTML information is lost. Automatic operations against the content becomes difficult. Consider the common example of searching documents. Its easy to search text but searching HTML is tricky. You first need to extract the text from the markup. It would not do to return thousands of results for ‘div’.

Consider the merging of documents. It’s easy to merge text documents programmatically. Merging HTML is problematic because the merged document may be semantically incorrect or malformed. Merging Microsoft Word of PDF documents is close to impossible.

Separation of Concerns

As programmers we know that we should not mix orthogonal concerns, such as content and presentation. They should be defined separately and they should be able to vary independently.

Some Ideas That Almost Work

The democratization of content creation and publishing is one of the drivers of the current technology revolution, so this problem cannot be solved by taking away their crayons. But what if we took away just the coloured ones? Here are some strategies in use today that reduce, but don’t solve the problem.

Reduced Formatting Options

Reduce the text-editor gone mad by disabling as many of the formatting controls as you can get away with. The less power authors have, the less damage they can do.

Reduce Formatting to Styles

The logical conclusion of reducing formatting options is to prevent all formatting other than the application of CSS styles. This actually solves a number of my objections to rich text formatting (but not all).

But What Can I Do?

imageStep away from the black pit of despair, for their is a solution.

Create Content Using A Semantic Text Language – Such As Markdown

Markdown is an easy-to-read, easy-to-write lightweight markup language. It is extremely close to plain text, with just the most basic formatting commands included. It encourages authors to focus on content and leave presentation as a separate step.

Jon Combe described why markdown (or similar) is the best solution to the rich text editor blues:

Anyone, technical or otherwise, can work with it, we can edit a stylesheet once and keep all documents looking consistent across the product range, and use it to export to HTML and PDF (via pandoc). Sure, Word can do the above, but at the expense of ugly, bloated HTML and inconsistencies between documents that make styling and branding across documents a project in itself.

Jon publishes a markdown editor that you can use to experiment with the syntax. If you use GithubStack Overflow or FunnelWeb then you have probably already used markdown.

This is an option that will not be popular with users. They WANT full control over the presentation of the document they are creating because:

Like most medicine it might not taste good at first, but the benefits are enormous, especially to organisations that publish large volumes of material.

I have a dream that one day we will see the end of rich text editors, Microsoft Word and their kind.

I have a dream that one day the overzealous formatters and the semantic text aficionados will be able to sit down together at the table of brotherhood.

 

PS. I feel a tad guilty about appropriating one of the twentieth centuries greatest speeches to make an insignificant point about content creation, storage and manipulation. To salve my conscience here is a link to the full text of Martin Luther King’s I Have A Dream speech. Read it.


Comments

Comments are closed