Treating User Myopia

The problem i see is two-fold. First, users are not going to do what you want, are not going to read your help text, and do not care to learn Markdown or anything other than the answer to their specific question. Second, YOU are expecting users to care about what you care about.

You can not change the first, but you can change the second.

“More and more, I’m thinking we need to put the formatting help – for new users only – directly in their line of sight.”

It only means you still didn’t get it. Life is short and user don’t have time to read your formatting help, Joe’s formatting help, my formatting help, etc.

You have unrealistic demands, flawed UI, you have a problem, not a user.

Did user use one, single formatting layout code? No --> this means you should add at the beginning and at the end implicit . Yes --> don’t add it.

Problem (with your site, not with user) solved.

There’s a really, really simple solution to this problem: Treat the user’s Return or Enter key as the end of a line or paragraph. Just like every word processing program on God’s green earth.

Most Content Management Systems bone-headedly persist in using body text with breaks rather than paragraph markers - HTML styles exist for a reason, and there’s no reason any text should not have a style instead of using the default body style.

You fail at understanding usability when you:

  • Design a system that goes against known conventions, which is either WYSIWYG or plain text (which in essence is also WYSIWYG)

  • Have to provide a “preview panel” just to show how things would look

  • Require a sidebar full of cryptic comments to explain how to enter a bloody question. Even worse is to place it in the ad section

  • Blaming it all on user myopia, completely failing to recognize that users do not care and do not have time to learn your website. Usability rule #1: users spend most time on other websites, not yours. They expect things to work the same everywhere. Users are not stupid or lazy, instead you failed at this design task.

  • Come up with a solution that makes it even worse: placing the help that users do not want and should not need in an editable area.

  • Have read and even recommend the book “Don’t make me think”, yet still fail at all of the above

StackOverflow rocks, and is in many ways very usable. However, you are way off in this particular case. The other commenters only support that.

In case anyone missed it, John Gruber (created markdown) has responded to this blog post. he says

"I never intended for it [Markdown] to be used by people who don’t actually know the Markdown formatting rules. I created Markdown for my own use, and, well, I know the formatting rules pretty well.

For use in situations like user-submitted comments, GitHub Flavored Markdown is a superior variant. It changes just three rules from regular Markdown, all of which make for a better set of formatting rules for people who don’t even know the rules."

These changes to the formatting rules would have pretty well eliminated the issues with Atwood’s example.

This post reminds me of a South Park.

http://www.southparkstudios.com/clips/104226/

Priest 1: We’ve got to stop these boys from going to the public!
Priest 2: Yes, they’ve got to learn to keep their mouths shut!
Father Maxi: Right and so… Wait a minute, what?
Priest 3: Yes, but we need to find out why these children are suddenly finding it necessary to report that they’re being molested.

I remember contributing to the discussion about what editor to use for Stackoverflow.com, and giving WYSIWYG a +1. It’s such a shame that Markdown got chosen over something like FCK - when you force a user to read a formatting guide just to post a damn question, you know you’ve let them down. Users aren’t idiots, nor are they myopic; they’re guided by the UI presented to them and if they aren’t doing what you want them to, then it’s your code and layout that need to change, not them. Suggesting otherwise (and I’m talking about your comments above, Jeff, not the original article text) is insulting and smacks of egotism.

I’m sorry, but you’re completely wrong.
Any text input field where line breaks are ignored is just broken and unbelievably dumb.
No amount of geeky, confusing small print will cure that.

If I were a user there, I’d maybe read the instructions, go “WTF,” and either go away, or just keep typing the way I was, boycotting your proposed solution. Because it’s unacceptable.

Using two spaces at the end for line breaks is a very, very bad idea: I can’t even SEE if I’ve put those two spaces in or not!

And then there’s the thing about the way the instructions are worded. No sentences, no punctuation. “don’t want colorization? use to linebreak use two spaces at end > blockquote.” What belongs together here? For a full ten seconds, I thought you had to use “” for linebreaks. By the way, is “linebreak” even a verb?

I enjoy reading your blog because it explains how to program for humans. Not in this case. Not in this case at all.

Jeff, you’re not doing so bad. A little wisdom from Alan Cooper:

"Perpetual intermediates know how to use reference materials. They are motivated to dig deeper and learn, as long as they don’t have to tackle too much at once. This means online help is a perpetual intermediate tool…

“Your product’s code must provide for both rank amateurs and all the possible cases an expert might encounter. Don’t let this technical requirement influence your design thinking. Yes, you must provide [advanced] features for expert users. Yes, you must provide support for beginners. But in most cases, you must apply the bulk of your talents, time, and resources to designing for the perpetual intermediates.”

(from About Face 3, the end of Chapter 3: “Beginners, Experts, and Intermediates”)

There are so many different standards, and your website is not the center of my universe.

Yesterday, I posted an answer on Stackoverflow. And I correctly used markdown to highlight words. I could, of course, see the “realtime” rendering as I typed. It looked like I was a pro.

Today, I posted a comment to the same answer. My fingers automatically reverted to BBcode markup. Comments have no “realtime” preview, just a character countdown. Moments after posting, I saw the formatting problems. Looked like I was a rube.

Why?

  • Because I can type in anyone of half-a-dozen toy markup languages

  • I do not spend all day on one site, so don’t always default to the markup that site requires

  • Stackoverflow has an inconsistent interface that shows be previews of one type of text box, but not of another

  • Stackoverflow gave me no way of recovering from my false starts (comments may be editable, but not by low-reps like me)

When you’re a real developer, a software developer, you don’t need to waste some time thinking about what they’re gonna look or not, that’s for web programmers…

On my netbook, the preview is off the screen.

There is no silver bullet for this sort of thing. The best you can hope is to gather data and refine, refine, refine. May I suggest A/B testing? (http://en.wikipedia.org/wiki/A/B_testing)

Never try and teach a user to think. It wastes your time and annoys the user.

Why don’t you just make it a 2 step process?
Step 1 - enter question
Step 2 - confirm question (as it will be shown on the website)

Jeff,

You blame your users for disregarding your instructions. Yet you disregard the overwhelming crowd telling you that you are doing things the wrong way. Look back at the comic strip you posted earlier. Is it really your users that is the dog or is it yourself?

Blaming your users do not make you wise, it makes you stubborn and arrogant. If you do have a problem of users repeatedly making the same error (which you obviously do, otherwise you wouldn’t have made this post) then please, do deal with it.

You’ve previously praised the Pareto Principle for being an excellent method of dealing with programming errors. Instead of limiting it to programming, why not apply them to your own human errors? If your users have issues with spelling, as many people do these days, do you penalize the user? or do install a spell checker?

While it’s certainly true that users do split up paragraphs with two line breaks, lists aren’t paragraphs. No-one (not even you) would break up a list like that.

There’s an age-old saying. It reads: “The customer is always right”. If you do not accommodate for your users, they will take their business elsewhere.

How about this:

“It looks like you’ve started a list. Would you like our automatic electronic monkeys to format that for you?”

Etc.

The book Don’t Make Me Think comes to mind, too.

If you do not accommodate for your users, they will take their business elsewhere.

what business? This is a free site.

Frankly, screw the user. If they can’t be bothered to take five seconds to read what’s right in front of their faces, why should we bother to care about their problems?

The “How to Ask” section looks like ads and/or is in the space that ads would be.

ps: smart idea would be, if there is no formating tags present, toss some pre tags around the whole post.

Jeff,

I think you made the right choice going with Markdown. WYSIWYG editors are heavy-handed and difficult to use if you are after very precise markup. Markdown, I think, gives one the best input-to-output turnaround experience if the you are willing to follow a few simple rules.

Also, you don’t want to be in the business of allowing users to potentially violate the layout of your site with improperly formed HTML.

Another thing I believe is that most users DO follow your instructions on how to use Markdown. I’ve found the instructions to be very intuitive. There will always be a small portion of users who do not read any instruction at all. Please don’t mistake those people for the majority. Remember, the majority is silent in this case because the paradigm works for them without any problems.