Almost All WYSIWYG Text Editors Suck?
By Adrian Sutton
One of my keyword watch-lists pointed me to Matthias Ernst’s entry, A long term suspicion:
An observation: almost all WYSIWIG text editors suck at some point. We’ve been beaten up repeatedly for our CMS’s text editor but in comparison we’re actually doing pretty well.
Writing a good WYSIWYG editor is hard. Most people think it’s a trivial task until they actually try it and start getting user feedback about a million different things that they never thought about. That’s also why there are so many bad WYSIWYG editors out there – people start them thinking it will be easy and then find themselves in over their head, unable to keep up with the flow of bug reports, or simply sticking their head in the sand and complaining that the users just don’t get how to use the product.
The writely complaint that Matthias mentions is a good example of blaming the users. Pressing backspace at the start of a paragraph changes it to use a BR instead of creating a new paragraph. This is great if you understand what’s going on because it provides a simple way to choose between a new paragraph and a BR. The problem is that it doesn’t match the user’s expectations – they wanted to merge the two paragraphs. It doesn’t have to be that way though, you just have to focus on what the user’s intention was for each and every action they perform.
As for Matthias’ suspicion:
Which leads me back to a long-term suspicion of mine: the base abstraction is wrong. A long time ago computer science decided that documents shall be trees. Things started to go down after that…
Not so. In fact, the Swing text APIs are far more based on an attributed text array than on a tree structure (as I’ve previously noted). There is a tree structure present, but it’s a secondary structure to the text array which brings it much closer to the user’s mental model of the document.
The bottom line is that if users are complaining about your editor, then your editors sucks and it’s probably costing you sales or at least making the sales cycle much longer and more difficult. You need to invest a lot more in your editor, either more developers on your own in-house editor or by spending more on a better 3rd party editor. Either way, you owe it to your users to make the editor in your product pleasant to use – in most products, it’s the place where users spend most of their time1. If your editor is painful to use, your product is painful to use. Don’t let the fact that most WYSIWYG text editors suck as an excuse for yours sucking too.
1 – most products revolve around some kind of editor, even if it's not a text editor↩