I know I’m coming to this thread rather late, but I actually have run usability tests comparing a WYSIWYG editor (iWeb) to a non-WYSIWYG editor based mostly on markdown.
Here’s what I’ve found that users struggle with when using markdown:
- Tags that require character-level precision. For example, a user’s inclination is to put a space between the square brackets and parentheses when making a link–but that doesn’t work. Likewise, lists only work when there is a space after the asterisk or dash.
- They get paragraphs fine, but users are often inclined to use a single linebreak (when formatting an address, for example) and these are ignored if you don’t add two spaces to the line before. Not intuitive, and those two spaces are invisible.
- More complicated tags, like for links and images, slow them down more than simple ones (like for strong and em)–but they can eventually get it if there’s a helpful guide.
- Users are often not confident that X will work or unsure of exactly what it will do.
- Users don’t always understand paths, directories, files, file extensions, URLs, etc. This makes making links and images difficult.
Here’s what I’ve found helps:
- Provide a clear and explicit guide to markdown
- Tell them they are using a markup language
- Style the text field so that it doesn’t look like a WYSIWYG field (eg: use a fixed width font)
- Consider syntax highlighting
- Be clear about any situations that are counter-intuitive or require attention to detail
- Provide a preview option (it doesn’t have to be real-time, but it must be easy and unobtrusive)
- Depending on the application, consider tweaking it slightly (like allowing a URL like www.example.com and adding http:// automatically)
- Give them an idea of why this is important. Explain that semantics and presentation are separated in web design, and that computers generate bad code–so they are helping the program understand the semantic structure of the document.
I was surprised to find that people were mostly getting it, with no guidance from me and just a short guide to the markup language. In a study with 22 total users, the average satisfaction was slightly lower for iWeb than with my application.
If you’re talking about an entire WYSIWYG web design program, not just a little widget for text entry–they’re not as usable as you’d think. There are so many little details, and so much can go wrong, even when the interaction is supposed to be intuitive.
Caveat: my participants were all college students of varying technical skill levels, but they were all more tech-savvy than the average user. They were also being compensated for their time, which may account for their interest in the task.
Edit Almost all of the above issues have been improved by the stuff in the second list. The only one I’m still really struggling with is the single linebreak problem.
When you say non-technical: there’s a huge difference between non-programmer and 90% of the non-technical users out there.
A surprising number of users (I think it’s around a third of everyone on the web) can’t scan text – they will use their finger on a page to read and will lose their place if forced to scroll.
These users will struggle with even simple WYSIWYG, never mind any sort of markup.
A good article on the issue is: http://www.useit.com/alertbox/20050314.html
I’d recommend taking a look at that site for most usability research like this.
If a user is struggling to understand the I-bar and caret they’re never going to understand any sort of meta-information.
On a largeish project, I thought textile would be simple enough for non technical users. It turns out I was wrong, and my clients just couldn’t cope with it at all. The problem eventually became so severe that they replaced my whole system. The system I spent 8 months building.
Live and learn. To be honest, I don’t think Markdown is easy enough for TECHNICAL users. The problem is it gets applied to content entry forms without informing the user that it’s going to be filtered through markdown. Text gets mangled, and there’s no way to know what happened unless your eyes are sharp enough to notice some tiny note somewhere.
There’s a dozen of these different markupish languages with slightly differing semantics, and each one is a whole new set of things to learn. You come to a comment form, and who the hell knows what’s going to happen? is it textile, markdown, bbcode, how on earth do I make a link? It’s a mess.
Well there you go. Two data points. A client couldn’t cope with it. I can’t cope with it. The only reason I have any idea what’s going on here on stackoverflow is the gui buttons. and the realtime preview.
@tj111 a cheat sheet helps me, but it didn’t seem to help anyone else. I’d even pointed it out numerous times, but it just didn’t seem to take hold. I ended up doing all the textile myself.