WYSIWYG editors fail because they conflate formatting with content. I refer to this phenomena in shorthand as "WYSIWTF".

I used to love Atlassian's Confluence product.


Direct access to simple markup allowed me to be productive in writing documentation, to think about the content rather than the formatting, and to do powerful macro invocations because it was documentation as programming.


Then someone decided that the Confluence WYSIWYG (so-called "What you See is What you Get") editor shouldn't be a mere convenience, that its content preview shouldn't be an optional sanity check, but that rather adopters should be forced to write in the WYSIWYG editor.


The problem with WYSIWYG editors is that they are horribly complicated. They impair thinking first about content because you're paying the formatting friction the whole way and yet it's really, really hard to get the resulting content formatted well.

The Confluence editor is no exception to this, but then it wouldn't be -- it's hard to make up in tactics what you've lost in strategy.

Anyway, they're not WYSIWYG editors, because you don't see what you get, and you don't get what you see, and anyway you'll produce garbage markup every single time. They're WYSIWTF editors -- "what you say is WTF" -- because instead of being able to dig into a sensible language that's about content, the best case is you get to fight with HTML and the worst case is you're just unable to troubleshoot effectively and give up in despair.

I'll revisit this post from time to time when I can't take it anymore and have to vent about some particular WYSIWTF editor fail.

Cover photo: from airflore on flickr under CC-BY-NC-ND-2.0.