WYSIWYG has no place on the Web, time for WYSIWYM

Tuesday, November 30, 1999

I'm coming clean and making a stand, it's time for WYSIWYG to die. It's a dated interface device that was developed in a time where unconnected computers outputted stuff on paper. And even though computers are now connected its purpose is still to allow a computer operator to compose something meant for printing. So what the hell is it doing in your CMS?

This is what got me all hot and bothered:

"Users like WYSIWYG because they care about how something looks and not the quality of HTML produced. The Dojo Editor provides What You See Is What You Get (WYSIWYG) and not What You See Has A Semantic Meaning Which May Or May Not Be What You Get (WYSHASMWMOMNBWYG)."

I was amazed! How could a group of progressive developers expound a view that is so dated and incongruous with the underpinnings of the web. For Shame!

This is a common problem: how to let the content owners publish stuff

I'm an intranet developer and this is a common problem: how to let the content owners publish stuff on the intranet without having to learn HTML. The quickest answer is always "Hey they can use Word, lets give them a tool that works like Word but produces HTML.". Sure it takes the pressure off a sticky problem but it's not the solution. You open up a hole in your standard template to allow chaos to reign:

Javascript rich text editors all suck

I've played with a few of the javascript rich text editors and they all suck. The default editors from the browsers produce the most woaful HTML of the style we were used to 5 years ago. It is so bad that the javascript packages have to rewrite most of it to just be legitimate XHTML, let alone actually usable. <font> tags, <blockquote> for indenting, IE will use <strong> while Mozilla will use <b>, and it get's worse. Look at the crap these editors produce:

<p dir="ltr" style="MARGIN-RIGHT: 0px">
<font style="BACKGROUND-COLOR: #33cccc" color="#99cc00">
<font face="Comic Sans MS" size="3">
<table width="200" cellspacing="1" cellpadding="1" border="1" align="">

I mean how can anyone put up with this? Who wants their information enclosed in legacy tags for ever more. Yes, the tags can be manipulated after the fact, yes you can create a style manual to ensure ocnsistancy, but an important lesson is lost.

The word processing generation

At work I'm constantly up against what I call the word processing generation. The crowd who believe that a document is a single file you type up in a word processor, store on a file server, email to collegues and print out for distribution or faxing. Apart from word processors being the spawn of satan (that's a whole topic by itself), it represents a whole generation who believe that content, layout and style are one and the same thing. It's ingrained and extremely hard to break. Hence the demand "I want to add stuff like I do in Word". These people use Word for everything.

And it sells! If you have a commercial CMS a WYSIWYG content editor is a must have, it makes the word processing crowd feel comfortable. They don't have to change their world view of how information is composed and distributed. But the web is just not like that.

Seperation of content and presentation

The web is all about seperation of content and presentation. The web has taught us that information needs to be aggregated and connected and usable, the presentation is arbitrary and on a contextual basis only. WYSIWYG content editors contribute to the continutation of the flawed view of information of the word processing generation.

On intranets and websites the information must be kept free of it's presentation. I mean this is not a new idea, web gurus have been teaching us this for years, but when up against the content creation problem people still fall back to the old WYSIWYG content editor and just give up.

WYSIWYM

What I want is, an improvement to the label given by DojoToolkit; "What You See Has A Semantic Meaning Which May Or May Not Be What You Get (WYSHASMWMOMNBWYG)", WYSIWYM, What You See Is What You Mean. And contrary to the Dojo label what you get is EXACTLY what you mean, wherever it is used.

I've had a quick go using FCKEditor on an intranet application for a controlled document library. Now the security, validity and authority of these documents were the numer one motivation. But it meant I was able to sell the idea of controlled presentation to the boss. So this is what I did:

It works fairly well and it allows me to do interesting things:

But it's not enough. Take a look at the Elements of Meaningful XHTML and Microformats presentation given at WE05. That's what I want my WYSIWYM editor to produce. And then a tool to allow presentation to be applied to content on a contextual basis. This tool could read the content markup and allow stylesheet definitions for semantic elements. This is the basis for all good web design, but at the moment, to be a semantic markup purist, you have to edit by hand. The tools are not available; they seem to be stuck in the quagmire of the word processing view of the world. Users ask for it, developers provide it to them, they never need to change so they keep asking for it and so it goes round. But, it's been said before that hypertext will change the way people think. Hopefully the WYSIWYG crowd will change too.

5 Comments

#1
On the November 27, 2005, rosemary wrote:

Interesting. Reminds me of my pet hate. People sending me Word files as an email attachment when there was no reason the text couldn't be just in-line - part of the email. I think there is some WYSIWIG psychology at work but I'm not sure what it is! There is an assumption that everybody has Word installed.

#2
On the November 27, 2005, Andrew wrote:

I know! I just want to read the text I don't want to bloody have to open yet another app just so I can read the bloody text!

#3
On the May 3, 2006, Daniel LaLiberte wrote:

As a developer who started back in the batch processing days, I always pushed for more interactivity, greater degrees of direct manipulation, and we have made a lot of progress.  

Along the same lines, I see WYSIWYG editing as the correct way forward, so I am surprised and intriged to see this counter-force in the opposite direction. Although I accept your concern for abstraction and modularity (MVC is cool), I believe there should be some solution that also allows end users to work with the end result, and not be forced to see layers that are irrelevant to their thinking.

People do tend to think concretely, and hypertext will indeed begin to change the way people think. But I am reminded of an editor in which the way to specify a hyperlink was as blue underlined text.  

It will take time, but it will also require some new ideas to make it easier for people to think abstractly while they act concretely.
This is analogous to "Think globally, Act locally"  - http://www.w3.org/QA/2003/07/LocalAction

#4
On the May 31, 2009, Rick Knight wrote:

You are so right that WYSIWYG editors suck hard. I regularly build custom CMS's for my clients and have gone through a couple of commercials rich text editors and tried a bunch of free ones. 

In the end I've given up on them and have built my own simple HTML editor that has a toolbar of Javascript functions that just insert or surround selected text with appropriate XHTML tags. A preview button allows and instant view of how it will look.

Originally this was a tool I built for myself but I've decided to replace the editor I was giving to clients with this one. Surprisingly most clients can actually deal with this OK since they don't have to remember any HTML and just learn to put stuff between the tags. Most content they can edit contains minimal HTML anyway (just a few div's, class tags and the occasionaly image or link). For each client I add a custom list of code snippets specific to their site. 

It works out to be less hassle to give them a half hour of training on this tool than have them screw up the site or get themselves tied in knots when the buggy rich text editor refuses to let them break out of a formatted block or won't add a new bullet point etc.

#5
On the November 18, 2009, Andrew wrote:

There is a way around it. Once i made an editor without using editableContent tag or similar. Using pure javascript event handling. In the end i threw it out because my cut paste would only paste plain text. Everyone cuts and pastes from word. Though that screws formatting up. Even paste from word button they complain that they forget you have to click it><. Plus complaints from people downsizing h1 trying to make it look like a paragraph. So on and so forth. a bloody Nightmare.

Random outings from a chaotic mind

The Dexagogo Rocket Australian Web Industry Association logo

Delicious

Twitter