I try not to talk too much about the trilogy here, because there's a whole other blog for that stuff. But some of the lessons I've learned in the last year while working on them really put into bold relief some of my earlier blog entries on usability and user behavior.
One entry in particular that I keep coming back to is Teaching Users to Read. That was specific to dialog boxes, which not only stop the proceedings with idiocy, but are their own delightful brand of user interface poison. Fortunately, you don't see dialogs in web apps much, but this sort of modal dialog lunacy is, sadly, becoming more popular in today's AJAX-y world of web 2.5. Those who can't learn from history are doomed to repeat it, I guess.
Having five more years of development experience under my belt, I no longer believe that classic Larson strip is specific to dialog boxes.
The plain fact is users will not read anything you put on the screen.
What we're doing with the trilogy is not exactly rocket surgery. At its core, we run Q&A websites. And the most basic operation of any Q&A website is … asking a question. Something any two year old child knows how to do.
When we launched superuser.com, that was our thirdfourth Q&A website. This one is for power users, and it's the broadest to date, topic-wise: anything dealing with computer software or hardware (that isn't gaming) is allowed.
We've been at this for over a year now, doing nothing but relentlessly polishing and improving our Q&A engine based on community feedback. We're not particularly good, but we do try very, very hard not to suck. I thought surely, surely we must have something as simple as the ask question form down by now.
How foolish I was.
Let's take a look at one recent superuser question. I'm presenting it here as it would have been seen by the user who asked the question, while they were entering it on the ask question form.
Immediately, there's a problem. The question formatting is completely wrong! It's one big jumble of text.
Our formatting rules aren't complicated. You can get a lot done with a bunch of simple paragraphs. We use Markdown, which offers basic formatting conventions that ape ASCII conventions. On top of that, we offer a real-time preview of how your question will look once submitted, directly under the question entry area. But none of that seemed to work for this particular asker, who, apparently, was totally satisfied with obviously broken formatting -- even though a few choice carriage returns would have worked wonders, and been immediately visible in the live preview.
Yes, yes, it inevitably gets whipped into shape through the collective efforts of our legions of community editors -- but that's not the point. It's best if the original asker gets the question formatted right to start with, and it is our job as UI designers to make that outcome as statistically likely as we can.
To that end, we've put a bunch of helpful tools on the ask question page to help users get the formatting right. As UI designers, here's how we see the ask question page:
We've provided a toolbar with a neon pink help button above the question body, and to the right of the question body, we've provided a handy formatting quick reference with a link to the full formatting reference (which opens in a tab / new window by default).
But none of that matters, because here's how the user sees the ask question page:
Or rather, here's everything the user doesn't see.
When I said users don't read anything you put on the screen, I was lying. Users do read. But users will only read the absolute minimum amount of text on the screen necessary to complete their task. I can't quite explain it, but this kind of user myopia is epidemic. It's the same problem, everywhere I turn.
How do we treat user myopia? How do we reach these users? The ask question page is already dangerously close to cluttered with helpful tips, but apparently these helpful buttons, links, and text are all but invisible to a large segment of the user population. Sure, you could argue that Super User tends to attract less sophisticated users, but I see the exact same problem with programmers on Stack Overflow. As new users, a significant percentage of them can't figure out how to format code, even though there's not only a toolbar button that does it for you, but help text on the right explicitly describing how to do it manually. (Just indent 4 spaces. Spoiler alert!)
More and more, I'm thinking we need to put the formatting help -- for new users only -- directly in their line of sight. That is, pre-populate the question entry area with some example formatting that is typical of the average question. Nothing complicated. But at least then it'd be in the one -- and apparently the only one -- place myopic users are willing to look. Right in front of their freakin' faces.
The next time you're designing a UI, consider user myopia. You might be surprised just how myopic your users can be. Think long and hard about placing things directly in front of them, where they are not just visible, but unavoidable. Otherwise they might not be seen at all.
| [advertisement] JIRA 4 - Simplify issue tracking for everyone involved. Get started from $10 for 10 users. |
Why not abandon the markdown editor and a "rich text" editor instead?
(Dare I say it? WYSIWYG.)
I tend to view markup tags as programmer's detail. You (as the maker and maintainer of StackOverflow) care about markup, but your users shouldn't have to. Its not our business.
Bill P. Godfrey on October 23, 2009 2:09 AMThat's why you should have relied on a rich text editor, as Bill P. pointed in the other comment...
A wikipedia like approach is nice for technical people, geeks, power users, etc., as soon as you reach more "junior" techies you have to simplify your approach.
Screwturn Wiki for example has both worlds: you have the "plain view" where you place markup, and the WYSIWYG view (also supporting copy+paste of basic HTML). My girlfriend uses the rich view, I use the plain one, and both of us are happy :D
Kartones on October 23, 2009 2:19 AMOne obvious improvement would be to use *single* carriage returns as line breaks. The input looks good by that, the preview doesn't. That's a bug. (Or maybe not, not knowing what will happen the other way around.)
Andreas Krey on October 23, 2009 2:23 AMMarkdown is WYSIWYG -- for ASCII.
Notice that the plain text looks no better in this case.
It'sasifitypedthistoyou.
Itlookswrong.
Becauseitiswrong.
Your "how the user sees the ask question page" screenshot is wrong, because it includes the preview.
Richie Hindle on October 23, 2009 2:27 AMExcept the plain text *does* look better. It at least preserves the newlines between items in the list.
Chris Mear on October 23, 2009 2:28 AMthanks Jeff, the original tutor was a pain to use.
Captcha: "ruby tive" (you can say that again)
jake on October 23, 2009 2:28 AMI believe you have your "here's how the user sees the ask question page" drastically wrong. You should black in the lower half of your transparent section.
Even accounting for users who have Javascript turned off by default and those who don't have their browser at full screen height (count me in both categories) it's still baffling, not unreasonably, to be typing stuff and then find out there's something showing you how it's actually going to end up.
WYSIWYG really is the only way. And to be honest I've never seen the need for 99% of fancy formatting in forums and comment pages - most of the time it just works against people rather than for them (try the dpreview.com forums for some of the worst I've seen, which makes a number of commonly-typed notations ruin the formatting completely).
Better to do away with fancy features and leave people satisfied than throw bells and whistles at it and leave them downright frustrated.
Anonymous on October 23, 2009 2:29 AM"Markdown is WYSIWYG -- for ASCII."
Except it isn't, as your example in the main article perfectly illustrates.
Bill P. Godfrey on October 23, 2009 2:30 AM> It at least preserves the newlines between items in the list.
Those of you referencing the newline issue, please see here:
http://blog.stackoverflow.com/2009/10/markdown-one-year-later/
Jeff Atwood on October 23, 2009 2:34 AMThe text that the user entered is well-formatted. Sure, it's not markdown, but it looks a lot better than the markdown output. Markdown manages to completely miss the numbered list - that's a markdown problem, not a user myopia problem.
Not that I can think of a better solution, but the problem here is the technology.
Michiel de Mare on October 23, 2009 2:36 AM"It'sasifitypedthistoyou.
Itlookswrong.
Becauseitiswrong."
Why are you blaming the user for not realising that they're effectively writing source code rather than a simple message? They're not wrong. Your invisible compilation stage is the wrong bit.
Anonymous on October 23, 2009 2:36 AMDon't blame the user.
If you put useful information where other people usually put advertising, don't expect the user to even glance at it.
I have used stack overflow for some time, and have only recently become aware of markdown. I thought I HAD to use HTML tags to get line breaks.
Better yet, just detect that the user is clearly using plan ascii linebreaks as linebreaks (how obvious is that?), and if so, use line breaks as line breaks!
So this is not a user problem. This is a developer problem. Don't be a problem developer and blame gthe user.
matthais wandel on October 23, 2009 2:36 AMOf course users ignore all the clutter around the edges of the web page. Years of exposure to add-supported commercial websites have trained this useful habit into us.
Fixing "user myopia" by adding more stuff and more highlight around the edges is not the answer. Time is short, attention is precious, and adding more clutter just makes users pay even less attention to all of it.
The only cure that I have found is that after I start to trust a site (e.g. Stackoverflow) I'm willing to come back and pay enough attention to learn its conventions, bells and whistles.
Also, for those of you complaining about the WYSIWYG rich editors -- note that if this user had *clicked the numbered list toolbar button*, it would have converted the text to a proper numbered list. That's WY
Simply pressing carriage return between paragraphs would have also worked absolute wonders.
Unless you write like this, with no carriage returns between your lines.
Personally I find that a bit odd. But is it normal for some users? This certainly does not look correct to me.
Does it look correct to you? Would you type a bunch of paragraphs with no carriage return between them?
There's a certain lack of.. persistence, and exploration.. here.
And I'll remind you it's perfectly possible to create godawful formatting in Microsoft Word, even with every WYSIWYG tool in the universe at your beck and call.
Jeff Atwood on October 23, 2009 2:38 AMHey, I entered a long-ish comment, only to get a submission error.
Not only do you misundestand the user, your site appears to be broken on top of that.
matthais wandel on October 23, 2009 2:38 AM> Don't blame the user.
I won't blame you for not noticing that your comment was in fact posted, then :)
Jeff Atwood on October 23, 2009 2:40 AMPeople won't really read stuff which's in an area where usually ads are.
snomag on October 23, 2009 2:42 AMYour users shouldn't have to learn a formatting language (with a tiny User Manual in a sidebar) to edit a comment. All this user wanted was for carriage returns to appear wherever he hit the Enter key. Why would that be an unreasonable expectation?
I'm expecting (but I can't be sure because there's no preview option) that when I post this comment, the fact that I hit [Enter] after typing "the Enter key." above will be reflected in the published comment. If it won't, I'll be unhappy because I hit [Enter] for a reason.
The primary objective of your comment interface is communication, not good-looking text. Gazillions of plain-text e-mails prove that you can communicate just fine without any formatting. The way it's set up now, you're inconveniencing 90% of users who just want to enter raw text to accommodate the 10% who want to make a word bold or indent their numbered lists properly.
And before I click the Post button, let me say that I don't care one bit which font this comment appears in, so long as people can read it.
OK, I'm a reasonably technical user, but if I was posting on this site and my brain already was fully occupied with the particular problem I was posting about, there's NO WAY I would be able to handle reading and interpreting the 'formatting reference' you helpfully have tucked out of the way on the RHS. It's just a jumble of usage examples that aren't actually examples because there's no indication of the end result. It's messy and completely opaque.
Users expect their posts to look the same as the contents of the box they typed their posts in, and rightly so. If it's otherwise, in any way, it's either the fault of (1) the designer of the site, or (2) the user's browser misbehaving
Anonymous on October 23, 2009 2:47 AMJeff, there is a saying that goes: if one person tell you that you drink to much you can ignore it, if you hear it again, you should think about it. If 3 people tell you that you need to consult a doctor.
The markup is not intuitive by any means, it is only after you use the site for some time, or you were using similar approach before you begin to get used to it. But still is it not right that what you write is not what you see, especially considering that the user has access to the formatting toolbar -very confusing. It was acceptable for stackoverflow, not so much for superuser, that sites are pretty mature now so blaming the user for not understanding the interface in simply wrong. This interface is simply not user friendly for first time visitors
kristof on October 23, 2009 2:50 AMI think the problem in this particular case is that Markdown often ignores single returns. It seems to me that the user is actually trying to use Markdown, but doesn't realize that his text isn't formatted properly because he hasn't put two returns in front of the list, and between paragraphs.
Generally, the post is absolutely correct, though. Users don't read, and it's almost never possible to fix usability problems by adding more explanatory text; that just clutters up the page and makes the whole thing even more confusing to users. Putting a simple example right into the text field is certainly worth a try.
Lukas on October 23, 2009 2:50 AMI guess the big disconnect here is expecting users to put a carriage return between paragraphs; 95% of the original formatting the user wanted would have worked, completely, had he done that one thing. No magic required, really, just basic 'net ascii literacy.
I'll also note that 95% of the above commenters have also put carriage returns between their paragraphs. :)
So the unusual thing, then.
Is to write like so.
With no linebreaks between your paragraphs.
What is this, ee cummings poetry?
The problem I see is twofold:
1) It does not make sense, from the UI design point of view, that you have one place to write stuff, and one place to see how it turns out. If you read About Face, their example with different windows being different rooms fits this case as well. It does not make any sense. Moreover, these two windows are separate, and distant. I always find myself writing something, scrolling down to see how it looks, scrolling up to get the input textarea again, writing a bit more. This is very annoying. The fact that you have to scroll is most likely the reason why a new user does not format at all. It simply does not see the preview area, because its focus is all on the input area and the submit button.
2) Markdown is not intuitive, and does not map well with a TXT ASCII representation, in particular in terms of newlines.
So you have both a UI design issue and a technical issue.
Stefano Borini on October 23, 2009 2:52 AM> The markup is not intuitive by any means,
And yet, Kristof, you put a carriage return between your paragraphs in the above comment. The one very thing the above user couldn't seem to figure out, and the single solitary source of all his formatting issues.
Jeff Atwood on October 23, 2009 2:53 AMI think a better title for this post would be, "How Far Should We Lower The Bar?"
Or, to put it another way, how many ignorant/lazy/stupid users do you want on your website? Seriously, how difficult is it to look 100 pixels to the right (formatting help) to prevent yourself from looking like a dumbass? How difficult is it to look 100 pixels lower (preview) to prevent yourself from looking like a dumbass?
And who browses with JavaScript turned off anyway? It's like buying an ATI 5870 and then playing all your games at minimum resolution and minimum detail. If you have a problem with JavaScript, you have a problem with the Internet, in which case I suggest you GTFO.
"How do we treat user myopia? How do we reach these users?"
By irritating them until they either stop being lazy and learn to read, or get so irritated that they leave us alone. It's a win-win situation; either you reach those users, or they sod off and waste some other community's time.
Ignorance/stupidity/laziness should be punished, not be rewarded by lowering the bar to make it easier for people to act like that.
"I have used stack overflow for some time, and have only recently become aware of markdown. I thought I HAD to use HTML tags to get line breaks."
If you can't read simple instructions - that appear every time you post a question, and that are one click away on any page - I have to question your competence as a programmer.
The_Assimilator on October 23, 2009 2:55 AM@The_Assimilator: Why should one have to read the instructions in order to post? It should be a skill we learn once, and then use forever. It shouldn't be something we have to re-learn on every single site we visit.
Anonymous on October 23, 2009 3:01 AMSo, a large proportion of the commenters on this site think that you should have a carriage return meaning a line break, and you tell them they are wrong.
On the link you posted above, http://blog.stackoverflow.com/2009/10/markdown-one-year-later/, your article expresses doubt about this "feature" and a large proportion of the posts there also disagree with it (on a quick scan - sorry, didn't read all 56 comments in detail, a summary of the conclusion you drew from it and why would be useful).
Perhaps you shuold take on board how people actually use your interface, and design it in that way, rather than trying to make them work in a way that YOU think is correct. i.e. design your user interface for your users.
bracketed on October 23, 2009 3:05 AM> So, a large proportion of the commenters on this site think that you should have a carriage return meaning a line break, and you tell them they are wrong.
I don't disagree, we're still considering that, but it's kind of irrelevant for the specific example in the post.
The root problem is lack of carriage returns between paragraphs, which is sort of a fairly accepted standard for net conversation .. just read the 20+ comments above yours. Notice a pattern?
Yep, carriage return between paragraphs. :)
Jeff Atwood on October 23, 2009 3:10 AM1. Change "Format Reference" to "How do I format?"
2. Put a right-pointing arrow, to the left of "How do I format?" or highlight this text in same colors as the "full reference" link. (I don't see white-text on a blu-ish background as your screenshots suggest - i see blue underlined text only)
3. Change items under that heading to bulleted black-filled dots.
Jeff: Some people (me included) separate paragraphs with double-linebreak. Many (most?) don't, though.
I can't imagine what world you've been living in if you only now noticed it.
Seriously, it's strange to hear from you complaining about users. Even I, being a geek, prefer being able to do whatever I want, without first reading a "how to" on this. Especially for something as trivial as writing text.
When designing a site you have to account for your users' previous experience. Look at expert-sex-change. Top of page - ads. Whole right column - ads and bullshit. Bottom of page - ads. And almost every other site out there does the same thing.
You can't just go and start putting useful information in exact same location and expect people to look at it.
jva on October 23, 2009 3:19 AMSure users don't read everything on the screen.
Have you ever watched a user who tries to do this - I have!
It takes forever to read everything, and by the time they are done they've taken in so much info (often in the "wrong" order) that they are just confused.
Reading virtually nothing works pretty well.
If you think WYSIWYG isn't the solution I'd suggest plain text input as the default, with markup as an option - hopefully when people switch markup on they would read a couple of lines of text about what it does.
Sean Burlington on October 23, 2009 3:21 AMDon't blame the user. While what the user was typing wasn't the most wonderful formatting in the world, it had line breaks in reasonable places, and the numbered list was actually a list. It wasn't great (some whitespace between paragraphs would have helped), but it was at least readable. The version in the preview pane was not.
You need to make single carriage returns do what they are supposed to (start a new line), and you'll eliminate half the problem.
Also, as others have pointed out, you need to block out the preview pane in your 'what the user sees' item. The user ONLY sees what he's typing.
Michael Kohne on October 23, 2009 3:24 AMAlso - are you HTML people really so out of touch with this world? Is there really some alternative universe where pressing [Enter] in a plaintext editor means "Ignore what I just did and continue on the same line, this button was probably a mistake."?
jva on October 23, 2009 3:25 AMSure, the CR issue is one for the user but I wonder if they stopped to think that the preview didn't match the text they had written? Even so, it should at least match the basic ASCII even if the user didn't hit return a couple of times; surely that's how a user expects computer to function?
As for the rest of stuff the user didn't see - perhaps they were typing their post on a small display and weren't even aware of the formatting options present? While you commented on how the UI designer may see the page, it's wrong to assume all users view the site on a display large enough (even a window large enough to see the whole page).
spaceyjase on October 23, 2009 3:26 AMIt'd be interesting to know how many users have this exact problem (using only one line return for a paragraph break). I would expect it to be quite low at present since MS Word (most people's primary WYSIWYG editor) has taught 2 line breaks = paragraph break.
Of course, the irony is that Word 2007 has changed this to 1 line break = paragraph break, breaking convention for a whole load of users.
In fairness to Jeff, Markdown is probably the best input system there is. It piggybacks fairly entrenched ASCII formatting stylistics and converts them into pretty HTML.
Bruce Boughton on October 23, 2009 3:28 AM> I don't disagree, we're still considering that, but it's kind of irrelevant for the specific example in the post.
Well no, not really. The user in the example has not taken advantage of any of the formatting features of markdown. Such a person is expecting that the comment will still display roughly as he has laid it out in ascii. Interpreting CRs as line breaks would go a long way to achieving this - it is a kind of graceful degradation, if you like.
> The root problem is lack of carriage returns between paragraphs, which is sort of a fairly accepted standard for net conversation .. just read the 20+ comments above yours. Notice a pattern?
Yeah, but we KNOW (after all, this is what we are discussing) so it would be kind of obtuse to actually refuse to do it.
The user in question is (probably) not refusing out of awkwardness, and presumably he is not an isolated example or you would not be writing about him.
bracketed on October 23, 2009 3:29 AM> People won't really read stuff which's in an area where usually ads are.
When I see that "How To Ask" box, I always think it's an ad.
Anonymous on October 23, 2009 3:30 AMI must admit I haven't seen the "Formatting reference text". I found out because of:
1) the toolbar
2) other people seemed to be able have basic formatting
User myopia isn't treatable!
At my last job we've tried built a helpful wizard to help users build a search query (sort of thing that gets executed every day and e-mails the results). Internal usability testing showed our wizard text wasn't being read.
So we set bigger fonts to the help text - nothing.
We set the text in bold - nothing.
We changed the background of the text and added a border - nothing.
We animated the help text to slide-in - nothing.
Users basically thought the flashy text was an ad and ignored it. The more attention we tried to focus on it the less attention it got. Using advertising tricks to grab user attention backfires - which makes perfect sense.
Goran on October 23, 2009 3:33 AMI agree with Bill also. The editor should be WYSWYG, with no markup whatsoever.
I've been using the FogBugz wiki editor for a while now, and I've also been posting a tiny bit on Stackoverflow. For me the FogBugz experience is *way* better . You should really try it out for a while and see the difference.
Another wiki engine that does that very well in my opinion is PBWorks : very good user experience me thinks.
"Why should one have to read the instructions in order to post? It should be a skill we learn once, and then use forever. It shouldn't be something we have to re-learn on every single site we visit."
In the ideal world, that would be the case - and believe me I've wished for this many times over the years when I've posted on a forum, only to find out my post looks like cr*p because that particular forum software has a different standard for brackets or tags!
But until there is a universal internet standard for freeform text input (i.e. never), different sites are going to implement said input differently. This is where I like SO's approach, because Markdown is so simple: four spaces or backtick for code, right angle bracket for quote, double angle brackets for a link... a goldfish could remember that ;). And 99% of the time, do you need anything more?
Although I will agree that making links with Markdown is a pain, particularly if you're trying to add a link in a comment, where the angle brackets seem to be ignored.
The_Assimilator on October 23, 2009 3:44 AMNevermind the semantics; the problem is that you're thinking like a goddam programmer and you what you end up saying is pretty much "that's not according to spec!".
You imply between the lines that you really do want to help the user to make his posts look good, except your premise and conclusions are wrong.
Most of your users also seem to be programmers, so mentally they're treating your textarea as emacs/vim/etc and yell at you when their post isn't formatted as they entered it (and "normal" users will do just the same). And you respond with what probably every other programmer on the planet would've responded: "Your syntax is all wrong! Read the fscking sidebar!".
See the problem there?
Johan S on October 23, 2009 3:45 AM> "But users will only read the absolute minimum amount of text on the screen necessary to complete their task. I can't quite explain it, but this kind of user myopia is epidemic. It's the same problem, everywhere I turn."
You say that as if your users were the problem.
If you'll ever have look in any good usability book you'll find one of the most important axioms: "treat that user as if he is competent but extremely busy".
Sales guys love to hear themselves talk, software developers love to read everything they've put on their user interfaces. Regular guys loathe both.
Lenny222 on October 23, 2009 3:48 AM@Goran: you've hit the nail on the head - positive reinforcement rarely seems to work, but negative reinforcement does.
As an example, one of our company's clients does telemarketing (yeah I know... blech) and the telemarketers were constantly ignoring warnings from our program, and hence capturing bad data.
So (with the permission of the client) we setup a training session, in which we made it quite clear that if the users f*cked up the data capture because they ignored what the app was telling them, then they would be penalised - monetarily.
The quality of the captured data improved dramatically after that; we do still get bad data, but nowadays it's generally due to genuine user error as opposed to user ignorance.
The_Assimilator on October 23, 2009 3:54 AMJeff:
I've had the same issue when posting, I type out posts like would when I create a plain text email or readme file in notepad. So I'm disappointed when the formatting is not preserved. I then have to go back and figure out how to format my plain text for Stack Overflow. This seems like a silly step.
If you want to see a WYSIWYG example that doesn't require this extra step, go to Blogger and copy and paste that same message in the default "Compose" view. For people that want full control of the HTML, you can click on the "Edit HTML" tab which allows you to change HTML.
My advice would be to implement a technology that doesn't get in the way of the user performing his task. Asking users to format readable plaintext adds no value and is a roadblock.
Josh.
Josh on October 23, 2009 3:55 AMEither make the editor WYSIWYG or just plain text, that markup stuff is just dumb. Also, there's a real problem in that text too, not just that you don't like the formatting: see where he (she?) is talking about the path? Now look at it in the preview - it's "broken" there.
El Dorko on October 23, 2009 3:58 AMJeff writes:
"I'll also note that 95% of the above commenters have also put carriage returns between their paragraphs. :)"
While this is true, it doesn't solve the problem. Many of the e-mails I get don't use two returns between paragraphs, so I'm guessing there's a number of people who don't write that way, even though most of the people commenting here do. Pointing out that 95% of the people don't have that problem doesn't solve the problem.
Those wo *do* have the problem have no obvious way of figuring out why Markdown isn't working for them. The best solution would be to fix the problem, rather than trying to fix the people.
One way of fixing it would be to automatically add a second return character via JavaScript when appropriate, while the user is typing. Another way to fix it would be to change Markdown itself. Markdown ignores single returns because that allows people to format ASCII text columns with fixed widths without breaking the resulting HTML. I think in Stack Overflow's case, that feature is not necessary.
Lukas on October 23, 2009 4:01 AMJeff,
I believe the problem is you're trying to make users play your rules, do something in an usual way.
Even if I can understand your point, I'd face the same problem, as the user you showed. For years I've been using the 'Enter' key to make a line-break in various text-editors.
And if everything I want, is just ask a question, I don't want to learn a new way to make line-breaks.
So, I think you should accommodate yourself to users, not vice-versa, to ensure they're happy and you have less head-aches.
Good luck
pytale on October 23, 2009 4:04 AMUsers do that because we're trained by advertising to ignore everything that isn't dead-center. Anything on the side obviously isn't important, *especially* if it's trying to catch your attention.
Richard on October 23, 2009 4:05 AM"Either make the editor WYSIWYG or just plain text"
They're not mutually exclusive...
Anonymous on October 23, 2009 4:07 AMI think it's very arrogant to speak about users in this way. We are all overwhelmed with a vast incoming information wave every day, every hour, every minute. That the brain tries to canalize this wave into manageable streams is only logical and also very much supported by science. You should stop insulting users and start reading neuroscience text books.
Ced on October 23, 2009 4:07 AMI think it's very arrogant to speak about users in this way. We are all overwhelmed with a vast incoming information wave every day, every hour, every minute. That the brain tries to canalize this wave into manageable streams is only logical and also very much supported by science. You should stop insulting users and start reading neuroscience text books.
Ced on October 23, 2009 4:07 AMSorry about the double post, there was a permission error the first time and I hit back and "Post" again. It's strange that an error actually led to a successful post.
Ced on October 23, 2009 4:09 AM(Btw, what that means is that the more sophisticated the user, the less likely they are to be scouring your web page for hidden gems.)
Richard on October 23, 2009 4:10 AMYou need to target people specifically rather than generally. This isn't really something that's unique to UI's, there's examples of this in practice in every single human endeavour you want to think of.
Directors know that actors never listen to instructions. It's irritating and it pisses a lot of directors off, but at the end of the day - when it happens again and again for every single actor they work with - they begin to understand that it's not that actors are lazy or stupid, but rather that there's actually a fundamental human principle at work.
One of the easiest ways around it is to target people specifically and personally rather than generically. If you're sitting in a crowded office and the phone rings, saying 'Will someone please get that?' woun't be as effective as saying 'John, will you please get that?' Same when working in a cafe or anywhere with a lot of small, fast jobs that could be done by any number of people. It's useless shouting a list of jobs that need doing to the room in general, cafe owners will target specific people for specific jobs.
You need to recognise what the information is that you want to convey, who the best person is to make use of that information and put it in front of them clearly, bluntly and with their name prominently attached to the beginning of it so they realise it's important to them personally.
Sam Dwyer on October 23, 2009 4:11 AMYou can't outsmart stupid people. If you put sample text in the text entry box, you're going to get a lot of posts where the sample text is included, either as well as or instead of the actual question.
Paul Tomblin on October 23, 2009 4:15 AMWhat everyone else said. It's not that your users are myopic, it's that they're a little too quick to recognise banner ads, sneaky little Google ads, meaningless copyright footers, and so on. Sidebars on the left are menu items, sidebars on the right are ads. That's what years of web usage does to your brain.
As for Markdown, what is this, 1990? Computers are supposed to be smart. In 99% of all cases, a half-clever parser would be able to recognise exactly what formatting the user had in mind, then format the message accordingly. You can recognise lists, paragraphs, VARIOUS c-o-m-m-o-n *forms* _of_ [b]EMPHASISING[/b] words, code, spacing-sensitive tables, and so on. To avoid annoying the remaining 1% there is nothing wrong with bringing up the formatted message after the user clicks submit, saying, "This is what your message will look like. Submit it like this? Edit it some more? Stop autoformatting? Need help?"
And honestly, the help provided in that sidebar is just cryptic. "indent code by 4 spaces" - Huh? So if I paste in some code, the tab stops are 4 spaces apart? Where do I change that setting? "use to linebreak use 2 spaces at end > blockquote" - so each line should end in " "? And I end the message with "> blockquote"? I am being deliberately obtuse, but I think in this particular case reading the help text wouldn't help most users at all.
You're right that users will only ever read the bare minimum of the text on screen. But I don't like the solution of simply moving text to where the user can't miss it. You're much better off making the text unnecessary.
Some bloke on October 23, 2009 4:15 AMThe preview pane would be better on the right of the editable pane.
My SO questions normally get quite long and it's pretty tedious to have to scroll up and down all the time.
Especially now that almost everyone uses a widescreen display.
Oh and my views on the whole CR thing. A double CR should mean "create a new paragraph". A single CR should mean "put this on the line below in the same paragraph".
Nice post.
[d3m0n] on October 23, 2009 4:16 AMWhy users read only the bare minimum necessary to get the job done?
Because web sites are 90% fluff. Links you don't need, advertising of the next coolest browser game, links you don't need ATM, legal mush.
Documentation is even worse. You want to look something up, you have to skim dozens, perhaps hundreds of pages completely irrelevant to your problem.
Windows dialogs? Have you *ever* gathered helpful information from a Windows dialog that wasn't already obvious from the fact that it appeared at all? Yet still the average dialog box contains three lines of completely irrelevant and confusing bla-bla.
So users got used to not-reading, because they wouldn't get anything done otherwise.
Coming from the Amiga community originally, I weep for what we've lost.
DevSolar on October 23, 2009 4:18 AMOf cours users do not read help and do not use tag based formatting (lambda users at least).
While using a form like you describe, you're advised to format your posting, not constrained to. Even if the user is smart and read the right column text, it could be in a urge or simply do not want to make the effort to format his text, like in "Content only matters", that sort of crap.
Here we solve this problem of user's blindness by using separate form fields (wether the are WYSIWYG or not). For this particular example, we would have put somehing like thie
1 title of the question
2 brief description
3 steps to reproduce
4 code sample
5 remarks/comments
I saw few bug trackers using a form design like this, to enforce user to structurate is content.
Even WYSIWYG editors are not adapted to any public, especially when the feed public corporate website. Some users tend to use hugly colors, 16px typo, etc. And in the end, our customer complains that is corporate image is stained by non uniform text layouts and color...
For some projects we drop almost all functionnality in the WYSIWYG editors leaving only a CSS class selector with 3 or 4 classes (say 1 normal,1 colored+bold, 1 for titles, and 1 italic)...
Carriage returns are handled properly using automatic paragraph and HTMLPurifier configured to remove empty paragraphs.
That's sad for end-users but the only way to get proper output. But they seems comfortable with this, and do fear of final online result, and do not hesitate to use the few styles available to enrich their writing.
Benoit on October 23, 2009 4:21 AMIf a user doesn't put carriage returns between paragraphs, why punish him by munging his post even more?
What's the benefit of ignoring single carriage returns?
Question-askers like the one in your post just want an answer - they shouldn't have to learn arcane rules about formatting - no matter how easy you make it to learn them.
The guy seems to have asked an intelligent wellformed question. It wouldn't be difficult to format it nicely for him, automatically.
Just interpret the linefeeds literally. You could even detect the list.
blorgbeard on October 23, 2009 4:21 AM> just read the 20+ comments above yours. Notice a pattern?
yes, pretty much everyone is using:
- double newline for paragraphs
- single newline for bullet points or numbered lists
Conclusion: bullet points and numbered list entries are not paragraphs.
soru on October 23, 2009 4:23 AMI think people forget that a lot of people actually don't care too much about formatting or presentation. If I posted something which looked wrong I would immediately edit it and figure out how to make it look good.
Unfortunately in my experience a lot of people either can't see that it looks wrong or don't think its important to spend time cleaning it up.
I'm not a fan of WYSIWYG editing, at least for Stack Overflow. But line breaks with carriage returns are essential, I don't understand why they shouldn't be implemented (and I don't understand Jeff's comments about this).
Line breaks alone would make the text of the example more readable. I think this is sufficient for the users that don't really care about formatting. The users that care will go the extra mile.
Why do most people put a line break between paragraphs here? Because they are preserved.
I didn't used to, but I saw other people doing it, thought it was clearer so started doing it.
I could work that out because I know how line breaks work. I press enter, I get a line break. I press it twice, I get a line break between my paragraphs. I can figure it out because it works how I expect.
Without preserving the line breaks it's a little more difficult to figure this out. "Why aren't my line breaks appearing, everyone else has them, but mine get squished. Must be a bug or something. Maybe some complicated markup, or perhaps?" vs. "Oh, everyone else has two linebreaks, I'll do two as well".
Because it doesn't work how the user expects, they find it difficult to work out how to get it to work.
Give in, preserve line breaks. The initial text will then be easier to read, and people can still come in later and fix it with two line breaks. It also makes it easier for people to work out how to fit the community style by logical steps. If one line break doesn't work, why the hell would two? It's not a logical step.
[ICR] on October 23, 2009 4:44 AMJeff,
I think you’ve misunderstood your own post. The point of “Teaching Users to Read” is not to teach users to read, but that you should design UI so they don’t have to.
“My intent is not to make fun of users, but to illustrate that there are far more effective ways to communicate with your dog. Essentially, any time you're asking the user to make a choice they don't care about, you have failed the user.”
If a user fails to use your UI in the way you expected, the user isn’t at fault, you are.
Looking at your screenshot it’s obvious why someone isn’t going to read the instructions: they’re in the wrong place, there not highlighted in any way, the title’s misleading. There’s nothing to suggest these are important instructions that must be read before. Until you put arrows around the offending text I would have assumed it was another advert.
Also, when will you give up stripping HTML tags and escape them instead?
> Maybe some complicated markup, or perhaps?
is meant to read
Maybe some complicated markup, 'p' or perhaps 'br'?
[ICR] on October 23, 2009 4:52 AMPeople won't really read stuff which's in an area where usually ads are.
+1
When I press the enter or return key, I expect to get a new line (next character will be on the line below) and a carriage return (next character will be at the left most position on the new line).
So why, when return is pressed in the stack overflow editor does neither of these happen! The next visible character appears immediately after the last one. I wasted my time pressing 'return'.
I don't understand at all what the fancy formatter does (except for messing up what I wanted to enter and jumbling it up). I'd prefer it if what I typed in (in the top half of your screen-shot) is exactly how the text will end up when I hit submit. Why have any magic transform at all?
Scott Langham on October 23, 2009 4:54 AMJeff, you're trying to make users do extra work (those additional carriage returns) to accommodate programming choices you've made (this whole formatting mechanism).
Yes, many people here are smart and WILLING to learn and go extra length, but if anything, comments to this post should indicate that it's not the user who you should be working on, it's technology.
Andrew R. on October 23, 2009 4:59 AMI'm definitely a fan of the simple StackOverflow style formatting, but is there any good reason why that post couldn't have been formatted as the user expected it?
I'm struggling to think of any reason why line breaks in the edit box shouldnt be interpreted as line breaks in the resulting output.
Justin on October 23, 2009 5:02 AMI'm afraid that the interface is a very pullable handle on a push only door with the word "push" written on the ceiling. It's not the user's fault.
Adam on October 23, 2009 5:05 AMAlso, in what universe is
indent code by 4 spaces
don't want colorization? Use
to linebreak use 2 spaces at end
> blockquote
backtick escapes `like _this_`
[foo](http://foo.com)
foo
considered a "handy formatting quick reference"?
Phenwoods on October 23, 2009 5:05 AM+1 for a to be a line break signal to the editor. I wish I could vote more than once.
Les on October 23, 2009 5:06 AMBasic thing about users reading web content: they read screen as F ( http://www.useit.com/alertbox/reading_pattern.html ). Now where was this formatting reference section positioned again?...
mart on October 23, 2009 5:08 AMWell, while reading this blog post, i didn't notice the tips until the second screenshot, with the red arrows.
Maybe because it looks (to my periphery vision) like some kind of navigation/tag cloud? It's an formatted blob of tips also.
BTW, the 1. 2. 3. lines in the user post seem to be on a new line in the edit box.
Maybe you could put before the edit box something like this:
How to write with bold, syntax highlight, titles ------------->
yeah thats all there is to the problem. its not a XP or GUI design problem:
* correct carriage returns are hard
* correct spaces are hard
.. for users who don't typewrite much. teach them that and you are 80% at readable ascii. markdown is too hard, forget about that.
oberhamsi on October 23, 2009 5:15 AM"To linebreak use 2 spaces at end".
I rest the user's case.
Jens on October 23, 2009 5:17 AMSo this is my first sentence.
I just put a single return here and I want this line to be below the first line.
Now I just pressed return twice and I want there to be a single empty line between the two blocks of text I have written.
Did this work? If not, then it's not my problem. I expect the output to look the same as in this text box. If it doesn't, there is nothing I can do about it. This is a developer problem.
Tester on October 23, 2009 5:18 AMThere are a few things that have lead to user myopia: text ads, wordy messages, technical messages, modal popups (especially for warnings), UIs so bad they couldn't be figured out even after reading, messages that point out problems and don't offer solutions, solutions that are too difficult, and the ability of someone else to fix the problem. Among other things.
Dan on October 23, 2009 5:20 AMAlright, so my post above worked correctly. And if I were to create a list like the user in the example wanted to do:
1. Do my homework
2. Take out the garbage
3. Write this comment
If the input box on SuperUser or StackOverflow doesn't work like this then this is 100% a developer problem. nl2br() please.
Tester on October 23, 2009 5:21 AMYou *could* just replace single newlines with doubles when not followed by another markdown token. If that is the most common user error, there is no shame in hard-coding some logic to handle it into your form processing. So long as it shows up in the live preview, so those users who *do* pay attention can see what it is doing, it could save your legion of editors some time :)
Jeff on October 23, 2009 5:23 AMA few thoughts:
1. The "Formatting Reference" is below the area where the user will actually type their question. It might be better to have the reference directly next to the question area. The "How To Ask" area has to go *somewhere*, but there might be a better place.
2. Black text with white background in the same font as everything else is easy to ignore. Just like the "How To Ask" area is highlighted with a bold color to catch the eye, perhaps that technique could be applied here as well? Of course not everything can be colored boldly, or the saturation would make a net negative effect. Different typeface or font size maybe?
3. Now that you have a good sample of original questions and changes to the questions, perhaps you could identify certain patterns and attempt to inform the user (or perhaps modify them automatically) to correct formatting. In the example above, the user had incrementing numbers. This could be detected (space followed by number followed by "." or ")" or whatever) and potentially auto-corrected.
4. Perhaps simpler, most questions probably aren't paragraphs long. They're a sentence or two, then some formatted text, then another sentence or two. Perhaps you could look at large chunks of unbroken text and figure out that single carriage returns should result in line breaks?
Adam on October 23, 2009 5:28 AMHitting the carriage return key on a keyboard should give the user a new line in the output. This is simply typographical common sense. What probably confused this user (or he chose to ignore) was the fact that doesn't happen with this markup.
A markup should not break elementary common sense rules in order to provide other elevated functionality.
The fact users use two carriage returns to create paragraphs in other places (like in this box) is irrelevant. The markup internal rules have stipulated that his text formatting broke because the lack of two carriage returns. That's fair enough. But his text would also have become easier to read if instead of a new paragraph, every carriage return introduced a line break on the resulting text. And that you cannot deny either, Jeff.
Take a look at the user edit box. Is there anything in there that is not clear in terms of formatting? He doesn't use carriage returns and yet his line-break formatting style makes that particular text easy to read and appealing to the eye. The markup however made a mess of it. So, the markup actively ruined the user text. This cannot be.
For the sake of some special formatting elements, like list detection the markup aggressively demands two carriage returns to break a line. Meanwhile it doesn't accept the idea of a new-line break, unless the user explicitly forces it with the tag.
The line that divides easy-of-use and formatting tyranny can be very thin.
Mario on October 23, 2009 5:31 AMThere's also a loss of information in the example. The user typed "\\\c". But Markdown converted this into "\\c"... I do understand it was interpreted as html tag. But I feel it had to be ignored - there's no "path" tag in html...
Alexey on October 23, 2009 5:38 AMI really love the markdown mark-up and how the editor on SO works for it.
In fact I was jus commenting today that I would love to write a clean-room equivalent of showdown.js, to include things like easy extensibility, filtering of HTML elements and attributes, the extended markdown syntax and such. Would also like to make the WMD code a bit easier to plug into other software (e.g., Drupal).
If only we had all the time or funding we needed to do the fun stuff...
Evan on October 23, 2009 5:38 AMAnother try: actually the user typed \\<path to shared folder>\c
Alexey on October 23, 2009 5:40 AMBeing a developer I must be a god of users but even I did not see that freakin reference box! Thanks!
zvolkov on October 23, 2009 5:43 AM1. Use a rich-text editor by default for users
2. Provide a button to switch to regular markdown formatting
3. Provide an option in the user settings page to allow users to set their preferred editing style
I must say, I don't think I ever saw the formatting reference. The sites lack contrast that would allow you to put things in evidence, everything is white and blended together, it's hard to differentiate what's important, what's an ad, what are instructions. Even the formatting toolbar is blended with the background. Respect the conventions and add some depth to that toolbar.
Mike on October 23, 2009 5:43 AMAll you need to do is pop-up a modal dialog whenever a user presses 'Enter':
Do you wish to insert a carriage return or a carriage return and a line break?
Yes No
Then add the ajaxy-goodness of a typewriter animation. Win!
Scott Kowalczyk on October 23, 2009 5:43 AMJeff, this is probably too far buried for me to hope you'll read it, but...
Rather than commenting on the line break/WYSIWYG/editor stuff (a.k.a. beating the dead horse) I would like to comment on the implication near the end of your blog post: that you would pre-populate the box with some sort of template.
One word: don't.
It has been my experience with an internal app at a county hospital that the ~80% of people who haven't had problems before (the ones that *aren't* the subject of this post) won't have problems with this or at the very least will be mildly irritated by this existing text.
The other ~20% (the ones that *are* the subject of this post) still won't get it, and you'll end up with template text in the posts; or fragments of it; or all sorts of other craziness you never expected.
They are a lost cause. Short of a little pop-up that says "Click here to start" you will never capture 99.9% usability.
Please don't hear what I'm not saying: I'm not saying that you shouldn't try to improve the user experience. It just seems that there are other more fruitful endeavors you could spend your time on.
AnonJr on October 23, 2009 5:47 AMThose of you who are arguing about line breaks, please also see the discussion on meta.
Patrick McElhaney on October 23, 2009 5:48 AMWYSIWYG
I want to hit return and have a return be in the output. I don't want to have to think how to create a new line.
All the books on UI design you put on your blog I think you would realize this more than anyone.
You shouldn't need a preview pane, because what the user types is what they should get.
Billkamm on October 23, 2009 5:50 AMIt's not about the line breaks. It's not about positioning of instructions. The school of thought that says everything should be immediately usable without having to learn anything is now the majority. Continuing to fight it is like continuing to fight WWII.
Larry Coleman on October 23, 2009 5:52 AMYou know, you see the same sort of problem with users of all sorts of devices -- not just computers. There's the infamous "blinking 12:00" VCR display, which -- let's face it -- usually wasn't really that hard to figure out. Or how about something really ubiquitous: the automobile.
I'don't know of another device in the history of usability studies that's had more time invested in its usability. Cars today are supremely usable, and yet, people continue to wrap them around trees, lamp posts, semis, and other cars.
Why? It has very little to do with the usability of the car. It has tons to do with the attention and ability of the drivers. Some drivers just don't care enough to pay attention to what they're doing, no matter the consequences. If someone doesn't really feel the need to be bothered to pay attention to the road (at the risk of winding up wearing the bumper of a semi trailer like a set of braces), I'm not sure they're going to invest a lot of time formatting text properly.
What's next? Do you blame the usability of the site for misspellings? Improper grammar? Punctuation? How about plain-old lousy questions? The problem you're seeing isn't necessarily an indictment of the web site. The users have to meet you half-way in order for them to generate content of any decent quality. Period.
D. Lambert on October 23, 2009 5:52 AMYou've highlighted the exact problem, then ignored it!
If someone entered a line break should be interpreted as a line break. It's just totally crazy to interpret it as anything else.
You can add as many notices and help files as you like, but as you say, they WON'T READ IT (and they includes me).
The whole system should work exactly as the user expects it.
BTW... Isn't it time you used the stackoverflow engine for your comments section? Good comments get completely lost.
Simon Lerpiniere on October 23, 2009 5:55 AMJeff, in your post "Is HTML a Humane Markup Language?", you write:
"I have one iron-clad design guide: this is a site for programmers, so they should be comfortable with basic markup."
I think this was a very useful design guide for stackoverflow.com, but not for superuser.com or a lot of the non-technical stackexchange websites. Those users are simply not used to anything other then WYSIWYG. As clean and simple and (dare I say) intuitive as markdown is, it's still markup code and as such, it is not immediately understood by non-technical users.
Their mental model for 'entering text into a computer' is based on e-mail applications and (MS) office applications. So if your goal is to make it as easy as possible for the users to format their questions and ansers the way they want, its best to create a UI of which the mode of operation matches the mental model of your users as closely as possible.
Daan on October 23, 2009 5:58 AMJeff, I think you severely understating your failure on the UI design part, which stems from your basic underestimation of how good people have adapted to the web.
I can tell you exactly why I never read (or even noticed before today) those "useful" things on the side. (seriously this post of yours came as a complete surprise!) They look like Google text ads.
I have long since learned to ignore ads on the web, so even without an ad blocker I almost never see them. The downside of this is that I also don't see anything that resembles ads. This is where your hint blocks come in (or rather don't).
While we are on the usability design, I don't think I've ever had as much trouble to use a site I frequently visit, as I have with SO&Co. Even if the interface is bad, usually once you figure it out, it sticks. With SO, I constantly forget how to make something a favorite (even though the star is right there, and is sooooo obvious once you realize it). And I can never find a way to post a reply to my own question (why is the behavior different from usual reply? not like I can grant myself rep)
Alexei on October 23, 2009 6:01 AMI don't really understand why most of people are talking here about NewLines.
It is totally different problem and it exists since first Content Management System.
1. Give user simple interface to edit content that will become HTML: Mark-up/Down etc. Later on...
2. What You See Is What You Get. In real world does not work properly. It gets overused and becomes uncontrollable (using fonts/color embedding links). Back to option 1...
this becomes a loop "unitl(solutionFound){ trySolution(X) or fallbackToSolution(X0);}"
So far there is no well balanced solution to render good (in terms of standards/visual representation and maintainability) HTML and allow users to easily edit content.
Even worse things start when they want to use existing content to be published (think Word). No way any system can read the mind of user and Words processors.
This is first of all technical problem that has no backing scientific approach.
And I would say it IS a scientific problem as a result.
So we first of all we need to find alternatives to content presentation/editing instead of tweaking Markup to the left or Markdown to the right. No matter how much you tweak there will always be users who cannot use it. And a lot of them.
So again, we need a NEW approach to content publishing.
Cheers.
Dmitriy Nagirnyak on October 23, 2009 6:03 AMAnd sometimes users do read, but do not process a computer’s instructions like they would a human. No matter how clear the text, they will fear following it, in case they do something wrong. I’ve been told numerous times, when trying to help someone with a computer issue, ‘it says “do bla bla if you want bla”; I want bla, so should I do bla bla?’ Apparently, English is Greek when a computer speaks it. Such is the level of fear of computers that decades of inhumane interfaces have instilled in people.
David on October 23, 2009 6:15 AMAnother problem I always/often encounter with the Markdown editor is, if you try to write a list like this:
1) Item 1
2) Item 2
3) Item 3
You end up with:
1) Item 1 2) Item 2 3) Item 3
Highly unintuitive.
Terminator on October 23, 2009 6:16 AMDude take a chill pill. All this 'the users are wrong the users are wrong' ranting is pretty crazy. Very reminiscent of your behaviour on uservoice.
Why should people have to press Enter twice every time instead of once? Just because people do on blog commenting forms & in e-mails? Seems like something that is perfect for a computer - automating common functions.
dan on October 23, 2009 6:17 AMNice post, but I disagree with your screenshot of "what the user sees". You've included the real-time preview in the user's awareness. In my experience they don't see that. In fact, I've even missed it on several sites including Stack Overflow and MetaFilter, from time to time. I don't think the user looking to ask a question necessarily "sees" anything but the textarea itself.
Joshua Carmody on October 23, 2009 6:26 AMI don't know how you put up with the repetitive complaints posted to your comments. Your audience is a bunch of whiny babies.
Anyway, how about a thumbnail preview to the right of the title box that updates in real time? I'm no javascript expert, but that seems doable. Looking at a tiny version of the post would alert the user that the "shape" of the post wasn't right.
Chris McCall on October 23, 2009 6:35 AMSo, I guess the point of my post was don't teach the user to read anything, show them a little picture.
Chris McCall on October 23, 2009 6:36 AMI think you got your blackout version of what the user sees completely wrong. You think the user sees even more than they do. I think he only really sees the text box where he's entering the text, and that he's not even seeing the preview. That's why you need a rich text editor in this case. And putting suggestions on the right side is no good... the suggestions need to go inline with the text... like red and green squigglys underneath (ala Word) or perhaps drawing a box around bad text elements that when the user hovers over tells them what is wrong.
Nick on October 23, 2009 6:38 AMTotally agree that users don't read...
But, the true WTF is that your editor's formatting rules are plain stupid and unnatural. Period.
Oh and the "Formatting Reference" sucks very much too - and it looks like some Google ads.
Philipp on October 23, 2009 6:40 AMThe user might have typed those text in a simple notepad and copy-pasted it to the text field and submitted. Some users would not notice your cute pink button and handy formatting quick reference maybe fearing it for another roll over ad.
Notice that if the user doesn't see something important in a web page as in this case.
It'sallthedeveloper'sfault
A.A Philip on October 23, 2009 6:41 AMHas it occurred to you that most people do not care about formatting and readability? They just write like that all the time. Either you can fix it, or it won't get fixed, but they aren't going to sit around and fix it themselves (no matter how hard you try to rub it in their face) because they couldn't give a shit.
That goes double for the sort of people who post "help me" questions somewhere online.
anon on October 23, 2009 6:42 AMI think you're missing the point. The problem is not with your UI (although I am sure there are improvements to be made), or the fact that the users didn't bother to read your formatting guidelines (which they certainly didn't). The problem is that many users simply don't care about formatting or style, and no matter how easy you make it you'll still have questions coming out looking like diarrhea.
It fits into your "do my homework for me" line of thinking. Many people are unwilling (or perhaps unable?) to invest the time into making their writing visually appealing. The question you illustrate could have been made to look nice with linebreaks without and markdown at all, but the user chose not to.
This is not to say you shouldn't strive to improve your UI, but if you think that an auto-updating JavaScript widget or moving the guidelines somewhere else or highlighting it with color is going to make this problem magically go away, you're dreaming.
Joe Shaw on October 23, 2009 6:44 AMBack in the 80's when I was working as a graphic designer in a small shop most of the 286's in the shop were used by sales people, often working in DOS. Being a bit more computer literate than most of them, I was constantly hearing 'Hey! It didn't work! Can you come look at this?'
I'd get up from my desk, walk to their machine, read what was on the (monochrome) screen, then read it out loud to them, and walk back to my desk as they said 'Oh. Thanks.'
After a while I'd stay at my desk and just call out 'What does it say?' then wait a few seconds for their 'Oh. Thanks.' reply.
Greg Davis on October 23, 2009 6:48 AMThe fun thing is, you all think it is myopia.. But what if.. the user just doesn't care if his numbering is screwed up. What if he considers it to much work to re-format what he just typed. I can get to that, we aren't all perfectionists.
A good think might be to apply a 'readability'-algorithm (yes, they exist!). This might allow you to inform your users that the text they just typed is not very readable which will result in less answers.
If that doesn't help, you could even give a suggestion on how to mark-up the text by formatting it yourself and show that to the user (again, with the algorithm).
Granted, this will make people even more lazy, but if they don't have to do it, they can't screw it up..
Mr. Orange on October 23, 2009 6:49 AMI'm surprised I didn't see anyone mention the book "Don't Make Me Think" by Steve Krug -- it's something you may want to read, Jeff. (You can also check it out at http://www.sensible.com/)
I'm no professional, I just keep putting tools together to 'solve problems' at work, but I every time I put one of these tools together, I'm forced to revisit this book. I don't literally pick it up, but every time a user comes to me to tell me the tool doesn't work, it's always "user error" because they missed the link, but when I think about it, I could have made the tool easier to use.
Moral of the story: Don't blame the user. If users have difficulty with your tool, simplify it.
Don't make them think.
Eliot on October 23, 2009 6:51 AMPersonally, I've found on Stack Overflow that formatting reference rather confusing, not to mention, it just refused to format my code properly. The whole 2 spaces for a line break and 4 spaces for indentation together just did not work for me. It was a rather unpleasant experience, pretty flawed.
Still love the site, highly useful, I just wish that could be better.
Daniel Carvalho on October 23, 2009 6:51 AMNewline, shmewline.
I think the user did a great job. Just look at the upper box in the screenshot, with the monospace font, nicely formatted, lines ending where the user meant them to. Great job, perfectly done to convey the user's meaning.
Then the mean old website took that masterpiece of clarity, applied a different, proportionally spaced font and ran it through a renderer that uses completely different formatting rules than the input box which the user was given to express their ideas.
You might as well have translated it to Russian and back. For a site whose express purpose is to gather sometimes complex and technical information from questioners it should be a design goal to preserve the fidelity of their expression.
A problem is that there is no simple way to tell the browsers "render this content read only but exactly like the input box that it came from" without Olympian CSS calisthenics.
I personally think WYSIWYG is overrated - you hardly ever really S what you will eventually G. I'd be happy with monospaced text for most communication.
Brent Ashley on October 23, 2009 6:52 AM"Users do read. But users will only read the absolute minimum amount of text on the screen necessary to complete their task. I can't quite explain it, but this kind of user myopia is epidemic. It's the same problem, everywhere I turn."
Of course, what would you expect?
Only the members who are genuinely interested in forming part of your community would care about your rules. Casual users couldn't care less, they don't want to waste their time reading the rules of a website to which they will never return after their question is answered.
Use the wikipedia approach, let the users make all the mistakes they want and get a good staff of editors to correct them when they screw up.
Cristian on October 23, 2009 6:59 AMI think your main problem was where you put the formatting reference, people tune out to this part of the screen because it is usually where advertising is.
Also I can use it but I don't like the markdown thing a wysiwyg one would be easier in my opinion. Maybe a choice between the two.
pete on October 23, 2009 7:05 AMFixing user myopia isn't the problem. The user has formated their text perfectly. It's Markdown that took that text and garbled the formatting
David Hayes on October 23, 2009 7:05 AMI noticed that you got defensive when people answered the question you asked. Don't.
Drop the second view. At first glance, it looks like a web mail interface, so it should behave that way. GMail doesn't show me my formatted text half a screen away.
The help in the right panel looks like ads, and is too cluttered. Poor formatting, maybe?
Besides, I'm here to ask a question, not learn your mark-up language. My guess is that the user noticed the poor formatting, but didn't care to spend the extra time fixing it. I wouldn't either.
steve on October 23, 2009 7:06 AMI completely agree that users will not read the help text. I also completely agree with the other commentors that from the user's perspective he has typed a perfectly well formatted question, and it's really a failure in the system to display it as such. Requiring that the user use a carriage return between paragraphs when the text as they entered otherwise looks perfectly fine is really just imposing the system's constraints on the user, and violates the principle of least surprise.
Kevin Dente on October 23, 2009 7:08 AMI think that the whole thing can be reduced to 2 problems:
1 - In your image, the user press once, and it doesn't get any line break. But if he presses twice, he gets two line breaks: one at the end of the paragraph, other to just add a "blank line" between the paragraphs.
2 - Some people like to separate paragraphs with one blank line, others don't. But you're trying to obligate them to always use a blank line...
If using markdown is giving wrong use in your application, simple stop using it.
Woliveirajr on October 23, 2009 7:08 AMI think almost everyone has missed the point of the piece. It isn't about the choice of user text input interface, that is just the example being used here, but rather user myopia. You know. Like the title says.
Markus on October 23, 2009 7:09 AMOh, now I notice: there are 3 mistakes !
The third one is that the blog entry made me think we would discuss "users don't read important messages", but what it's really about is "it makes me sad when users don't use the formating codes I want".
Sorry, Jeff, this blog discussion was about a wrong concept you have.
Woliveirajr on October 23, 2009 7:11 AMI'm on the trilogy, with lots of experience. I've asked a few questions, and answered a lot more. I've used that form perhaps hundreds of times. I'm intelligent, and read very well. I pay attention to error messages in dialog boxes, even.
I never noticed those instructions until the second screenshot in your blog entry, the one with the bright red arrows pointing to it. I've been doing formatting with my standard habits plus the toolbar, and with the exception of lists it's been working.
If you want the formatting to work, you should either modify it (at least to preserve single line breaks) or figure out exactly which species you want to target, because it sure doesn't work for Homo Sapiens.
David on October 23, 2009 7:11 AMWhat about the Help? Are you saying users don't read the Help?
Or the manual?
(yes, I'm making a joke)
Breck
Breck Carter on October 23, 2009 7:15 AMYou idiots. One of the few times Jeff writes something completely sane and correct and you go blabbing about how line breaks should somehow automatically turn into paragraphs?
Do you people think that cars should somehow top up their own oil?
Do you think that all doors should have little screens with animations showing how to open and close them?
Please, sometimes you have to think for yourself -- perhaps even _pay attention_.
Get your heads out of your asses.
dude on October 23, 2009 7:16 AMI can't believe you just wrote this post. I called up a few friends and said the same thing. I was just talking about dialog boxes earlier in the week about how no one reads them and they're useless in their current state. I don't wanna give away any ideas, but it's nice to know someone else feels the same way.
Saturn2888 on October 23, 2009 7:19 AMWe live in a WYSIWYG world
It would be much easier if the editor, witch seems to be WYSIWYG actually was!
It makes no sense to force the user to learn yet another formating "language"
The user is expecting what he types to be correctly formated on the web site specially for paragraphs
Actually I think the blame is on the UI designer for designing a poor and user unfriendly interface rather than on the myopic user
nuno costa on October 23, 2009 7:20 AMI think Jeff is having a case of cognitive dissonance -- he's committed to Mardown being the bestest thing ever, so when the results are less than satisfactory, it must be the user's fault! Can't they read???? Don't they know they should leave a blank line between paragraphs?
BTW, the only think unconventional about that post was the missing newline before the list. It is perfectly conventional not to put blank lines between list items.
* This
* looks
* like
* crap.
People are busy, and come to the site to get their job done.
If you really are committed to Markdown, and really can't tolerate poorly formatted messages, then it seems the solution lies in the reputation system. Build a culture where well-formatted questions get upvotes and quick answers, and poorly formatted questions don't.
John McG on October 23, 2009 7:21 AMAlthough I agree with the "User Myopia" phenomenon, I argue that the current editor fails the Principle of Least Surprise (http://en.wikipedia.org/wiki/Principle_of_least_astonishment). If I am otherwise NOT using ANY markdown, the system STILL mangles my post because it applies markdown 100% of the time, even if I have no clue what markdown is or, alternately, even if I know what it is but I don't want to apply any markdown transformation. By forcing people to enter extra newlines you're going against their entire history of authoring text where WYSIWYG.
This exists with the formatter in Basecamp, too. So much so that all my users have gotten in the habit of pre text /pre in order to stop it from blowing up their text. To me, that's not a user problem. That's a programming/UI problem.
For the stackoverflow sites, my vote would be to fix the bizarre markdown newline semantics.
If you can't, my failback vote would be: if you don't detect any markdown in there, then the user probably doesn't want it, so don't apply the wacky newline rules. Make it look like the user intended.
Matt R on October 23, 2009 7:24 AMOr you could make the code do what the user expects it to do, that's always an option
Andrew on October 23, 2009 7:24 AMOr you could make the code do what the user expects it to do, that's always an option
Andrew on October 23, 2009 7:26 AM@nuno costa, if perfect WYSIWYG designer would exist there would be not issues in this world :)
Generally I think the problem is much bigger the the UI and line-breaks.
THE PROBLEM IS THAT CONTENT PUBLISHING IS IMMATURE AND TOOLS USED ARE WRONG:
http://dnagir.blogspot.com/2009/10/content-managementpublishing-system.html
@nuno costa, if perfect WYSIWYG designer would exist there would be not issues in this world :)
Generally I think the problem is much bigger the the UI and line-breaks.
THE PROBLEM IS THAT CONTENT PUBLISHING IS IMMATURE AND TOOLS USED ARE WRONG:
http://dnagir.blogspot.com/2009/10/content-managementpublishing-system.html
What's a "carriage return"? What carriage is returning?
And even if you think ASCII, who the hell uses *carriage returns* to separate lines? Only Mac OS 9 and before.
Nicolas on October 23, 2009 7:36 AMI
like
it
as
it
is.
Doesn't
everyone
use
the
enter
key
as
a
space
bar?
I put empty lines between paragraphs, but I don't see lists (numbered or not numbered) as a separate paragraph:
First paragraph...
Second paragraph... Some text that explains the list....
1. list item
2. list item
I tried number 2, but it didn't work (or something like that).
Third paragraph...
Awww, damn, your screwy comment text editor foolishly interpreted my use of the enter key as wanting line breaks. Where the hell did you get the absurd idea that the enter key means a line break?
Anonymous on October 23, 2009 7:37 AMWow. There's an over reaching trend here of "we did it right, shut up and learn the right way".
Carriage returns are called carriage returns for a reason. It's like you built a site where backspace is now the enter key, and you complain that users are not reading all the labels that clearly say backspace is the enter key. You completely ignored keyboard functionality that 99% of users are used to in all of their common development programs.
The double space part is crap. It doesn't make sense, and even after months of being on SO, I still have to go back and revise to add your special "line breaks". I type 90+ words per minute. Why should I (or any user) relearn my keyboard usage for your one site? Yes, K put a carriage return between all his paragraphs... Amazingly he did it using the key designated for CARRIAGE RETURN on his keyboard. Why didn't I think of that? Two spaces makes so much more sense though...
Also your "Just click the numbered list" part is also pretty meh. In every other editor I use, numbered lists continue with the carriage return (again, SO stubbornly refuses to acknowledge sixty years of definition for what the carriage return is). Instead on stack overflow I have to type my entire list, then highlight, then go up an click the numbered list to transform everything.
Markup = Cool feather-in-cap for developers, suck for users. We get it, you're not going to back down until the world acknowledges that you have the one right way for html comment editors.
Artemis on October 23, 2009 7:41 AMTyping in plain text is always easy: because what you see *is* what you get.
When you've got to interpret that and parse it out into your pretty little html/css/bullshit -- you're asking the user to put more 'work' into not breaking your interpreter.
The guy hates dialog boxes because they're interruptive, yet apparently it's not interruptive to have to 'learn how to type text' on his website.
Interesting.
Mal on October 23, 2009 7:41 AMalwin,
Agreed.
Paragraphs, under normal English convention, have whitespace between them.
It feels completely natural to NOT have whitespace between lists. Perhaps Microsoft Word is to blame? You start a list and hit enter ONCE and you get a new bullet. But, everyone smashes enter twice to create a new paragraph.
I don't think that's the user's fault.
Matt R on October 23, 2009 7:42 AMThis is definitely a poor posting. It could have been summarised as 'I've created this thing that catches lots of people out when I could have quite easily fixed it by applying some thought, but what I'll do is blog about the fact that they didn't read some hints that I put in a location that most users ignore.'
Why do they ignore it? Because the side-bar of a page is normally stuffed full of adverts on most websites.
So let's get this straight: you purposefully made it a requirement that the user learn a new language in order to successfully leave a comment (you do realize that markdown is but one of several formats that users are exposed to, and that even power users get annoyed when they see this crap), you hid the language instructions in a spot that users have been taught to ignore, and you refuse to admit that other people commenting here might have some points. Your stubborn, defensive need to be right is overpowering your ability to analyze the situation and come up with a good solution that benefits the users.
Jacob on October 23, 2009 7:49 AMIf the problem is that the help your attempting to deliver to the user (in the form of the style guide) is simply being ignored, your one an only challenge is to make people aware of it without FORCING them to deal with it (at which point it becomes 'annoying' rather than 'helpful')
Simple solution, that maintains the look and feel of the site... make the style guide 'blink in' for new users (as you do with the new user alerts at the top of the landing page).
Simple and elegant movement catches the eye, and if the movement instantly clicks in the user's brain as something 'useful' rather than a 'shitty ad', your golden. Given that every new user has already experienced the 'New to the site, check out our FAQ' header bar, and seen that it is a useful piece of site chrome, doing the same thing with the formatting guide makes sense.
Once you have solved the core problem of getting a user to rub their eyeballs over your formatting guide, you can then move on to tweaking the actual contents to serve your intended purpose.
PunchAndPie on October 23, 2009 7:49 AMOf course the user doesn't care about formatting their question "properly". That's not their problem. They just want to ask a question. They are focused (maybe) on wording the question right. Formatting is not on their radar even as a remote consideration.
Imagine if you went to the doctor and wanted to get some help with the thumb that got hit with a hammer, and all the secretary in the front office said was, "No, you have to write your address in Old English Script with a quill pen held in your left hand while standing on one foot. Only then will the doctor see you."
GeekTieGuy on October 23, 2009 7:51 AMI'm going to pile on to the chorus of users criticizing the default behavior. The way the user entered their question looks perfectly fine, and then your formatting system fscks it up.
This has frustrated me as an occasional Stack Overflow user. I can see the formatting tools and tips, and I know how to use them, but the bottom line is they cause writing a question to require MORE WORK than is necessary in cases when I don't need fancy formatting.
If you have such a serious problem with users not seeing the formatting tools, and entering their questions by using only the ever-so-rudimentary formatting available in an html text box, that should tell you that the default behavior should be to... format the output exactly as it looks in an html text box.
Noah Yetter on October 23, 2009 7:53 AMJeff,
I have a couple of points:
1. 98% of Internet users simply "don't care". They don't care about grammar, spelling, complete sentences, or punctuation let alone formatting. This is proven by lots of "business" emails written by educated adults that look like 4th grade IM conversations.
2. Your website's primary goal is getting a user's question answered. That's it. Everything else you do on your site should be relevant to that goal. That means lowering the barrier to ask and answer questions as low as possible such that more questions get asked and even more eyes see and hopefully answer those questions.
3. You have an image/brand that you want to protect. Namely, you don't want SO&Co. to look like the wild-west of experts-exchange.
All the fancy eye-ball tracking data in the world can't help you if you don't execute your primary goal well. As some of the other readers pointed out, they disagree with your implementation of formatting/previewing/positioning a question as it's being asked. On the one hand, you are protecting your site's image by attempting to nicely format the data being inserted. On the other hand, the deviations from common conventions really slows down and deters the question asker.
It doesn't matter what you do to improve this process as long as it means the questions are easier to ask and the answers are easier to get.
I do agree with:
- moving formatting reference and help tips out of common ad space
- either making the editor WYSIWYG or moving the preview pane to the side of the input to avoid scrolling
- supporting standard carriage return practices (one is newline, two is paragraph)
- instead of removing html tags you don't want, encode them for display. Your example screenshot shows the windows share path missing because it contained some text inside angle brackets, which is *crucial* to that post's message. You just got in the way of that person getting an answer to their question.
- using automated tools to identify posts that don't seem to fit convention and "helpfully" adjusting them for better readability.
reCAPTCHA: mitch irving
BG on October 23, 2009 7:53 AMThe more crap you put in front of the user, the less likely it is that they will read it.
Steve on October 23, 2009 7:55 AMYou point this out as a problem "users will only read the absolute minimum amount of text on the screen necessary to complete their task."
How much unnecessary info are they supposed to read? The first couple of posts on your site, you are still an untrusted entity. They may be completely wasting their time. They will make as little commitment as possible until they see an ROI (which your site does a great job of, but it still comes later).
When it comes to Stackoverflow (which am almost a fanboy of) I think it is you who in fact may be suffering from myopia and not seeing that your UI design needs work being that a user who obviously spent a lot of effort into entering their question did not correctly format the text.
May I be so presumptuous as to make a couple of comments on the posting UI.
1. "Helpful Icons" - Not so helpful. The "Globe with an arrow", the block of 1's and 0's and the, well whatever that blue square is there, all non-standard and difficult to discover through trial and error.
2. The idea that a little bullet item telling you a completely new way to create a paragraph should be all that "good" users need is not founded on good science at all. Argue the merits of Markdown all you want, but if you want to introduce a new way to do something so common, the impetus is on you to make that transparent if not at least easier.
3. By in large, studies show that people read sites in an "F" pattern. Guess where your "helpful" text is?
4. Your view of what the user sees assumes full-screen and relatively large monitor. Many users may not see the "preview".
Not that I don't see your issue, but the "stupid, stupid, user" attitude is a bad habit and you probably sense it already.
Nothing can screen for negligance but if you see "4. xxxxx" and no line break before it would that not be something you could catch? You don't want to get all "clippy" about it ("I see that you are trying to make a numbered list") but catching some of these things seems relatively trivial.
I know this is your blog and you gotta blow off steam. But you never win an argument with a customer. That's right, we are "customers" who are funding your seaside mansion by sharing a small part of our mindspace for your ads (hopefully).
Brent Hoover on October 23, 2009 7:59 AMI think people are kinda missing the point here. It is still valid to point out that users do not read the screen, regardless of the validity of the help text or the editor.
Dustin on October 23, 2009 8:01 AMI've referred to this phenomenon over the years as the "paper towel/toilet tissue tube" view of the screen.
Users seem to have a very narrow circle of focus as the read a screen, whereas I tend to take the whole screen in (looking for ways I, as a developer, know the developer tried to communicate function).
Frank Ramage on October 23, 2009 8:01 AM+1 for "Don't Make Me Think"
Kramii on October 23, 2009 8:02 AMIf people read less give them less stuff to read.
Maybe if you use some sort of states to keep the user focused in a limited number of available tools and information to do the job?
You deleted my reply with a genuine points on how your design doesn't meet your own claims? Classy, Jeff, very classy.
Alexei on October 23, 2009 8:05 AMI think this is just an example of "muddling-through" technology.
Us, the designers expect people to use things we produce in a certain way, and we're often surprised by how people ACTUALLY use it.
A great example is people typing URLs into the search box on google or yahoo.
So, if your a search engine designer what happens when you're presented with a URL? Do you spit it back and say: "Please learn to read the directions!! You can only use AND, OR or simple keywords!" or do you run with it and handling this kind of interaction?
People use things how THEY think it should be used, not how YOU think it should be used. You can't get around this. So you basically have 3 choices:
1. Spit it back as an error.
This is like the annoying person that tells you he simply won't do what you're asking. Its frustrating as hell and it makes the user upset when it happens. On the web this probably translates to someone not returning to your site.
2. Narrow the doorway so no invalid input can enter.
Reformatting the data on the fly, preventing certain characters in an edit box, etc. Again this can be frustrating to the user.
3. Accept odd data and run with it.
The user might not get what he expects as the result, but it's a more comfortable learning experience than option 1 or 2. Here he gets to perform trial and error until the gets results he expects back. Option 1 and 2 simply strong-arm the user into a conforming pathway and the results are less satisfactory. In the long run you can adapt to return the results the user is probably expecting...
Um. Great post by the way. I am not sure why the users are complaining about the fact that you are noticing the disconnect between design and how it's used.
(Hint: This post is noticing the disconnect). Hey at least he is noticing it. But again, I guess users don't read.
Practicality on October 23, 2009 8:13 AMThe editing experience on StackOverflow.com has sucked from day one. Get it right and stop blaming the user....
Anthony on October 23, 2009 8:14 AMI am reminded of one of Joel's principles in designing Fogbugz: that a bug should be really easy to enter. The more difficult you make it, the less bugs that get entered.
It seems to me that there is an extraordinarily easy solution: by default accept text as ascii formatted, and reproduce it exactly (stripping HTML I guess.) Then in place of the toolbar put a button called "Rich Text". Click rich text and it switches to the interface you already have. Store the user's preference in a cookie.
Now you have something that works for quick entry, and works as you expect, plus you have the option of rich text if you want it.
BTW, I normally put a blank line between paragraphs in comment boxes like this, but I omitted them this time just to piss you off :-)
Have you seen text entry at blogger.com? You enter text and it appears EXACTLY as you enter it. If you want markup, you click a button that shows you the HTML tags.
Easy as pie. Works as expected.
Suggest you put the programming tools down, take a break and enroll at an "Intro to Design 101" class at the nearest community college.
SantaClarite on October 23, 2009 8:23 AMJeff, you should know that when a user uses your product "incorrectly", there is no one to blame but yourself. It's painful, I know. you make this great web site for them, you give them all the tools they need, and they forget to put a carriage return in the right place. Bastards! How could they?!
Look, Markdown is fine for some people (specifically programmers), but it's a language with it's own syntax, a concept which most Real People(TM) aren't familiar with. With StackOverflow and ServerFault, you were pretty safe, but with SuperUser, some of the Real People(TM) are making their way in (once they figure out how to get past the OpenID Cerberus).
Why should someone learn Markdown? What incentive do they have? Everyone already knows WYSIWYG. Yeah, yeah, Markdown is WYSIWYG for ASCII (except that it's not, but let's assume it is), would your grandmother understand what that means?
Tyler on October 23, 2009 8:23 AM"Don't want colorization? Use to line break use 2 spaces at end >blockquote."
Makes perfect sense to me. Maybe your own formatting could use some work:
- Don't want colorization? Use .
- To linebreak, use two spaces at the end of line.
(And I have no idea what "> blockquote" is supposed to mean.)
Users ignore sidebars because they're the de facto holding space for ads.
Dawes on October 23, 2009 8:25 AMWhen I see something that remotly looks like an ad, I ignore it.
I think your "here's how the user sees the ask question page" image is wrong. If the user actually looks at the preview, he would see it's not formatted.
Anonyme on October 23, 2009 8:26 AMI think the Larson cartoon does apply to user myopia.
What is one method of training a dog (user?) Positive reinforcement.
I love the badge system on S/O. Maybe there could be a bronze badge awarded for *using* each of the formatting options across a range of several posts.
Anyway, Keep up the great work and good posts.
-Todd
fauxtrot on October 23, 2009 8:28 AM@Jeff Atwood
"Unless you write like this, with no carriage returns between your lines.
Personally I find that a bit odd. But is it normal for some users? This certainly does not look correct to me."
MANY people write like this. (And especially non computer interested people.)
I hate that too. But a theory could be that in books and magazines there normaly are no blank lines beetween paragraphs.
In case of books there are text-indentations, but in magazines often even that is missing. You are supposed to get the paragraph by noting the new line and the most often shorter lengh of the line before - strange.
Roghew on October 23, 2009 8:32 AMI think that the system should work like most users write. Most users don't put lines between paragraphs. Having a database full of comments from the last year, you might be able to extract some statistics…
I usually put the spaces, but not always.
Looks like the overwhelming opinion is change the way the SO editor works, just think how bad it would have been if these sites weren't designed for techies.
Listen to your users.
pete on October 23, 2009 8:40 AMYou train the user to ignore the sidebar, as I find myself doing on all the trilogy sites. I don't care to see your ads, so I don't look in the sidebar. I find myself ignoring the sidebar on many sites, because that's a common place for advertisements. The trilogy sites specifically put ads on many of the pages, most importantly the main page, right where you want them to look on the Ask Question page. Why are there no ads there on the Ask Question page? Your UI is inconsistent in this manner. I expect to find ads there, since you have trained me to expect them in the sidebar by placing them there on your main page and other pages.
Sarah Vessels on October 23, 2009 8:42 AMI was always fond of how Garry Newman put important information on his site, facepunch.com, which is to say he used giant red flashing letters.
It was of course terrible styling and not at all attractive, but it was effective in making users read the rules.
Drastic Contrast can also help focus the attention of users to specific visual parts.
Kyros on October 23, 2009 8:45 AM"People won't really read stuff which's in an area where usually ads are."
+2
I have been conditioned to ignore the top of a web page, the left and right sides of a web pages and any text/graphics in the middle of the web page that do not match the style and format of the rest of the page. Or anything that look like an ad. The entire "How to Ask" sidebar - looks like an ad. Totally ignored it. Even after you pointed out that it was important.
If formatting is important to you - auto format. All the cool apps are doing it.
Non Sequitur on October 23, 2009 8:47 AMOne issue with the preview of outpt is that it is yet another big area directly under the big text box area. When i'm here at work and have my laptop docked that isn't a huge issue. When I'm working from the laptop screen though the two areas are just too big to view so I go with what I know - I typed it in - it probably worked fine.
Jeff on October 23, 2009 8:53 AMI imagine that the answer to your problem is to put the stuff you want users to read exactly where they look. You've already marked it on the last screenshot.
Do you use some kind of mechanism to bucket-test new UI ideas?
Pies on October 23, 2009 8:53 AMSome users are just lazy, untaught and ignorant.
They simply take no efforts, because it work's good enough without greater efforts.
I just would not answer such a question.
If the asker takes no minimal efforts, why should I?
If I'm paid of course the whole thing looks different :-)
If someone pays money he is at least not ignorant and lazy.
Some users are just lazy, untaught and ignorant.
They simply take no efforts, because it work's good enough without greater efforts.
I just would not answer such a question.
If the asker takes no minimal efforts, why should I?
If I'm paid of course the whole thing looks different :-)
If someone pays money he is at least not ignorant and lazy.
+2 for "BTW, I normally put a blank line between paragraphs in comment boxes like this, but I omitted them this time just to piss you off :-)"
Merl on October 23, 2009 8:56 AMJeff,
don't take it the hard way, but nobody reads all the text. Not even you, that is. You're just better at guessing what'll be the general message anywhere and you probably have a better memory of what was where on a site/class of sites. This is why pictures work well, and formatting does a lot. Using formatting it is possible to convey the 'message' of an area without requiring anyone to actually read it........ unless....
..... he or she actually _wants_ (to read) that info
seth@mailinator.com on October 23, 2009 8:58 AMI absolutely agree with you that users will read only the bare minimum that they need to and ignore everything else. However, I completely disagree that this issue is the reason why people are having trouble with this form.
The real issue is that the formatted post does not exactly match what the user typed in. Whether or not the user should put an extra space between paragraphs is irrelevant; the fact is that they are typing something in and it is NOT coming out exactly the same on the other end.
You're asking users to adjust their personal habits/preferences so that they align with your system. That's backwards. Your system should respect the fact that users don't necessarily WANT to follow your specific conventions. You're burdening them with extra work that's completely unrelated to why they're at your site in the first place. That's the problem.
James on October 23, 2009 8:59 AMBy and large, people are stupid. It's not only that they WON'T read; a lot of them simply can't read very well. Nor can they write.
I have a Preview button on my comments - almost no one uses it.
My solution: any CR gets translated to a BR. If they know how to use PRE, B, I and other simple tags, I let them. If not, very simple text is what they get.
Works for me.
I still run across users who don't grok "word-wrap". This may not be entirely their fault, as it's still not ubitquitous in places like e-mail and Notepad, but if something as simple as that isn't easy enough that users are putting explicit carriage returns at tend of every line, then this problem isn't going to be solved by user-education.
Remember the Microsoft paperclip? Clippy was supposed to watch user behavior and when it noticed something that the user was doing inefficiently, it would offer a helpful tip in a very obvious animated in your face way.
This worked wonders for the users that were in need of education, and it annoyed the hell out of users who didn't need it, or didn't want education.
Good luck, but be careful about re-inventing Clippy.
Neal Tibrewala on October 23, 2009 8:59 AM1. No Markdown
2. parse URLs into links
3. "white-space: pre-line;" on output, http://www.w3.org/TR/CSS2/text.html#propdef-white-space
Problem solved.
Michal Migurski on October 23, 2009 8:59 AMYou example and the implementation suck. It's a What You See is Not What You Get.
There are paragraph breaks in the text the user types, but they mysteriously disappear in the final text. Unlike in this comment BTW.
I typed it the way I wanted you to see it. I am not going to learn an editing tool to submit stuff to a site. Follow the principle of least suprise.
Angus on October 23, 2009 9:01 AMHave all users create a document with the word processor of their choosing, then upload the file. Then, all you have to do is parse the file into HTML. I'M BRILLIANT!
Brandon on October 23, 2009 9:01 AMYou could do the slashdot thing and force users to preview before posting. However, I am not 100% sure a user who has their post mangled in this fashion will know that they need to enter an add'l cr in order to get it to show up correctly.
Matt R on October 23, 2009 9:02 AMI think there's a Meta-rule of UI design, before fancy features and making people read directions (which, true, is hard): UI is most successful when it does just what you expect, with NO need for prompts. That is a very hard-to-acheive but Zen-like state. A new user simply starts using a system and says, "Oh, ok. I get it." And they are right, and they use it correctly.
It seems to follow that if I type plain ol' unformatted text into a site that is explicitly designed for the SIMPLEST possible data entry, that the default behaviour would be that the result looks just exactly like what I typed. Call it the "duh" principle. Type, click save. After that principle is satisfied, THEN add extra possibilities around optional formatting.
Merl on October 23, 2009 9:04 AMoh and
> Also, for those of you complaining about the WYSIWYG rich editors
No one complains about WYSIWYG editors. I see some complaining about the lack thereof.
Furthermore many are complaining about your complaining about the users. Isn't that who you are serving? I don't see the users complaining about having to go through hoopos when all they want to do is type a question up.
Stop complaining?
seth@mailinator.com on October 23, 2009 9:05 AMYou claim that this guy didn't put an extra newline between paragraphs, but he *did* put one before the last paragraph. The list is an extension of the first paragraph, which leads directly into it. It makes sense to tack the list on to the end like that.
Steve Johnson on October 23, 2009 9:05 AMI hope you're still reading all those comments. :)
This isn't a problem with markdown. Markdown works equally fine for people who haven't even heard of it yet and advanced users. When creating a community it's better to have a little bit more advanced tools than tools that aren't as powerful as they should be.
The main problem is that those people don't care about the community. They've just googled for "programming question site" and found stackoverflow. They don't bother to read the FAQ or the help. They'll move on to another site just as quickly as they came.
This is pretty obvious if you look at those questions. They usually don't have a proper question as the title but something along the line of "Help, I'm stuck with a problem!" More often than not the body isn't in a good shape either: One big blob of text, exclamation marks sprinkled over the text and English that's worse than one can expect even from a non-native speaker. There are no excuses for using teh, plz, u and other slang expressions.
The sad news is: there isn't much you can do about them. They won't start caring about your site. Don't try to persuade them. What might help is the close-reason "Question of too low quality." (Many people just close them as "Not a real question".) Maybe even allowing custom soft-close reasons which let the author of the question reopen the question by editing it.
Maybe trying to ignore them and give the community tools to handle those cases quickly is the best way to go.
gs on October 23, 2009 9:06 AMHurrah, someone hit the nail on the head:
"If I am otherwise NOT using ANY markdown, the system STILL mangles my post because it applies markdown 100% of the time, even if I have no clue what markdown is or, alternately, even if I know what it is but I don't want to apply any markdown transformation."
Exactly.
The issue is not with having to learn code to do fancy formatting. The issue is with writing with basic, elemental, stuff-that-five-year-olds-can-do formatting - ie spaces and carriage returns - and then having that ripped up and turned ito junk by the formatting engine.
And can we drop this daft notion that WYSIWYG inherently means fancy styling. Notepad is WYSIWYG and it works fine for writing short messages.
Anonymous on October 23, 2009 9:07 AMSo make the text entry box behave in a way users expect. They're not stupid really, it's just that they don't differentiate between MS Word's text entry system or this white box I am typing into, or anywhere else they have to enter information.
It's a box, you type in it. There is a certain expectation that the text will look like this when I save it and see it again.
If the user is required to type formatting junk into the text entry box, they won't bother.
Remember - the people asking for help are often busy, in the middle of an important task that they can no longer complete and under pressure to complete that task. The last thing they want to think about is formatting text; it's hard enough wording a highly specific problem as a generic query that other people can help with.
James on October 23, 2009 9:10 AMAlso, fix your damn comment system. My comment was posted, but I got this page:
Publish failed: Renaming tempfile 'C:\codinghorror\blog\archives\001306.html.new' failed: Renaming 'C:\codinghorror\blog\archives\001306.html.new' to 'C:\codinghorror\blog\archives\001306.html' failed: Permission denied
Steve Johnson on October 23, 2009 9:11 AMEchoing what other's have said... as soon as you put advertising in that right column, you can no longer put anything useful there. The right column == advertising. The whole thing. It's not your space anymore.
Tree on October 23, 2009 9:12 AMI don't think the issue here is about users not reading or not seeing the instructions right there in front of them. I think it's a more serious issue, and if you spent any time on forums, Youtube, or Myspace, or any site which lets users customize things, you would see the real problem: users don't care what their content looks like.
The average user simply does not care what their post, video, profile page, or whatever, actually looks like, and you can shove previews down their throats all you want - they simply do not care. Most forum posts are unreadable, full of misspellings, formatting problems, lack of paragraphs, capital letters, and punctuation. Most videos are unwatchable, often posted with no editing at all. Most Myspace pages are impossible to read. It's almost as if the user never even looked at their content after they posted it! Oh wait... yup, that's what happens.
BTW, I would suggest removing the Far Side comic... Gary Larson is known for defending his copyright, and he seems to be immune to the Streisand effect. That is why it's nearly impossible to find the Far Side on the net anywhere.
Jasmine on October 23, 2009 9:16 AMAsynchronous animation might help draw the attention of the user. If, after the page has loaded, or after the user begins typing, the formatting reference div were to fade in, then his attention is drawn there.
Still, if the user simply doesn't care, there's not much to be done about that :)
TK on October 23, 2009 9:18 AMLot of good comments here. A lot… so someone may have said this earlier.
One of the lessons I've learned through a lot of hard experience is:
Do not trust users to do anything.
It's a step further than what Jeff stated: "… users will only read the absolute minimum amount of text on the screen necessary to complete their task."
My experience states that: "… users will only DO the absolute minimum necessary to complete their task, whether it's reading, clicking, discovery, experimentation… *anything.*"
Whatever "it" is, I always try to just DO it for the user.
If there are any steps a user needs to take, remove them.
Or do it automatically.
Or walk them through it using simple words, as if you're talking to a small child (but without implying that they're idiots, of course).
Don't assume sophisticated users aren't prone to bouts of idiocy. They (read: We) are.
So perhaps in this case, a solution would be: make it a WYSIWYG editor. (Redmine actually has a good one that also allows for and other "non-standard" bits.) Have a button that allows users to toggle between the WYSIWYG editor and the standard Markdown editor w/ live preview.
Justin D on October 23, 2009 9:18 AMThis is a classic case of a user interface that sucks. You type one thing and it turns it into trash. Why would I look at the preview if I am not trying to do any formatting? Why would I expect to HAVE to look at the preview?
No.
The problem here is a formatting engine that gets in the way.
Rip that stupid thing right out, replace \r\n with HTML line breaks, and you're done.
The user is always right. If you, as a programmer, put in something that is unexpected by the user, even though you put notices in green on hot pink, it's still your fault for not creating something that the users will naturally use correctly.
I ask the same question again: Why the f*ck would you expect me, the user, to double check my formatting if I have not added any formatting code? It is assumed that my formatting does not need double checking since I put in no formatting codes into my prose.
gm on October 23, 2009 9:22 AMThis is something that I've wondered on all sorts of generally well designed sites - why not have your input box exactly the same as what you are expecting to come out? Same font size, same width, etc.
This message box has significantly less width than the area for comments above it - so I have absolutely no clue what it will look like when it hits the line breaks.
Even the "WYSIWYG" editors don't give you the same thing you entered if the parameters of the input box aren't exactly the same as what you get out of it.
On a slightly separate note (and similar to your previous posts about the worst code being your own), I find it somewhat entertaining that you can write about poor usability and trying to force users to do things your way, and then go ahead and do all the things that you are complaining about. Reminds me of myself, and based on this article I'm going to go change the input of one of the programs I'm developing right now.
Anonymous on October 23, 2009 9:27 AMI completely screwed up the formatting on one of my first answers on StackOverflow for a reason similar to the myopia that Jeff described. But it was not entirely my fault. I was running the NoScript add-on for Firefox, which I had told to allow stackoverflow.com. Unfortunately, it was still blocking googleapis.com and with that blocked I was not even shown the real-time preview or the formatting buttons. The Formatting Reference was there, but there's no "Preview Post" button, so I didn't know if my formatting was working or not (It wasn't).
Now, I may not be a typical user, but NoScript is used commonly enough that some sort of warning that the real-time preview was disabled sure would have been nice.
My point is, while user myopia is VERY real (an I'm as guilty of it as anyone) StackOverflow simply didn't show me what I needed to see.
On the other hand, Jeff, you and your team have created one of my new favorite web-sites. I'm visiting there almost every day, even if I'm not posting questions or answers. Keep up the good work.
A.J. on October 23, 2009 9:31 AMOf course, users that don't separate their paragraphs (and offset things like bullet lists) with a blank line have *already* missed the demographic of the site.
Communicating with text online is still beyond them.
Clinton on October 23, 2009 9:33 AMUntil I saw the neon pink version with the arrows, I didn't notice it either.
Nearly 15 years of web browsing has trained my brain to ignore the narrow side columns because THAT'S WHERE THE CRAP IS (i.e. annoying ads).
So, yes, I think some kind of cue within the "content area" is needed to draw a user's attention to the tips over to the right...
Jim Harte on October 23, 2009 9:34 AMas a technical writer, i find this entire discussion hilarious. user myopia is present everywhere, folks. users don't want a damned phone book listing every single feature of your app, they just want to get something done & some moron in management chose your app as the tool they must use. yet my peers & i persist in writing damned phone books for them. why? because it's too hard to actually write something that would help the user use your app.
with this knowledge i have to face work every morning ...
jeeeem spriggs on October 23, 2009 9:35 AMAtwood, you should know better. It pisses me off that a supposed authority on programming says what you do.
Would you put a confirmation box on your program that says "You did not ask to delete all your data files, but if you press yes right now, all your files will be gone. I hope you are reading this."? I'm betting that you would, and then blame the user for having pressed yes on the box without reading.
You are blaming the user here for performing behavior that the user did not even ask for.
No, you are dead wrong on this.
I am decidedly a Windows guy, but you need to ask yourself "What would Apple do?" the next time you write anything that has to do with user interfaces.
gm on October 23, 2009 9:36 AMAtwood, you should know better. It pisses me off that a supposed authority on programming says what you do.
Would you put a confirmation box on your program that says "You did not ask to delete all your data files, but if you press yes right now, all your files will be gone. I hope you are reading this."? I'm betting that you would, and then blame the user for having pressed yes on the box without reading.
You are blaming the user here for performing behavior that the user did not even ask for.
No, you are dead wrong on this.
I am decidedly a Windows guy, but you need to ask yourself "What would Apple do?" the next time you write anything that has to do with user interfaces.
gm on October 23, 2009 9:36 AMI really hate it when formatting comes with paste to my text. I never use that function, but of course it has to be default. I have to use NotePad or specifically search for paste unformatted. And in writing email I never find paste unformatted.
By the way, did I mention that I really hate it when formatting comes with paste to my text? Well, here it goes: I really hate it when formatting comes with paste to my text.
Silvercode on October 23, 2009 9:38 AMno pictures? I am not reading this... blah blah blah.. jk. gj!
Drew on October 23, 2009 9:38 AMAsking the average computer user to follow your cumbersome (and counter intuitive) formatting rules is a prime example of stopping the user's proceeding with idiocy.
I assume this blog post was tounge-in-cheek and you're mearly poking fun at yourself.
Thanks.
Gregg on October 23, 2009 9:40 AMI've asked a few Q's on SU and SO, but I've never noticed that "Formatting Reference" on the right :)
More often that not, your "Live View" is below the fold, and unless you know it's there, it's hard to spot.
Good article btw.
rm on October 23, 2009 9:50 AMI'm a programmer with a long history of technical support. The first time I tried to post a question in Stack Overflow, it took me about half an hour to figure out how to use that #$%@!@ Markdown crap. To begin with, I had no idea why my formatting was being destroyed, and then when I found the 'explicit' instructions in the right hand area of the page (where I usually ignore the ads), they were, to my mind, quite obscure.
DougS on October 23, 2009 9:51 AMoh no people aren't following my exacting instructions for post messages :(
cry more you worthless prick
Andrew on October 23, 2009 9:52 AMWow. Lot's of strong feelings here. Actually, I thought this post was pretty good and made me think about an often overlook problem in user interaction design. If you doubt that for minute, try searching the web for "windows vista popups" - you'll find some related rants, for sure!
The reason I was drawn to comment though was that I doubt SuperUser will be improved by creating a 'template' question for new users. If anything, it will create a flurry of questions that look like:
My [fill in your OS] keeps crashing. Help!
1. List Item
2. List Item
* Bullet Item
> Blockquote
Code sample line 1
There is a better The Far Side for what you want. Same panel except the dog is replaced with a cat. The top panel title is "What we say to cats". The speech bubble in the "what they hear" panel is completely empty.
Jeff, you apparently have never seen typical user Word documents. If they want to indent the first line of a paragraph, they type 5 spaces. If they want a blank line between paragraphs, they type a blank line. If they want to center text vertically, they add a bunch of blank lines in front of the text until it looks good. All those buttons and whatnot in the toolbar are meaningless noise. The menu with the name Format, meaningless. That's a tool these kinds of users use every day. Now you want this user to come to your website for the first time and understand how to format stuff when it isn't WYSIWYG?
I have a decent stackoverflow rep and I can never get the link format right the first time. Is it ()[] or []() and is it text before link or link before text? Of course I'm usually answering questions and the help text where the ads goes isn't even there for me see.
jmucchiello on October 23, 2009 9:54 AMThere is a better The Far Side for what you want. Same panel except the dog is replaced with a cat. The top panel title is "What we say to cats". The speech bubble in the "what they hear" panel is completely empty.
Jeff, you apparently have never seen typical user Word documents. If they want to indent the first line of a paragraph, they type 5 spaces. If they want a blank line between paragraphs, they type a blank line. If they want to center text vertically, they add a bunch of blank lines in front of the text until it looks good. All those buttons and whatnot in the toolbar are meaningless noise. The menu with the name Format, meaningless. That's a tool these kinds of users use every day. Now you want this user to come to your website for the first time and understand how to format stuff when it isn't WYSIWYG?
I have a decent stackoverflow rep and I can never get the link format right the first time. Is it ()[] or []() and is it text before link or link before text? Of course I'm usually answering questions and the help text where the ads goes isn't even there for me see.
jmucchiello on October 23, 2009 9:55 AMI agree that the editing/previewing combination needs work, and that the sidebar goes largely unread. I'm intrigued that no one apart from Phenwoods has commented on the content of the sidebar text. There's room for improvement here, I think.
"How to Ask" could be deleted entirely.
"Is your question about computer software or computer hardware" isn't helpful. I'm inclined to answer with one of the choices: "My question is about computer software." But what does that mean?
"We prefer questions that can be answered, not just discussed" could be replaced with "Questions only, please! No discussions."
"If your question is about this website, ask it on meta instead" could be "Questions about this site? Ask on meta."
My point is that even if I start reading the sidebar, I'd probably stop. I'm reminded of something your friend Joel once wrote about a wordy dialog box on Juno.
Grushenkaman on October 23, 2009 9:56 AMThat Formatting Reference looks like it was written by a 6 year old.
"linebreak" should be "line break" or perhaps "line-break" since it is being used as a verb. It looks as if the "to linebreak" part is a continuation of the previous line reading "don't want colorization? use pre to linebreak use 2 spaces at end"
"> blockquote"? WTF?!?!
Why are your insisting in "The root problem is lack of carriage returns between paragraphs, which is sort of a fairly accepted standard for net conversation .. just read the 20+ comments above yours. Notice a pattern?" It looks correct in input field. thats enough. (also in the input field it looks like eitehr carriage return or spaces, neither can be seen below.
offler on October 23, 2009 10:08 AM
Speaking as a professional graphic designer, typesetter, type fancier, and member of the last pre-desktop-computer generation, I feel compelled to point out that the skip-a-line method of separating paragraphs is a recent and unfortunate development. It arose out of e-mail, USENET, and other ASCII-based text unable to handle even the simplest formatting. Before that, in a practice still used in print (read any novel, for instance), paragraphs were demarcated visually by indenting the first line, and not by skipping lines, even when using a typewriter. However, on-line text boxes are too stupid—er, too limited in their capabilities to allow this method, so the alternative grew out of regrettable necessity. Also, so far as I can tell, most of the people who introduced this habit were engineers, whom I have noted, from years of experience with them, seem to treat the rules of written and spoken English in a rather cavalier fashion.
DB on October 23, 2009 10:14 AMWow. Lots of nasty comments. The premise of the post is correct: that people ignore just about everything. And we all have supendous examples.
The example is weak, however. What it really shows is how huge the gap can be between first time user and even a seasoned UI developer.
Its weakness is that it has its own paradigm and conventions that every first time user could not reasonably be expected to get right without plenty of care, time, reading and investigation. Once (if) they start to wonder what colorization or backticks are you've likely lost them. It's obvious to you, Jeff, but not all users. Therein lies the problem, and it is not easy to solve!
Blame the user for bad software. Stop wasting your time trying to train everyone and just have the question look the same as what the user typed in the format they typed it in.
Jeff on October 23, 2009 10:29 AMThere is no technical solution for a user not caring.
You've gotten around it by instituting User editing. Without it, the trilogy sites would be unbearable to navigate and would resemble all the other programming forums on the internet.
George on October 23, 2009 10:30 AMI'm a user -- why is it wrong for me to assume that what I input is what will actually be ultimately displayed?
I'm a developer -- I've created this awesome piece of software. Why is it that, regardless of instructions or help or walkthroughs or whatever one might come up with to 'assist' users, the users never use the software 'right'?
The bottom line is, whatever users do with software IS right.
Taking the issue at hand, the solution is a WYSIWYG text input. Forget the preview: there's nothing indicating that's an actual preview and even if there was, in fat bold undelined letters, the user is focused on the input box, that's what he/she sees, nothing else. In fact, that fancy toolbar is for 'advanced' users.
pcrispim on October 23, 2009 10:31 AMPeople aren't understanding (or possibly even reading) how to use your web site. Your options are:
1. Leave the site the same, and blog about how users are myopic/dumb/some-other-negative-adjective.
2. Change the site to make it easier to use.
Which option results in a better web site? Which results in more respect for you, rather than less?
Singlestone on October 23, 2009 10:33 AMNo only do users not read anything they don't have to, it is naive of us to expect them to do otherwise.
Heck, I didn't even bother to read the rest of the comments to see if this point had already been made!
If you're truly concerned about how your site is used, I suggest usability testing (see useit.com for many ways to do this on the cheap).
Steven A. Lowe on October 23, 2009 10:37 AM"..this particular asker, who, apparently, was totally satisfied with obviously broken formatting..."
So... was there actually an issue here if the user was apparently totally satisfied?
Say you sell a fine piece of precision machinery to the user, who uses it as a hammer to put up a picture. You both win, and leave it at that.
On the topic of cognitive dissonance, why is the entry in a fixed-width font and the preview text in a proportional font? Looks like it's the case here too. Is this a best practice?
keith on October 23, 2009 10:38 AMDog pile!
I'm going to have to agree with the folk who think that the original text looked just fine.
Question: Why is it that WYSIWYG is universal in application programming land but an alien concept in web page land? As an application developer I am continuously both infuriated and amazed by the ridiculous work arounds employed by web developers.
A preview area? Really? Is this what we're doing now? This is the state of the art? Is flash unable to solve this problem for you? Is fancy-pants super-dynamic HTML powerless? Do we need to break out the old java applet framework?
I don't need a manual down the side of my screen explaining something that I've been able to do in every word processor since about 1984. If you can't do a decent editor at least give me plain text and get out of my way.
Ok, rant over.. back to real work.
AdderTheBlack on October 23, 2009 10:46 AMHow about if, by default, markdown is switched off, along with the preview pane.
Users who don't currently see anything other than what they're typing will get exactly what they type, without any fancy formatting. So the example above will work just fine.
Users who see the markdown button can press it to turn on the toolbar and preview pane. The site will remember this for future visits.
Does this not give the best of both worlds?
Steve M on October 23, 2009 10:48 AMThere was a recent study that came to the conclusion that users will ignore sidebar advertisements and anything that *looks* like advertisements. The negative space just makes it look separated from the site and therefore an ad.
Nick C on October 23, 2009 10:52 AMThe user wants to do things their way; you want them to do it your way.
CynicalTyler on October 23, 2009 10:58 AMThe 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.
bill on October 23, 2009 11:03 AMThere'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.
Daniel Knight on October 23, 2009 11:11 AM"...users will only read the absolute minimum amount of text on the screen necessary to complete their task."
I don't see why there should be any other text *but* the absolute minimum needed to complete their task.
Delete their questions. With any luck, they'll get fired, go bankrupt, and starve to death, and the species will improve.
Anonymous Curmudgeon on October 23, 2009 11:16 AMThis 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.
Dave on October 23, 2009 11:36 AMI'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.
PUIZ András on October 23, 2009 11:37 AMOh, and you could have stripped HTML more gracefully from this bit, too.
Something's clearly broken here.
You can blame the users, or try to fix what needs to be fixed.
Your choice.
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")
Patrick McElhaney on October 23, 2009 11:44 AMWhen 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...
Jinwe on October 23, 2009 12:03 PMOn 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)
Brent Rockwood on October 23, 2009 12:14 PMNever try and teach a user to think. It wastes your time and annoys the user.
ThatGuyInTheBack on October 23, 2009 12:16 PMWhy 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.
Andy on October 23, 2009 12:25 PMHow 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.
commons on October 23, 2009 12:38 PM@Andy - 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?
Jim on October 23, 2009 12:43 PMThe "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.
Anonymous on October 23, 2009 12:49 PMJeff,
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.
Chad on October 23, 2009 12:50 PM@Jim,
As for what business, there's this: http://blog.stackoverflow.com/2009/10/introducing-stack-overflow-careers
-- (I hope that was an acceptable horizontal rule)
The attitude of Jeff's post and especially his comments and this thread is one of contempt for his users. The users who are providing content that makes his website something anybody gives a damn about. I might consider that a firable offense.
Joel and Jeff are certainly sending some interesting signals about their relationship with their readers/user/content providers.
John McG on October 23, 2009 12:52 PMI'd put an animation of Shakira where you'd like the users to look...
Steve on October 23, 2009 12:56 PMIt's not as if the world is divided into users and non-users. Developers are also users of other applications, and they are as myopic as anyone else when using other people's programs. (They may be even more impatient, not wanting to break their workflow.)
Once I realized this and caught myself myopically not reading dialogs in other applications, the point suddenly sank in and I became much more aware of this in my own work.
Brian on October 23, 2009 1:00 PMthis blog still sucks
whocares on October 23, 2009 1:05 PM@Jim,
in case the concept of a word having multiple meanings is foreign to you:
"5. (uncountable) One's dealings; patronage.
I shall take my business elsewhere."
Also, who do you think generates the revenue to keep the site going if not the users?
Andy on October 23, 2009 1:07 PMI don't know if anyone else has mentioned this ( several pages of comments + at work == no time to read them ), but when I look at the question input page, one thing comes to mind.
The area where all those fun, awesome, helpful hints are? Same area that ads are placed in on other sites. Part of "user myopia" may be that after all this time, advertisers have trained people to ignore anything that isn't content. So when a user sees the text input box, plus some stuff off to the right that is differently coloured, they ignore everything else because it might be an ad. I don't think this is something that can be fixed, and for more advanced internet users, it may be a bit more of a problem -- they've been exposed to more ads than your average user, so their blinders are even more severe.
Sean Hagen on October 23, 2009 1:10 PMI have the perfect solution to deal with this problem:
_____
/ \
|/~~~\|
||O O||
|| ||
|| J ||
||._.||
| |
\__/
Hi.
It looks like you are trying to type a numbered list.
Would you like help with this feature?
----------
(I know, I know; I'm not the first one to bring it up. So what? I can't spend the whole day refreshing the home page of this blog to be the first one to comment. Besides, I just couldn't resist.)
Euro Micelli on October 23, 2009 1:12 PM"pre-populate the question entry area with some example formatting that is typical of the average question" - Please do! As well, I can't see any formatting advice when adding a comment when the page is long.
Garry on October 23, 2009 1:14 PMI guess this is exactly why Apple is as popular as it is. If you would strip down all but the text input area you would then automatically contrast any clues you would place on the page. I mean i just think that there's a lot of stuff on the page, things you need, like the title and tags but still.
And so when you have more than one thing which demand your attention, you immediately just try to get through everything quickly, because in the end you're just trying to accomplish one thing.
JPH on October 23, 2009 1:15 PMJeff is turning into a bitter old man. Soon, he will be screaming at users to stay off his virtual lawn while reading a computer shopper magazine and professing the virtues of a dead age.
Kevin on October 23, 2009 1:17 PMYou need to undarken the title box in your last image.
commons on October 23, 2009 1:37 PMHi Jeff,
Thanks for the thought-provoking post. I dare say I am capable of reading and following instructions... but would be very unlikely to look at your helpful formatting guide or use the formatting toolbar. Like many busy users, I tend to focus only on the absolutely necessary parts of of a task or site. Also, as others have pointed out, your guide appears in a place (and is formatted in a way) that is similar to advertising -- which I am adept at ignoring.
Don't blame the user -- simplify the interface.
James Huff on October 23, 2009 1:40 PMheh by not reading last 250 comments I want to reiterate.
I want to notice that yes in your example your markdown screwed completely well formatted text. Your new line issue is for sure PITA.
Last week I asked the first question on SF. And I was also 1second away to post the badly formatted question. And then thought wtf when seen it on preview.
For me it was confusing to introduce additional double carriage returns. And yes i did not see/used any toolbars and your hints.
Why should I? It just filling textbox anyway.
So you would like some sort of animated character to appear in the middle of the text box, something like:
"I see you're trying to enter a piece of code, would you like some assistance?"
Perhaps a dog, wizard, or talking paperclip?
Paul Holt on October 23, 2009 2:07 PMI'll have to join the choir here - I'd use single CRs as a simple way to separate list items:
1. do this
2. do that
3. etc
Only if the items are too long, I may add another CR between the list items.
And in the few times I've asked stuff in StackOverflow, I had to fight with the stupid formatting to get it to display the way I want.
Jonathan on October 23, 2009 2:25 PMAtwood: "The root problem is lack of carriage returns between paragraphs, which is sort of a fairly accepted standard for net conversation .. just read the 20+ comments above yours. Notice a pattern?"
Obviously, it isn't standard in the population that happens to use the "superuser" site.
I've found that not doing what you are expecting is common.
njkayaker on October 23, 2009 2:57 PMThe default for behavior offline is to use the product and only refer to the manual when you get into trouble. Remember that old saw about the first instruction in a test or manual being "read this document completely before going on to the next step?"
This behavior occurs even when using products that could potentially maim or kill you, like power tools and automobiles. (Be honest, who's ever read their car manual cover to cover?) Why would we expect anything different from a user when it comes to software?
Tom Karlo on October 23, 2009 3:56 PMThe problem would be solved with (from John Gruber) the GitHub Flavored Markdown (GFM) - http://github.github.com/github-flavored-markdown/
1. Newlines: "GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended."
2. Multiple underscores in words: "It is not reasonable to italicize just part of a word, especially when you're dealing with code and names often appear with multiple underscores. Therefore, GFM ignores multiple underscores in words."
3. URL autolinking: "GFM will autolink standard URLs, so if you want to link to a URL (instead of setting link text), you can simply enter the URL and it will be turned into a link to that URL."
Why should I have to learn your special language to post to your sites?
*sigh* I wish everyone were consistent. Wiki, html, bbcode, yeesh. So much for an intuitive interface.
Remove the "code view" and put it right into preview mode like Blogger or WordPress does. Let the user switch to a code view if they want to format special or type it. See ASP.NET forums for an example of this.
Also, as many have already said, I often ignore things on the right side, that's where most sites put ads.
nikki on October 23, 2009 4:58 PMThis is ridiculous. You can't expect someone to learn your ad hoc programming language in order to ask a question about software and technology. They aren't technically savvy and will not grasp the concept of software in many instances... that is exactly why they are asking the question!
Who puts two spaces after a line-break?
It is unnatural. Not even this comments page does it.
What you need to do is adapt to the habituated writing style(s) of the questioners.
Add icons for indent and outdent to the toolbar and support them through the use of TAB and SHIFT+TAB. Every time they type a space at the beginning of the line, don't ignore it, but treat it as a TAB. Allow all TABs to be deleted regardless of how they originated. All code must be indented. All indented code gets colorised. Turn all text that resembles a url into a clickable hyperlink. Support no other HTML.
Most importantly of all: convert the questioners key-presses into a live preview and only show that.
The user in your example figured that the way he typed was how it would show up. Not really an unreasonable expectation.
The user is never wrong.
Drew Arrigoni on October 23, 2009 5:20 PMIt dawned on me that the genius of Apple is that they provide simple interfaces, and also make the user feel smart for figuring them out.
JohnMcG on October 23, 2009 5:28 PMTL;DR
John Ferguson on October 23, 2009 5:46 PM> Who puts two spaces after a line-break?
> It is unnatural. Not even this comments page does it.
NOBODY wants you to put "two spaces _after_ a line-break". Where ever did you get that idea?
hop on October 23, 2009 5:47 PMI would suggest you put the preview above the editor, sometimes it is not clear there is a preview (when you are a new user)
Anders on October 23, 2009 5:53 PMYou don't need to put the help in their line of sight. As you said, users don't read it, no matter how obvious the text may sound to us.
Instead you just have to make an intuitive interface for the goal, and then on the back-end compensate for user-error. Otherwise, its *your* error.
Sean McArthur on October 23, 2009 6:42 PMThis (http://en.wikipedia.org/wiki/Cognitive_load#Extraneous_cognitive_load) is one reason why users don't see what you want them to see. As you pointed out, they are focused on their task. Any extraneous information is deliberately ignored in order to allow them to perform that task. To you, it's obvious, to them, it's information that does not pertain to their immediate goal.
Also, formatting is important to you, as the reader of the message. Users don't particularly care about how their message is formatted, as long as they get an answer to their question. Sensitive users will try to make it easy to read. Most users couldn't care less.
Anonymous on October 23, 2009 6:49 PMBack in the day, I worked at a big computer company with a Human Factors lab down the hall from my office. We'd regularly sign-up for HF product testing. It was fun.
One of these tests was configuring the cabling for a small server. We had to match cable to socket. Not too hard in a pre-USB world.
However, the power socket was covered with a bright red label that said to be sure to put the switch on the power supply to the right voltage setting (110/220) before plugging in the computer. Every engineer I knew who took the test peeled off the red label and threw it away, then plugged in the power cord, without ever reading the bright red label.
The engineers were doing what we always did - get rid of stuff that blocked the ports so we could connect the cables. And we've all learned that red labels near power cords always have some sort of bullshit warning and danger info. You know, the kind of crap that everyone ignores because we're all smart enough to not put our computers in the bathtub, to not bite through the cable, to not let 2 year-olds play with the power, or other stuff.
After enough systems were blown-apart because of the wrong voltage settings, power supply designers learned how to auto-sense the voltage.
The moral of the story is that users are not stupid. They do the most natural thing that the rest of the universe has taught them to do. Bad design, on the other hand, prevents using any previously-acquired knowledge from being useful. It makes users frustrated. It impedes getting work done. And designers who make badly designed systems must learn to be a lot less smug and condescending.
Tom Hood on October 23, 2009 7:04 PMYour error lies elsewhere. You give rules (of formatting) and expect people to seek them, learn them and obey them. That's a lot to do if they just want to ask question.
Is it really that hard to extract the intention of having numbered list from the text entered by user?
Put the pavement where the people walk instead of putting the "don't walk on the grass, sidewalk is to your right, go around" sign.
scotty on October 23, 2009 7:19 PMWhy not tie the editor to rep in some way? So if you have 0 rep, you get a plain vanilla ASCII editor that is just going to echo exactly what you type.
Once your rep climbs a bit, you would get access to additional bells and/or whistles
Colin on October 23, 2009 8:19 PMI've only read the first 20 or so comments, but I'm going to join the chorus who say that a WYSIWYG editor would have been the right choice here - and worse, I'm whipping out those 4 awful words:
I told you so!
I was the guy who gave you the 'don't make me think' comment on the SO blog, way back when you were choosing Markdown. You replied that the preview would be right below the user's entered text, so it would be ok. I didn't want to turn into That Endless Comment Debate guy, so I left it there.
But the truth is, in your 'what the user sees' screenshot, you should've blocked out everything but the text entry box. That's what the user *really* sees - his brain is busy enough, formulating a question that encapsulates what he knows about his issue. He shouldn't have to be mentally reconciling what he types over *here* what what is shown over *there*.
Also keep in mind, you are proud to give yourself and your coder colleagues large displays with great resolution. Not all of the SO/SF/SU users will have as much screen space. It's entirely possible that they won't even have their browser window large enough to see the Markdown preview at all!
WYSIWYG solves all of this. I see you still defending Markdown, in your article and in your replies to comments. I see you wanting to find some way to put formatting help directly in the user's view - but this is still a defense of Markdown, which is many things but it is *not* WYSIWYG.
Jeff, you're very perceptive of user issues and foibles, and I've learned a lot from reading your thoughtful and entertaining posts. SO/SF/SU are awesome in so many ways, because you and the team have been so willing to roll up your sleeves, tear off the usual dev blinders, and really *think* about the user POV. It's therefore odd (to me) that you still have this WYSIWYG blind spot!
Bryan on October 23, 2009 8:50 PMI should note, by the way, that if there were *no* Markdown, and the user's question were to be posted to the site exactly as he wrote it, monospaced font, single linefeeds and all - that too would be WYSIWYG.
Personally I want some formatting options (bold, italic, bullets, code tags) - but that doesn't mean I need everything on MS Word's toolbar. Still, I should make the changed to the text I type, and see it right where I typed it. I should not have to scroll down to see if the result is actually what I thought it would be - I should see it right there, where I'm already looking.
Bryan on October 23, 2009 9:33 PMI think you should hire a user usability expert to re-design the foundation of your site series. Then you should charge your users so that you can recover all the money you blew on the usability expert.
This backlash is SOP. Google recently got it by making the search bar bigger. Microsoft also with the new MSDN. I received backlash from customers when I changed the font on a web application from Times New Roman to Verdana. “Please change it back, it hurts my eyes” - That is a direct user quote.
Hopefully you’ll get enough positive feedback that this issue drops off the radar.
Coov on October 23, 2009 10:51 PMHere it is on my screen. When I view the page, the box is so far down I can't see it without scrolling down like I have done in this screen shot.
http://img260.imageshack.us/img260/7552/32116531.gif
Second of all, I'm a programmer those instructions suck. Good luck getting a non technical users to make sense of them.
"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.
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.
Ferdy on October 23, 2009 11:14 PMIn 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.
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)
Sunanda on October 23, 2009 11:52 PMThe simple fact you have a preview and a tips list is indication that your UI is broken.
And to ask "who doesn't type two carriage returns to indicate a paragraph" is fine - but don't forget to also ask "who on earth types two spaces to indicate a line break"
Martin on October 24, 2009 12:48 AM"Line break is 2 spaces at line end"? How WYSIWYG is that Jeff?
Can you see my 2 spaces ;-) ?
Come on - get a real editor please.
DoomProof on October 24, 2009 1:36 AMThey would just wipe out the pre-entered text and write their stuff.
That's how users are. That's how they "work".
shaharyar on October 24, 2009 2:34 AMCommentator "Ferdy" (above), nails it completely. Jeff, I do think you're arguing the wrong side in this case. The user shouldn't have to make any effort, the developer should.
You know that better than most - time to fire up the IDE again I think.
Jonathan Hollin on October 24, 2009 2:56 AMWhy did you have to put my question as an example? So what I didn't use a return character when I was typing in my question - am I evil? I guess all I was trying to do was ask a complex question that took a lot of thought to describe it in a meaningful way. Formatting was the lest of my concerns - asking the question to convey the issues was the real difficulty that I was struggling with. After this embarrassment I can't see myself ever getting on asking another question - Experts Exchange for me now :(
Barakando on October 24, 2009 4:37 AMAll good points in your post Jeff.
One more into the mix: Jacob Nielsen's F-pattern for reading web content. http://www.useit.com/alertbox/reading_pattern.html
Tough choice on the trade-off? I know the form is the central function of that page, but if you really want to get people to read the instruction, the research suggests you have to move it to a hotspot.
I'd only say its worth changing if a significant portion (15%+) are getting it wrong...
Neil Fenwick on October 24, 2009 4:53 AMThis is another problem I have with this post. It seems very unprofessional to single out a real customer for public ridicule in this way. I would be very reluctant now to ask questions on any of these sites, if not being able to navigate your bad design might result in me being made to look like an idiot on a popular blog. I've noticed Jeff does this on twitter too - criticize someone behind their back in public, rather than explain their error in private.
Someone who cared more about their business would have tried to learn from this experience. Find out why people keep making the same mistake, and try to improve the service. Bad companies treat their customers like idiots, and start of with the assumption that every problem is caused by the user not following the correct procedure.
Anon on October 24, 2009 5:19 AMThe main issue I believe is that the text you type gets rendered differently from when you type it.
So Jeff, in your image where you blacked out the parts you think the users do not see, I would also add the preview part. A lot of users may be typing on smaller screens, including netbooks, and the preview might be just too far down the page to see. Or even larger screens, but since the comment input is at the bottom of the page the user might not have scrolled down all the way.
Also, when typing you might not be constantly checking the preview, you might do that once and then forget later, because it looks OK in the input field.
The best way to address the problem would be to make the output appear exactly as how it appears in the input box.
If that's not possible, a possibility would be to pop up the preview once the user clicks submit so that it effectively becomes the only thing you see, with a shading Javascript effect to make it even more obvious, and ask them to confirm or edit.
JRL on October 24, 2009 6:58 AMWHAT THE USER DOES SEE: The Formatting Toolbar
Or at least what looks like the formatting toolbar. As soon as the user sees this, he probably assumes this is a rich text/WYSIWYG editor, and thus assumes the question should display as typed. When the preview doesn't look right, the user probably assumes the website is broken. While that is a wrong assumption, it still gives the user a negative impression of the site that could have been avoided.
Take out the toolbar, and then it's just a text box. A gloriously simple text box. And how should one format text in a simple text box... who knows! But at that point either the user doesn't care and will just type, or then he might go looking for a pink help button or some instructions near the text box.
I think it's less about User Myopia and more about leading the end user. The toolbar is misleading.
Now onto everyone else's comments:
+1 "What's the benefit of ignoring single carriage returns?"
+1 "The point of 'Teaching Users to Read' is not to teach users to read, but that you should design UI so they don’t have to."
+1 "if one person tell you that you drink to much you can ignore it, if you hear it again, you should think about it. If 3 people tell you that you need to consult a doctor."
-1 "'How do we treat user myopia? How do we reach these users?'
By irritating them until they either stop being lazy and learn to read, or get so irritated that they leave us alone." -- the goal of most websites is not to drive people away.
@jmucchiello
"If they want to center text vertically, they add a bunch of blank lines in front of the text until it looks good."
I'm pretty computer literate and have been using Word since Word for MS-DOS and every version since, and I had no idea there was another way to center text vertically. I just looked it up in Word 2007 help, and there it is! Wow, I did not know that.
However, I still think I will just add a bunch of blank lines as that is still easier that looking for that goofy setting. :)
Poindexter on October 24, 2009 7:12 AMThis took you five years to realize? I think this should be an interview question!
"Do users read information that you put on the screen?"
If the answer is anything other than negative, initiate an instant no-hire.
Of course, this would mean that you would end up hiring nobody fresh out of college... or anyone that isn't already jaded by the great unwashed among us. But it's a good marking point.
Have you considered placing the "How to Ask" and "Formatting Reference" on the lefthand side, and then swapping the "Editting Area" to be at the bottom, thereby placing the "Formatted Area" at the top ?
I've never thought the current setup was bad, yet I believe the above configuration would be better.
White lettering on a Blue background for the "Editting Area" would subliminally suggest "Blueprint" to the user.
Re-colouring the background of "How to Ask" to a Redish-Orange would have the virtue of stating a fact instead of making a suggestion.
Cheers,
As a new user of StackOverflow, I didn't notice the preview area because I couldn't see it.
My thought processes:
1 I'm not allowed to upvote. My reputation isn't high enough. Hmm, I don't have any questions, I'm just browsing the site. Is there a question I can answer?
2 I found a question. Although my name is at the top of the page, I don't seem to be logged in. Hassle with incredibly poor U. I. of OpenID because I bought in to the myth (learned through podcasts) that it is somehow easier than just creating an account on this website.
3 Oh, it wants me to type something before it will let me proceed. I type my answer and go back to my actual task: trying to upvote someone else's answer that I I think is good. (but I can't since I don't have the reputation, and I can't build reputation unless I'm logged in, and I can't log in until I answer a question.)
Finally, my point: I'd swear that the WYSWIG box was scrolled off the bottom of my screen.
But the real reason I didn't notice it was because, in my context, it was about 5 levels down from what I was actually trying to do.
It it was scrolled off the bottom, it isn't a surprise I didn't hunt for it - I had no reason to believe it existed.
Now you, with your expert knowledge of the site, your reputation, and your established log in don't see any of these problems, so it isn't surprising it doesn't occur to you to solve them.
David Phillip Oster on October 24, 2009 10:56 AMI just added Markdown to comments on a site, so this doesn't make me feel good about the effort getting actually used.
Firstly, I agree on the dual points that 1) you should have darkened the preview in the "what the user sees" shot, because he clearly didn't look at the preview and 2) if this is a problem, you need a WYSIWYG solution. Nothing wrong with that. Markdown is *not* WYS.
Secondly, what about a warning when questions are obviously devoid of formatting? Can we agree that just ignoring single newlines the author obviously included is really unintuitive for most users? At the least, we should ask if this is what they really meant, before posting.
Calvin Spealman on October 24, 2009 11:12 AMOthers have probably said it, but this is just so clueless it makes me think it's supposed to be a parody. Assuming it's real though: the text the user entered looks fine, it's your site that screwed it up, that's not the user's fault. But even the screwed up text is still legible. No, it's not formatted as I would format it, but the user's question is still clear. Finally, you yourself say "The ask question page is already dangerously close to cluttered with helpful tips". If the page is cluttered (or dangerously close), is it any wonder users don't read it?
Before you try to treat user myopia, you should try treating your own.
blm on October 24, 2009 11:53 AMguys, stop writting comments here.
he will not read until here. That would be work ;-)
sunfire on October 24, 2009 12:48 PMJeff,
Stop trying to defend your poor design choices and just accept the obvious. People are having trouble with the markdown editor. Embrace the opportunity to improve! Drop the ego! Markdown was just fine for a programming audience because programmers love to discover new things and they're very detail oriented. Everyone else just wants to write a damned question or answer and get on with their life. Seriously, if they go:
1. this
2. that
...isn't it pretty obvious they wanted to make a damned list? Is your choice markdown just dogma now?
Please, for goodness sake, stop treating the users like they're dumb. They just have more important things to do with their day.
- Scott W.
Scott W. on October 24, 2009 1:31 PMI know what you mean. Know of the MMO game project Infinity? Never mind. It's not really important, what's important is that it has an online forum where you can go to discuss the development and the game to be. And in one thread the topic of tutorials came up. Many were in favor of an elaborate story based tutorial, some were thinking little unobtrusive hints popping up much like the Windows notifications.
I, having seen and knowing full well even intelligent players would simply ignore these when playing the game, and then 5 seconds later ask me how to play. (annoying me to no end) Instantly thought of something far more dramatic. I made a mockup with an old prototype screenshot. The idea was to pause the game, cover the screen in a dark overlay with very few, very large and very simple instructions so that even if you were to instantly skip it you would still have taken in the information. Unignorable. Occuring only when you would have to do the relevant action. Ensuring users wouldn't get bored reading too much.
Left 4 Dead has already employed, with some success a similar scheme. The game doesn't get paused, but you can't miss the messages as they cover a large part of the playable screen space. The result is I haven't once experienced a new player coming into the game asking how to play. I think video games are ahead in communicating with users because failure to do so is much more critical to the gameplay experience, of other players too, than say someone not quite getting the formatting right on a QA website.
You'll have to take your hat off, Jeff. As about 90% of the other comments say, your site should adapt to the mental image the users have of how it *should* work, not the other way around.
I mean, StackOverflow is great, and I have a bit of rep, but I haven't ever noticed the "help" on the right, either. And I find the buttons WAY un-intuitive, so I just try to edit my comments Wikipedia-style. And I haven't ever known about that "two-spaces before newline" stuff. Seriously, WTF???
"we've provided a handy formatting quick reference"
I think you should redo the part starting from at "> blockquote" and finishing by "foo". Maybe it's because english is not my first language, but I can't guess what the fuck is meant there.
Arkh on October 24, 2009 5:30 PMA couple of previous commenters have mentioned Joel so, straight from page 6 of "User Interface Design From Programmers" by Joel Spolsky:
"Thus, the cardinal axiom of all user interface design: 'A user interface is well designed when the program behaves exactly how the user thought it would.'"
Markdown might be acceptable for StackOverflow but I wonder how the many StackExchange sites are coping with it?
Colin on October 24, 2009 6:00 PMCorrection: "User Interface Design for Programmers" is the correct title
Colin on October 24, 2009 6:02 PMJeff, It's time to respond to the overwhelming hordes that feel you got this wrong. I'm one of them if only for the approach and tone of your post.
retrospect on October 24, 2009 6:03 PM[captcha failed about 9 times in a row; audio doesn't play either...]
The formatting reference is no clearer than the formatted text in the screen capture. I had to reread parts of it three times before it occurred to me that its structure is a point-form list of sentence fragments. After rereading it in detail, I'm still not sure what some of it means.
Maybe users don't read stuff that's hard to read, even if it's short. One might consider getting some graphic design and copywriting help.
Remind me not to rent a car from you. This isn't 1975. People have been using text editors and web sites for years now. When you present someone with a car with the steering wheel controlling the throttle, the transmission lever controlling the direction of the front wheels, the accelerator pedal controlling the gear shift and so on, don't be surprised when they have trouble pulling out of the lot safely.
There are widely acknowledged, well known user interface conventions that lots of people are familiar with. Show some respect. You don't require your users to use an object-verb-subject version of English so they sound like Yoda, don't require them to learn a new way of interacting.
Kaleberg on October 24, 2009 7:39 PMBut the user DID format their text. Just not the way you wanted the user to.
Users know by now not to press unless they want to make a paragraph break, so let them do what's natural: Let the mark a paragraph. That simple. If a user doesn't want to use automatic numbering and bullets, don't fret. Let them do what they want. If a user presses , consider it a paragraph and display a blank line in between the two paragraphs. That'll handle 90% of the issues.
For example, if a user types:
I have a problem and I don't know what to do.
Here's a breakdown of the issues:
1. This is my problem
2. This is another issue.
3. This is my other issue.
Instead of formatting as:
I have a problem and I don't know what to do. Here's a breakdown of the issues: 1. This is my problem 2. This is another issue. 3. This is my other issue.
Format it as:
I have a problem and I don't know what do do.
Here's a breakdown of the issues:
1. This is my problem
2. This is another issue.
3. This is my other issue.
After all, you allow for absolutely no formatting in this website even though it attracts extremely sophisticated users.
David W. on October 24, 2009 8:49 PMMaybe if you had a Clippy character written in JavaScript who could make some encouraging MarkDown recommendations when the user bollocks up the layout? That would be way better than the pink button.
Hugh Brown on October 24, 2009 8:50 PMI'll have to agree here. From the screenshots the help isn't really drawing my eyes, for one thing, the formatting reference should be more plain in it's use of language so it is more reader friendly. Secondly it should be right next to the input field and
nowhere else
at all.
It needs to look like it's attached to it even.
Thirdly, your markup is completely messed. If it doesn't treat the input the way it was given the input, that is to say you type a line break character but no line break is a result, then that is one hell of a massive usability failure. In fact if you want lists to be properly formatted I say take a hint from Word 2007, which can recognize when you are typing
1. list item
2. list item
3. list item
and make a properly formatted list from it.
Well, I certainly hope that you'll take all these comments under consideration even though I doubt you'll bother to read them (that includes this very one too).
While I agree that users don't read anything on the screen, there are conventions that your applications must honor, otherwise the user will hate it.
What happens when a set of common known conventions is gone? Take switchng from a Mac to a PC. Suddenly all key combinations, menus, buttons etc are completely different, and you are unable to perform at full capacity.
Of course, given the time, you'll manage to master the differences and become compatible with both OSes. That's the only exception to the rule I can think of.
Imagine if any of the popular top 5 websites didn't honor any of those conventions and required you to RTFM before you could do anything useful with them. No go, even for Google & Microsoft. Agreed, they have extra features that most people don't know about and it's not always obvious how to learn about them, but they at least offer a minimum level of comfort by honoring those conventions.
As it seems, even when the user is aware that he's not using a WYSIWYG editor (Markdown is NOT WYSIWYG) he at least expects the Enter key to change the line.
PS. On a side note, StumbleUpon suffered from the same problem; you had to add a tag to perform a line break. Finally, after an update that came out a few days ago they honor the Enter key.
My first answer on Superuser.com looked rubbish.
In the example shown, I think the input looks poor because there are no blank lines between paragraphs, bit it is still far more readable than the result. Surely the questioner (maybe half-heartedly) looked at what he had written and hit the Post button. If what he saw in the input box had been worse, he might have looked at making it better.
I think you are expecting too much of a new user. Why should a new line in the input box change to a space? How many users are going to think that the Enter key sometimes acting as an extra space bar instead of a new line key is a good idea? As well as treating user myopia you should also have your own eyes checked.
I also thought that the help was rather unhelpfulm not showing the result and the method.
I would
- change the "put returns between paragraphs" to something like "two returns separate... ...paragraphs nicely." with a blank line beteen the two ellipses.
- indent "indent code by four spaces" and add "like this" to the end.
- change the backtick text to read " `backticks` highlight like this ", the "like this" having been surounded by backticks.
- each method of including a link should be followed by "gives " and the link foo.com
I would also have a balloon showing the source when the usermouses over an example.
Neal on October 25, 2009 1:16 AMTreating Stupid Coders Myopia
Don't let ever make them think their view is right.
Don't let them design software. Take a software eng. which knows how users think.
Don't let them ever desing a user interface. A designer will make our users feel comfortable.
Rent a real programmer for the rest of the job.
Most of the time if a coder programms a user interface he think's to be easy usable it isn't. Mostly a bunch of complicated shortcuts. Rest is mostly unusable: But the coder always thinks his "Baby" (aka code) is perferct.
norf on October 25, 2009 7:08 AMMaybe you should give your editors the ability to flag a user's post as having needed reformatting. A user with more than one such flag could be considered a repeat offender whose subsequent posts can have the nag-meter volume ratcheted up to make sure he/she gets the message...
jake on October 25, 2009 7:44 AMA general UX principle is that the user is always right.
Well, not actually, but believing that the user is always right is good way to think if you want to develop software that people want to use.
In the case of StackOverlow.com, markdown may be perfect because developers are used to working with encoding systems. For other sites, users probably expect input to work more like a word-processing program.
In the never ending struggle with balancing the needs of the experienced user with the raw beginner inevitably some tradeoffs are made. Maybe the cost of having a badly formatted first post for the beginner is worth the extra expressive power that Markdown gives once it is discovered and learned.
Doug on October 25, 2009 8:59 AMThe hoops you have to jump through to get a WYSIWYG editor running in a browser, even close to 2010 is absurd. It's a problem that Microsoft solved a decade ago but we're still trying to fart about getting bold to work properly within an editable div. Not even google have cracked it with their army of Javascript developers working on google docs (the styles drop down fails in Chrome a lot of the time).
There are a lot of good Javascript WYSIWG editors out there but they still allow you to paste images in, copy and pasted HTML (which can be trimmed out on the server, but the user experience is poor). They can also produce a complete mess of HTML with Ps inside DIVs inside SPANs.
Markitup is probably the best Markup one around but not as programmer-friendly as the stackoverflow.com WMD. The problem is now stackexchange has catered for non-techies people no longer like the editor, using **bold** isn't Word like enough.
Chris on October 25, 2009 8:59 AMI don't see anything strange in user myopia. It's called focus: You focus on what you are doing, and ignore distractions.
If people weren't able to do that, nothing much would be done. If drivers weren't capable of mostly ignoring other traffic, billboards, cute girls/boys on the sidewalk etc., nobody would be able to drive a mile without crashing.
I think the problem with formatting is that most people don't notice and can't see that it matters. The question is clear in their own head and they know exactly what they mean, so they don't notice that it is hard to read for other people.
It takes training to find that formatting matters. I'm a developer and I was around age 30 before I finally succumbed and agreed that formatting actually makes a difference.
A true WYSIWYG is probably less hassle for most people than using codes. But I don't know if it makes much difference - I've spent a little time on answers.com, which does have a wysiwyg editor, but most people don't bother with formatting there either, not even to the extent of adding newlines in a 20-sentence reply.
Most likely, the problem runs deeper than users not noticing the formatting tools. The problem is rather that they are blind to the very idea of formatting.
j-g-faustus on October 25, 2009 9:44 AMBlame the user for bad software. Stop wasting your time trying to train everyone and just have the question look the same as what the user typed in the format they typed it in.
Chat on October 25, 2009 2:46 PMBlame the user for bad software. Stop wasting your time trying to train everyone and just have the question look the same as what the user typed in the format they typed it in.
Chat on October 25, 2009 2:47 PMEven accounting for users who have Javascript turned off by default and those who don't have their browser at full screen height (count me in both categories) it's still baffling, not unreasonably, to be typing stuff and then find out there's something showing you how it's actually going to end up.
Chat on October 25, 2009 2:49 PMEven accounting for users who have Javascript turned off by default and those who don't have their browser at full screen height (count me in both categories) it's still baffling, not unreasonably, to be typing stuff and then find out there's something showing you how it's actually going to end up.
Chat on October 25, 2009 2:49 PMit is odd.
Chat on October 25, 2009 2:52 PMI think the current web has trained users to not look in the right column as frequently these are populated with ads on many sites.
I know when looking at the screenshots I completely missed the formatting hints stuff because my brain said - ads, ignore
Stewie on October 25, 2009 4:18 PM+1 for DB's comment who mentions that the "skip-a-line method of separating paragraphs is a recent and unfortunate development". As he writes this is an "habit introduced by engineers that arose out of of e-mail, USENET, and other ASCII-based text unable to handle even the simplest formatting"
I made some research about this and here are some interesting links and extracts:
- http://en.wikipedia.org/wiki/Paragraph :
"A paragraph (from the Greek paragraphos, "to write beside" or "written beside") is a self-contained unit of a discourse in writing dealing with a particular point or idea. The start of a paragraph is indicated by beginning on a new line. Sometimes the first line is indented. At various times the beginning of a paragraph has been indicated by the pilcrow:¶."
- http://www.w3.org/TR/html401/struct/text.html#h-9.3.5 :
"How paragraphs are rendered visually depends on the user agent. Paragraphs are usually rendered flush left with a ragged right margin. Other defaults are appropriate for right-to-left scripts. HTML user agents have traditionally rendered paragraphs with white space before and after.
This contrasts with the style used in novels which indents the first line of the paragraph and uses the regular line spacing between the final line of the current paragraph and the first line of the next
"
I am a developer but I feel compelled to say that, I really do not like the idea now common CSS habit that says that the paragraph line ending height (i.e ) should be two lines high. More often that not, it has messed my text formatting. According to me the original formatting of the comment (with no white line between paragraphs) seemed OK.
-1 for me, my last paragraph needs to be rephrased:
I am a developer but I feel compelled to say that, I really do not like the common CSS habit that says that the paragraph line ending height (i.e ) should be two lines high. More often that not, it has messed my text formatting. According to me, the original formatting of the comment (with no white line between paragraphs) seemed OK.
Pascal Thomet on October 25, 2009 4:38 PM-1 for me, my last paragraph needs to be rephrased:
I am a developer but I feel compelled to say that, I really do not like the common CSS habit that says that the paragraph line ending height (i.e ) should be two lines high. More often that not, it has messed my text formatting. According to me, the original formatting of the comment (with no white line between paragraphs) seemed OK.
Pascal Thomet on October 25, 2009 4:39 PM-1 for me, my last paragraph needs to be rephrased:
I am a developer but I feel compelled to say that, I really do not like the common CSS habit that says that the paragraph line ending height (i.e ) should be two lines high. More often that not, it has messed my text formatting. According to me, the original formatting of the comment (with no white line between paragraphs) seemed OK.
Pascal Thomet on October 25, 2009 4:40 PMSorry for the multiple submission : I was getting an error saying "Publish failed" and I thought my last comment had not been submitted.
As far as I remember here is the content of the "publish failed" page : "Publish failed: could not rename C:\codinghorror\blog\archives\001306.html.new to C:\codinghorror\blog\archives\001306.html. Permission denied"
Pascal Thomet on October 25, 2009 4:47 PMAs a casual observer, I would say that your instructions don't make much sense.
1) Formatting Reference - why would the user be interested in reading a title called that unless he was having trouble with formatting.
2) You aren't actually asking the user to do anything.
Most likely the user did not know that there was anything wrong with his formatting.
Indent by code by 4 spaces - he isn't posting code.
Don't want colorization - his comment doesn't have color.
Blockquotes - he is not quoting anything.
Backtick escapes - he is not using them - whatever they are.
He has satisfied all your requirements as described in your instructions.
My suggestion is change the title to:
Writing Guidelines
1) Use linebreaks to break up long paragraphs.
2) Indent code by 4 spaces
3) When quoting, use blockquote
4) Use pre when you don't want colorization
5) Use ` instead of '
I think the problem comes from the fact that we read from left to right, top to bottom. The instructions are on the right side of the page and on the bottom of the column.
If it was on the left, it would be better.
I also like Andrew's suggestion. I see only gibberish when I look quickly at your formatting instructions. If you want people to follow rules, better follow them yourself.
schouinard on October 25, 2009 8:05 PMJeff, you cant have it both ways. Obviously you are irritated by users who do not put a carriage return between paragraphs, and then you point out people who do, the fact is that there are both types of users on the net. But more importantly there are people who honestly expect the output formatting to look just like the input formatting, right down to the font, which is different here. I am sure you have a perfectly valid reason for that, but it is totally unintuitive to the end user.
The second bit is that some one posting to a site for a solution, has probably burnt some of his time around the problem first. The last thing on his mind is to ensure proper formatting. He is desperately looking for an answer. I truly think that WYSIWYG is the way ahead, and yes Word gets it right most of the times, it is when people start mucking with templates and .dot files do you end up with a tangle worst than well prepared spaghetti. Likewise with OO.org or any similar text editing software.
Quit being so intransigent.
The simple (and utter) fact of this entire issue is this:
THE CONTENT PRESENTED SHOULD LOOK EXACTLY LIKE WHAT WAS TYPED IN THE BOX (additional html, etc., modifiers being applied as specified).
That's it. Period, end of story.
Your example shows perfectly readable formatting as typed into the text box, and shows ignorant monkey formatting in the presentation.
The default presentation should *ALWAYS* reflect the formatting typed into the text box.
Additional formatting should be supported as supplied by the user, but the default should always be to reflect what the user actually typed.
When a developer blames the user for something like this, the fault lies with the developer, not the user (I'm a developer, and I still make that statement).
Markdown might be a cool tool, but it's no excuse for blaming the user when a bit more code would fix the problem (correctly) anyway.
Anonymous on October 25, 2009 11:00 PMTo elaborate on what the vast majority here are saying, there are an abundance of sites where the formatting matches what the user enters into the text box, but that also manage to accommodate HTML tags where specified.
Basically, what you're saying is that you aren't smart enough to do the same thing that just about every other site manages to get right.
Simply put:
If there are no special formatting instructions in the text in the text box, then what is displayed should look *EXACTLY* like what was entered in the text box. If that's too hard, maybe you should be looking for another line of work.
If formatting tags are provided, then, by all means, respect them, and display accordingly.
Blaming the user is just fucking stupid. Get over it and do your job as a developer. Make it work right, regardless of what technology you feel attached to.
Homer on October 25, 2009 11:26 PMSome good principles to think about when designing UI. It totally makes sense and it makes me cringe every time is see a useless Yes-No or Ok-Cancel message box in desktop applications since most people will read at most the first and last word.
Visual C# Kicks on October 26, 2009 12:26 AMI liked the content on this site. Would like to visit again.
Designer handbags from http://www.ithandbag.com
I liked the content on this site.
Designer handbags from http://www.helloebay.com
I think almost all the replies here are from totally conceited idiots. I'm fairly bright and often times when I use an application or a web app it doesn't do what I want. Do I blame the programmer because he wasn't telepathic enough to match the mental model of this one particular user? No. I actually do that thinking stuff (which users aren't supposed to do). I try different things. I even read the instructions or google for help.
Superuser does allow you to re-edit questions to fix bad formatting. It even actually follows a standard (you can format things in html).
other wayne on October 26, 2009 1:33 AMIn addition to everyone said that on right side usually placed advertisement, YOU have advertisement there on the MAIN page, so when user click "Ask question" he's already trained to ignore right side. I've just learned that there are formating tips there from your this post, despite the fact that I use "SO" already for 4 months.
Kirill on October 26, 2009 1:45 AMI would say that if the web was not so full of adds, then maybe users would read side notes instead of skipping them.
We are train to skip flashy adds that says CLICK HERE, why would we read useful informations that are not even blinking ?!
Those teletype terminals have something to answer for!
crlf: Windows
lf: Unix
Start a new line of text at the left hand margin underneath the previous line of text: someone who is writing text on paper or in a text editor.
Strange Idea : try to force users to use at least markup element for each x symbols (probably each 100 for first try). So it will force user to use some markup at first and after some time it will become a habit I think :)
Alexey Shcherbak on October 26, 2009 5:09 AM"I think almost all the replies here are from totally conceited idiots. I'm fairly bright and often times when I use an application or a web app it doesn't do what I want. Do I blame the programmer because he wasn't telepathic enough to match the mental model of this one particular user? No. I actually do that thinking stuff (which users aren't supposed to do). I try different things. I even read the instructions or google for help."
Of course, why should a programmer expend any effort making it possible for ordinary people to use computers? Why should we even bother with a GUI? it was a mistake to even allow people to use a computer without requiring them to first program it. All this "progress" in computing has just been a bunch of concieted idiots intellectually masturbating.
Of Course on October 26, 2009 5:42 AMJeff,
Never seen you come down so hard on a user before. Perhaps you wrote a quick blog entry while you were angry. I've always been a firm believe of "blame the developer, not the user". If most people are using something you've written incorrectly, that tells me your design isn't very intuitive (This happens to every developer - even God).
I can speak for myself and say it annoys me when I create a post *just* like the user mentioned above and when i click "submit" or "preview" it loses my formatting. Why force the user to jump through two hoops (hitting preview to see what it will really look like), when you can just do what they say?
I created paragraphs by doing a double return just for you ;)
Russ on October 26, 2009 6:03 AMAll you ridiculous defensive people accusing Jeff of being hard on users need to learn to read.
Another Jeff on October 26, 2009 6:42 AMNo sure if this has been mentioned... but...
From my experience, animation tends to go a long way in drawing user attention without being a permanent fixture on the page.
For example, I have a form that after about 5 to 8 seconds of no activity the 'save' button starts to glow yellow -- subtle but noticeable. If the user changes inputs the button stops glowing until they idle again.
By drawing attention for just a moment to a block -- especially on a page with no animations to begin with -- has helped with guiding the experience for visitors to my sites
Possibly a first time user simply needs to see an arrow gesture over to the help box to point out the markup help -- or even a fading out box like you already do with new users.
webdev_hb on October 26, 2009 6:47 AMWell, the users aren't quite so lazy when it comes to complaining.
Practicality on October 26, 2009 6:51 AMJeff,
The problem with markdown is not the separation of paragraphs; most users do use 2 newlines.
There are three (3) problems with the current version of markdown:
1:
a single newline should produce a ; 2 or more newlines should mark the end of a paragraph.
2:
Markdown only auto-recognises an (un)ordered list when it is separated by at least 2 newlines.
The ordered list in your example is, at least in the mind of this user, part of the (previous) paragraph.
Markdown needs to auto-recognise (un)ordered lists after a single newline.
3) the image code is rubbish, fortunately this is not a real issue on stackoverflow.com
Jacco on October 26, 2009 7:03 AMAny non-myopic user would suffer horribly in this day and age of software.
Modern software, particularly the web, is straight-up hostile. It wants to draw my attention in rude ways to places I am not interested in. Desktop software wants to install toolbars, desktop icons, system tray widgets, on-startup services. The web is worse - it tries to sell me teeth-whitening secrets and the one thing I can do to get a six-pack in five days. And in an attempt to snag my attention, it will do ANYTHING... it spins, whirls, blinks, sings, and flashes tits. On ticketmaster, the ad you see after you click through the purchase process has a button that looks exactly like the "NEXT" button from the previous five steps!
Your diagram of what the user sees is an extremely accurate depiction of how I view the web.
I can't imagine the filth and lost time I would suffer if I approached the web any other way.
There's nothing you can do to make me relax my guard. My approach to software is to find exactly what I need and then box out everything else. I only step outside the box when I go into search mode.
I imagine myself as your first-time asker, and wonder what would make me look over there into the AdZone to search for formatting tips instead of tits. It's tough. I guess maybe you could detect that I wasn't using any formatting, and tool out by the numbers that I'm making a list, and then flash up some sort of non-interruptive message between the typing zone and the preview zone, with a short message in big letters saying, "Formatting tips are on the right, or click here for details."
But I'm afraid I just re-invented clippy, so I probably wouldn't suggest running with that idea.
More sane is the point that nobody cares. Editors can come and clean it up, and first-timers who care can see the preview, note the problem, and go into search mode.
If the user doesn't care enough to do that, I'm not sure you can help him. Or that you need to.
I think having to delete your example text would annoy me.
Patrick on October 26, 2009 7:10 AMThink about how long it would take to read a webpage if you read all of the text that surrounded your content on a regular basis. You have to admit, most sites have a LOT of things surrounding their content that you don't want to read.
(Speaking of user unfriendly, your CAPTCHA system still bounces me about 50% of the time, even though I know I get it right. What's up with that? Safari 4 on OS X 10.4.11)
Shmork on October 26, 2009 7:14 AMYou need to force the user to do what you want. That's what code is for.
foobar2000 on October 26, 2009 7:48 AM@Bruce Boughton: Word has always treated pressing the Enter key as being a paragraph break. If you want a line break, press Shift+Enter.
What changed in Word 2007 was that the default paragraph style was changed to have a 10-point space after the paragraph. Therefore hitting Enter once is now enough to have space between your paragraphs.
This is the difference between the semantics and the appearance of the document. Markdown is trying to infer some semantics from what the user has typed, and it's getting it wrong. Users don't generally understand the semantics of typographic layout, they just try to replicate it using only the tools they know how to use: spacebar, possibly Tab, and Enter. Have you never seen a Word document where pieces of text are roughly centred or right-aligned using spaces?
Mike Dimmick on October 26, 2009 8:13 AMI think the answer to myopia is thinking _for_ the user, as much as possible!
User expects what they type to appear how they type it (ie, mind reading!) - it's the convention we've been taught while spoiled with MS Word. Only exceptions to this rule are other standards like clicking a button for bold and italic.
SO (and co.) use a "new" kind of formatting - spaces for code? Footnotes indicate urls? What is this? It's new! I bet all of the users on SO have used online forums with some sort of markups (usually bracketed code similiar to html, bbcode for example). So Jeff, it's like you're trying to ... reinvent the wheel and retrain your users.
As horrible as it sounds, you might encounter less problems using the terrible interface and codes that are most like the popular online forums. It is terrible but it is familiar and users know what to do with it.
There is a house with two rooms, one room has a coffee pot and the other room has the coffee maker. How does a man make coffee? Well, he takes the coffee pot from the first room and puts it into the coffee maker in the other room. Now, a second time, the coffee pot and the coffee maker are in the same room. Uhoh. What does the man do? Well, he takes the coffee pot and puts it in that first room. Now, he knows how to make coffee. ; )
rlb on October 26, 2009 8:35 AMHere's a suggestion: put a little radio button above the textarea, with two choices: "Plain Text" (the default), and "Enable MarkDown renderer". You could even add additional rendering engines in the future, like html (a safe subset of common formatting tags, of course), BBedit support, etc. The default "plain text" choice would simply wrap the entire post in 'pre' tags - which seems to be what most users here expect. I think the whole "carriage return != new line" thing only makes sense to people who have had to work on web sites, and/or hand edit html. The ones who don't get it are the same people who will complain about their "formatting" information being "lost" when they resize the browser window!
DMR on October 26, 2009 9:00 AMI have to add my voice to the many people saying 1 carriage return = 1 carriage return.
Why would I hit enter to make two spaces? I really don't see the upside to maintaining that system.
I think this would clean up the posts from alot of people who just aren't willing to hit the enter key twice.
It's not about what they 'should' be doing. It's about how you should be handling their invalid input.
Kevin Laity on October 26, 2009 9:00 AMI have recently begun to use stackoverflow, and, as some have pointed out, for a while I didn't notice even the preview under what I was typing.
Emilio M Bumachar on October 26, 2009 9:18 AMI think users see even less. I had made a few contributions to Stack Overflow before I realized there was a preview pane, as it's almost always below the fold.
By default, you could just display it as plain text (no Markdown), so that it looks just like the text in the input box. WYSIWYG. No surprises, nothing to learn.
Users who want prettier formatting could enable Markdown.
Adrian on October 26, 2009 9:23 AMhttp://stackoverflow.com/questions/57243/finding-missing-emails-in-sql-server
That's the first question I ever asked on StackOverflow - I did not have any trouble with the formatting. The reason is because (OMG!) I READ THE INSTRUCTIONS. Why did I bother to read the instructions? Because I give a crap about what my question looks like! This is the root problem - users don't care what their content looks like. You only have to spend 5 minutes on forums to figure this out. People just want to put their stuff out there and they don't want to put any effort into it - and they do not care about the result. This is a social issue - because for the most part, readers don't care what the content looks like either, and it's a faux pas to tell them their post is unreadable.
I did not see this post as defending the interface. I saw this blog post as a sort of "I can't believe a site designed for programmers is plagued by this well-known issue. You would think programmers, of all people, would be able to read some simple instructions" - it wouldn't matter. You can have WYSIWYG editors, you can have spell-checkers, BBCode, whatever you want... users will still post content that looks like crap.
I say bring back the public floggings. (Seriously - used to be, if you posted something unreadable and full of poor writing skills, you would be publicly lambasted. We need to make that ok again.)
Jasmine on October 26, 2009 9:27 AMHi Jeff, I think you know that most users read from left to right. I think if you'd put your instructions before user gets to the textarea to enter the actual question, you'd have better success.
Eugene on October 26, 2009 9:31 AMHmm....The instructions are where the ads are usually placed. I think your average super user is conditioned to not look in that area.
Chris Nelson on October 26, 2009 9:37 AMDoes anyone read this far down?
Anyway - where's your statistics? How often does this happen? Is it common? How common? Or is the example a fluke? I submit that the post is incomplete without this information. You're always going to be able to find at least one person who can't use the interface, no matter how much you optimize it.
Reid on October 26, 2009 9:39 AMHere's the thing about double carriage returns between paragraphs: it's a kludge, a workaround for the fact that plaintext has no leading or linespacing formatting and no automatic indentation. The same goes for double spaces after periods. Nobody ever used those techniques in print before typewriters because there were more elegant formatting options available. Typewriters and plaintext did not allow any formatting at all, so to improve readability, people adopted extra spaces between sentences and paragraphs.
Today, however, you CAN format text on the screen. That's what this whole conversation is about, in fact. As programs like Word get smarter about auto-formatting paragraphs and sentences, users can and will gradually stop doing the double-space thing by hand (if only they would stop teaching it in typing class). This is a good thing, and an auto-formatting tool should take it into account by inserting whitespace between paragraphs (approximately 1.5 lines' worth) and maybe even indenting them, as printers have done for many decades now.
It frustrates me that these hacks and workarounds that developed out of necessity are now considered by some the "right way" because they have had to use them for so long. We should celebrate the return to sanity offered by true text formatting.
Jesse Janowiak on October 26, 2009 9:47 AMreading Jasmine's post, I think she hit the nail. Users are not interested. Many questions are answered before... if they had put in any effort (tried google for example) they would not need to ask the question in the first place.
But they want an answer for the least amount of effort.
Just type some words, hit submit and wait for the answer to appear.
There is no way you will ever get this kind of user to write a nicely formatted question.
I took a few minutes to mock up what I think would be considerable usability improvements on that screenshot.
http://imageshack.dk//viewimage.php?file=/imagesfree/ro575806.png
BmB on October 26, 2009 9:50 AM@Jeff: "Simply pressing carriage return between paragraphs would have also worked absolute wonders."
I may be a bit late with this, but while an extra CR between paragraphs is normal, an extra CR between LIST ITEMS is absolutely not. In fact you'll notice the original poster DID enter an extra newline following the actual paragraphs, he just kept the LIST and it's items with a single newline.
Frankly, I can't understand why a hard carriage return would be treated as anything else anyway... except in HTML because whitespace is ignored in HTML...
@Jacco - yes, after 25 years as a programmer, I've learned that addressing the root problem is the way to go. Sometimes it's impossible for you to do that. In this case, I think it's impossible to address the issue by changing the interface - but it could be addressed by making it open season on idiot posters. If you post a question that doesn't make sense, or you jack up the formatting to the point of it being unreadable, you deserve a little crap. Having other people come along and fix the post isn't the solution - it only allows people to continue to be lazy. I say, demand that users create good content or be ignored.
Changing the interface in this case would be like spraying air freshener when you just need to take out the trash.
Jasmine on October 26, 2009 10:55 AMThe instructions are in the same spot that ads are on your other pages. It has nothing to do with users being lazy, too stupid to follow instructions, or suffering from "user myopia" (unless you count banner blindness as myopia), it just has to do with the fact that you've trained your users to mentally block out the same area that you chose to put instructions.
I can't believe the attitude some people have in these comments, about the "stupidity" or "laziness" of the users, and I wonder just how out of touch with reality these people are, with their misplaced hostility. Don't blame the users for what is obviously a design mistake.
Anonymous on October 26, 2009 11:25 AMI am sorry but I guess some people are missing the point here by discussing how easy or difficult it is for the users to format their posts using the instructions provided alongside. I guess if the user wanted to, he would have been able to format and indent and number and do everything using the instructions. But know what? That is not important for the user. Because after all he is just posting on some forum, even if he is asking a question. He would have taken pains to ensure formatting had it been any document that mattered to him...but a post on the web just does not most of times matter...And maybe thinking like this is wrong but I guess some of us do think like that.
captcha "had grooving" :)
saket jha on October 26, 2009 11:31 AMWait, you want users to go out of their way to format text? Wasn't he/she/it doing that already when they created a list of items in the first place?
Yes, you could call it myopia, but at the same time they already formatted their question. That's like saying "hey you are trying to do xx. You need to to xx then xy to do xx."
Steve Syfuhs on October 26, 2009 11:33 AMJeff -
Myopia means near sighted.
I think you want to name this post, User Tunnel Vision.
Jack M on October 26, 2009 11:37 AMSo, you letting users drive your car, and you've hooked up the steering wheel so that it does the opposite of what they expect, but it's OK, because who have a notice on the glovebox saying "oh, by the way, the sterring wheel is backwards"?
Anita Fixx on October 26, 2009 11:55 AMI think the blame can be shared a bit.
On the one hand, as many comments here point out, the Markup text processing ignores single newline characters (in favor of requiring consecutive newlines which create empty lines). Additionally, the preview window is separate and distinct from the text entry window requiring the user to make a small effort before previewing occurs.
On the other hand, as Jeff laments, most people do not value layout as they should. I view this as a problem with our educational systems. We spend 12 years studying verb conjugation and sentence structure. I also had a year or two of cursive handwriting instruction, keyboarding, foreign language and even an elective 'graphics' course. However, I didn't learn layout until years later and by my own inclination when I read The Non-Designer's Design Book*.
I think more time should be spent on communicating well in various mediums and less on pedantry. The people who haven't figured out the finer points of semi-colons by sixth grade probably aren't going to. Is the world significantly harmed if I get my point across with imperfect punctuation --> Ie: "Here is a quote."?
Teachers of media should spend a good deal of time demonstrating why clearly-formed messages are important in addition to how to correct them.
* http://www.amazon.com/Non-Designers-Design-Book-Typographic-Principles/dp/1566091594
Brett on October 26, 2009 12:14 PMThis is why I think preview for comments is a good thing - it forces the user to look at the WYSIWYG version of their comment and thus prompts them to reverse if they've formatted it wrong.
Kerry NZ on October 26, 2009 12:40 PMYour view of how the user sees the Ask A Question page is wrong.
The preview is **NOT** in the line-of-sight of the user.
James on October 26, 2009 12:45 PM"But none of that seemed to work for this particular asker, who, apparently, was totally satisfied with obviously broken formatting -- even though a few choice carriage returns would have worked wonders"
I think the irony is that this is the problem with the helpful "Formatting reference". When I try to read it it looks like:
indent code by 4 spaces don't want colorization?
Use to linebreak use 2 spaces at end > blockquote
backtick escapes `like _this_`
Etc.
It's odd to criticise someones formatting, when you can't even master punctuation and capitalization. Also, I still haven't figured out what backticking is escaping in the example.
Observer on October 26, 2009 12:46 PMFor those who keep insisting the text the user entered looks fine:
http://pastie.textmate.org/pastes/670429
Patrick McElhaney on October 26, 2009 12:55 PMEpic fail for Jeff. Original question was fine as typed in you. Your crappy software gunked it up.
Nick on October 26, 2009 1:15 PMTo echo one of the comments above:
Of course nobody reads the formatting information the right side of the screen. That's where they put the ads and we've trained ourselves to not look at the ads. Now not noticing the toolbar, that part I don't know about.
Anonymous on October 26, 2009 1:27 PMYou asked your readers how this stuff should work a few years ago when you were getting ready to launch the sites, and were basically implying that if readers couldn't use markdown then they shouldn't be on the site. Back then I made the comment that many of us don't care about that stuff. Computers have been around far too long to require special codes to format stuff - my Atari wordprocessor worked like that in 1985. WYSIWYG is actually a good thing, it's clever, it makes our lives easy. The markup codes should be invisible as this is the domain of the machine not the user.
And here we are. Someone get's their formatting wrong exactly for this reason. I have to ask, as others already have, why is a line feed not a line feed in the preview?! When you hit Enter you do this cause you want a new line and any GUI that doesn't cope with this is fundamentally flawed. This is not a user issue.
Glenn on October 26, 2009 1:35 PMWhat you're all not getting about WYSIWYG, is that it doesn't really work on the web. End users get their expectations about WYSIWYG from word processing software, which is fundamentally different from web browsers; word processors use the same software to both edit and render a document, whereas HTML can be edited by any number of editing programs to be displayed by any number of web browsers.
The bottom line is that a MS Word document is not an HTML web page. I have a fair amount of experience with user generated web content and I see this mental disconnect all the time. You can't really expect users to understand HTML, but giving them a HTML editor web control doesn't solve their problem. They still screw it up (or it still doesn't meet their expectations) because they're still dealing with HTML under the hood.
Whitespace pitfalls are the most common, but let's take an even simpler example: margins. The width of a text area might vary depending on browser size and resolution; even if the display area is a fixed width div or some such, readers can tweak text size in their browsers, and browsers may render fonts differently depending on display settings, which fonts are installed, and so on. All of these things can affect the rendered line breaks and result in WYS != WYG. You'd think this is a trivial difference, but it really bothers some users (these people _really_ love PDFs). Never mind the people who insert line breaks in the paragraphs (instead of letting the text wrap), much less those who indent text with various combinations of tabs and spaces to create block quotes or even columns of data.
With WYSIWYG the user expectation is basically to have an immutable "picture" of the characters that just happen to form sentances and paragraphs. The nature of HTML is that the structure of a document has meaning independent of how it's displayed.
Chucklehead on October 26, 2009 1:54 PMThe simple problem isn't that a user isn't capable of formatting their response or can't figure out how...
They don't care!
They just want to aske a question and have it answered. How it looks is irrelevant to them. Format as much as you can on your own and call it a day because nothing you do is going to change this.
Kris on October 26, 2009 1:56 PMJeff, try this experiment. Type a several paragraph post in notepad then copy and paste into one of the trilogy new question forms.
I paid attention to the preview window but I ended up using HTML line breaks and thought your editor was the worst I'd ever seen.
Why should I have to take a batch file, a section of a hosts file, or a preformatted table from a PHbb message and reformat it just to make it look nice on the trilogy sites? (of course I do as I take pride in my work but I don't like having to do it).
It's just way obnoxious to not allow me to paste large chunks from notepad without having the linebreaks effectively stripped.
dhanson865 on October 26, 2009 2:05 PMNot that I disagree with the cluelessness of the average user, but I might partly blame widescreen displays for this. Depending on screen resolution and/or the presence of a widescreen monitor, the user might not have been able to see below what they were typing to realize that the formatting wasn't correct until after they typed it and scrolled down to submit. Then they probably ignored the text as if it were an advertisement or terms of service because lets face it. Nobody reads those anyway.
Personally, I use 1600x1200 for my workstation to gain vertical real estate to see that sort of thing, but most people use resolutions far lower than that. I see a lot of people using 1024x760, or even 800x600 and they don't have any idea that something is "wrong".
The ASCII formatting this person used clearly indicated that he thought he was formatting the post. Your editor bears a striking resemblance to Notepad so non-techie users are going to think the formatting is also the same.
Jeff, I love your blog and all, but your underlying assumption that the average internet user would understand the difference between ASCII and markup is probably to blame here. The default for this particular site shouldn't be to use a markup language at all. It should be exactly what they type in, and if someone introduces additional formatting, that's fine. Otherwise, it should appear as the user typed it.
People are going to ignore everything they deem irrelevant to their task at hand because they think it's an advertisement or something similarly stupid that isn't relevant. Oh. That, and people are lazy. Just my 2 centavos.
Mike Taber on October 26, 2009 2:06 PMJeff you have recommended and talked about "Don't Make Me Think" over and over again and yet here you are trying to make the user think. You should now mark your own post with one of your big fat red-letter FAIL signs that you like so much.
Kuerwen on October 26, 2009 2:16 PMThis reminds me the minimalist's quote - KISS ( Keep it simple stupid!). Google become popular for a reason.
Prakash on October 26, 2009 3:54 PMAll these comment show that in the end, people do care about what there post look like.
Jacco on October 26, 2009 4:24 PMOMG i feel so stupid, i've added posts not knowing how to make the markup pretty.
i never noticed it :( I remember doing a search for a how to. Maybe a Rob Conery screen cast would help me :D
Chris Kolenko on October 26, 2009 5:17 PMOH, NO! LOOK OUT FOR THE MARKDOWN POLICE! I thought the grammar police were bad.
Joseph on October 26, 2009 5:32 PMthe reason why we don't see anything else is because we're trying to GET TO THE CONTENT! Even if the article was constricted to only 4 inches in one of the 4 corners of our screen, we'd still ignore everything else if what was in the middle was something unrelated! I for one click on the page title through google search results. And then when on the website I'll look for the title I clicked on. Then I look right underneath that to find my content and ignore everything else. Even if the title was at the very bottom right of the screen, as long as the content followed I'd be glued to that corner and wouldn't care for anything else.
Bob on October 26, 2009 7:24 PMSorry if this has been mentioned already, but my attention span goes from the top of your post to about the 10th comment, just like most blog readers.
Putting sample formatted text in the box would be useless because the average use would just see crap in there and delete it all so that he/she can start typing the question.
Patrick on October 26, 2009 10:32 PM"Markdown is WYSIWYG -- for ASCII."
Except it isn't, as your example in the main article perfectly illustrates.
World Cruises on October 26, 2009 11:19 PM* Poll? (No hassles - feedback possibilities abound)
* Deliberate change of position of everything, one hour, pre-decided, per week - makes big news - promotional gimmick, usability hack, shoot-in-foot alert! ;-)
* sitewide markdown setting for 1 or 2 newlines = linebreak
* ascii text entry option
* @Mike Taber +1 . How about making the preview beside the text area?
* If the main point is User Myopia, point noted, thnx :-)
PlayAround on October 27, 2009 1:32 AMsnomag hit the nail on the head. You've got the instructions in the same imaginary 'box' on the page the adverts live in.
As soon as people associate that area on your page with ads, they will just stop looking at it full stop.
You might try mirroring the layout of the page (i.e. move the column containing the instructions and the markup help to the left of the edit box)
That might break the users association of it with ads.
Sir Digby Chicken Caeser on October 27, 2009 3:16 AMmatthias wandel> If you put useful information where other people usually put advertising, don't expect the user to even glance at it.
So now because enough "authors" decided to use half the space on their pages for advertising, that space is off limits for the rest of us... Awesome. If you don't advertise, just leave half your page blank.
TomCat on October 27, 2009 3:22 AMOuch - I'm glad that wasn't my question submission. Point taken!
Document Scanning Services on October 27, 2009 4:18 AMI got stuck on stackoverflow trying to get my code formatted for almost 30 minutes the first time I did it.
The problem for me was that that formatting reference on the right is ambiguous. And that is when you discover that it is meant to look like that and not HTML errors. "Indent code by 4 spaces" - No problem, I will do as soon as I can find out how to format it as code in the first place.
It is obvious one you know what it means, fairly useless until then.
Dan Brown on October 27, 2009 6:24 AMWhat we have here is a classic case of the Tragedy of the Commons. This "user mypoia" is a psychological effect of being trained not to think when using software.
Getting users accustomed to thinking when they use your interface enables better interfaces that are more efficient and easier to use for those users. The benefit is not constrained to a single interface: although details of interface will differ (conventions across interfaces can help here, but will only go so far and that's a different matter), the mental mode acquired by users of exercising basic cognitive logic makes all interfaces easier to use if they can assume it. It does not take a lot of time for a person to learn, perhaps 0.001% of a human's lifespan and not more than it takes to learn to tie one's shoes, but during that time, the dumb interface has an advantage. Beyond being the natural assumption for an application (as writing software is a much higher intellectual investment), it's a one time investment in the user that then pays off for all applications that make it.
Now if there's one application developer in the picture, clearly that investment is all on him, and he directly sees the gain from it. When there are several more developers in the ecosystem, each will bear that investment on some proportion of the users (namely, those that didn't have it from another application before), and the benefit is spread across all applications, since the set of applications one user uses can change at any time, but still statistically any one user will spend enough time on that developer's applications that in average the investment on a single user will pay off.
But as the ecosystem grows several orders of magnitude larger, with many myriads of developers and many millions of users: while the investment would *still pay off* if all developers *collectively agree to it* as each will only bear it for a small fraction of users, investment *on any one user* will typically not pay off for the developer of the application it was borne in, as the fraction of the benefit for that same developer from the same user will be under the threshold of the investment; so any developer that cannot assume that investment from other applications and is motivated by the typical user, will not make that investment himself.
The result is that applications compete with each other on how dumb the user interface is -- not because dumber user interfaces are by and large to the benefit of users (indeed, they only hinder the productivity and capability of users in any substantial work), but because of the instant gratification from not having to think, that first stimulus which determines the local maximum users will instinctively tend to.
In smaller ecosystems, such as some classes of software and users decades ago when computers were much less widespread, as well as of the many more specialized applications still today (even if to a lesser extent due to cultural trends that built up), one can discern the different assumptions in the prevalent user interfaces. And it is not users that are naturally smarter -- if any librarian, post office clerk, conductor in a train, or ATM operator can learn, so can the Stack Overflow developers or your Super Users, or indeed all average people, if they weren't trained not to.
TomCat on October 27, 2009 6:35 AMUsers' attention is not only about what you put on sight, but also what you don't.
The current ASK page might be better for newbies if you remove everything but one necessary tip. For newbies, you can add a Review Your Question phase after the first click on Submit. You can display only a preview of the question and a second later add one of those orange notification with an advice.
Another approach would be to alert the user when he/she submits a question with a large block of text, i.e., warn them on specific formatting problem.
Another thing I've noticed is you tell the user how to format the question. The user cares about how to get his/her question answered. Talk to the users in this terminology and they'll be more inclined to listen (and good formatting is a way to get faster, better answers).
Asaf R on October 27, 2009 8:10 AMRocket surgery?
Maybe one day we will see signs like this:
NASA Surgeon General Warning: Use of hydrazine increases risk of thruster contamination
Mauricio on October 27, 2009 8:54 AMWow, I didn't have time to read all 400+ comments, but what you have here is Jeff outsourcing his re-design brain-storming session. This is just brilliant!
Patrick on October 27, 2009 1:29 PMPatrick,
One thing you are missing with your example (though it's a cool site) is that, even though what the user types isn't perfect, it's still orders of magnitude *better* than what the preview (markdown applied) shows.
It's a simple statement of fact:
The default formatting should be what the user types in the text box. There is *no* legitimate argument for doing otherwise. A good programmer conforms to the user, not the other way around (and I've been programming various styles of user interfaces and programs for 30 years, and I'll still make that statement).
If the user wants to use markdown (or explicit html), they can then be allowed to do so.
It's easier for the programmer to accommodate the user (especially in this kind of instance) than it is to try to train God knows how many different users to accommodate the programmer.
I've posted comments to literally hundreds of different sites, and the *vast* majority of those sites will preserve the formatting that was entered by the user, even when they also allow for advanced formatting styles.
It's nice that such a pretty and shiny tool such as markdown exists, for those that want to use it. That does not, however, legitimize the idea that the site should mangle the formatting that the user entered, in plain text. Only a lazy programmer would try to force the user to conform to his view of the world.
There's a reason that we're programmers. We like to solve problems, and do cool stuff with code. As a programmer myself, it's much easier for me to help the user do what they would probably do anyway, than it would be for me to try to teach them how to do it my way.
They don't care about your 'rules'. They want to do (or say) something.
And it is remarkably simple to do, especially in this example. Always, always, always, always, DEFER to the formatting that is entered in the input box. And then, apply any explicit formatting directives entered, accordingly.
That isn't hard.
Homer on October 27, 2009 9:35 PMSourceForge have recently updated their site to use mark-down on the project forums, the interface looks identical you StackOverflow, however they have managed to screw it up abysmally.
Often the preview is correct, but the final rendering is screwed. For example, Blockquote gets completely ignored so the text ends up merged with the surrounding text (with > characters inserted for good measure!), and when you post code every instance of " is replaced with "e.
Can't you guys at Stack-overflow tell them how to do it right!? This situation is worse that when they supported n formatting at all, and all your code ended up as a left-justified heap of text!
Even with its flaws however, users continue to mess it up even more entirely on their own!
Clifford on October 28, 2009 12:38 AMGreat article. In reality, readers do not read but rather they scan across a page hoping to find quick answers. The effort of reading through particular formatting rules and the like, may seem helpful from a developer's perspective but it might just be an eye sore for the user. I would assume that this is one of the major paradoxes that user interface designers face.
Josh on October 28, 2009 3:10 AMThe comment by Anonymous - about 7 comments in & the WYSIWYG suggestion are most relevant.
I think people do read comments/dialogs/instructions, they've just learnt to ignore verbage, tech-speak and unclear instructions.
Just as a test I registered @ Super User and opened the 'Ask a question' page.
As a first time user, the formatting panel is all but invisible.
In itself, it's poorly formatted; doesn't stand out and from a (Western) convention is in the lowest priority area on the screen.
Perhaps put the boxes on the left?
When I read it, it little sense to me at all.
What you say ........... what I understand;
"put returns between paragraphs" .... understood, it's a common convention
"indent code by 4 spaces" .... understood, it's another convention
"for linebreak add 2 spaces at end" .... not understood, why? And how hard is it to see/check when you can't see the formatting characters?
"> blockquote" .... understood, but I had to think about it
"backtick escapes `like _so_`" .... no idea what this means or why I would use it
"
[foo](http://foo.com)
foo" .... no idea - what do you want me to do here?
Also, I think your font size(s) could be smaller - For example Apple (and others) are using 10px and it's perfectly legible. This could allow you to get more information on the screen.
Mark Nethercott on October 28, 2009 3:28 AMBloody Hell Jeff your stupidity knows no bounds sometimes.
Give users BBCode markup because that's what people know.
Complaining because people choose not to use carriage returns between paragraphs is pathetic coming from you and your UI bent.
Honestly, I think everyone but you is right in this argument.
Yesterday I was caught our with trying to edit the live preview on the stackoverflow web site. I was hitting backspace to delete stuff, which of course because it's not a text field, becomes the action for the back button.
Shaun McDonald on October 28, 2009 4:04 AMi had to say, for a simple "contact" type form, we had to put a text so that the user only have to type his name and what he want (hello, thank you, whatever where to much for him, and we wanted our client to get mail with the minimum service). It's easier to put things we want than asking the user to do it :)
So after having this experience (and a lot of others of the same type), i find it quite a good idea to put an example. The user will understand, edit and only have to type what he want. No brain needed.
Mike on October 28, 2009 7:30 AMJeff, you must be the most stubborn person the Internet!
The "Formatting Reference" has been altered to read:
"How to Format
put returns between paragraphs
indent code by 4 spaces"
etc...
With the rest unchanged. Put returns between paragraphs? That's the best you can do? I'm sure people only hitting enter once think that's PRECISELY what they're doing! Seriously, you need to admit that you're wrong on this one, and move on. Don't blame the user.
JM on October 28, 2009 9:39 AMBusinesses that treat their customers as the problem eventually solve that problem -- by having no customers.
Fortune Cookie on October 28, 2009 10:31 AMYeah, but if he actually wrote out some variation of "To make one line break, type the enter key twice" it would make the dissonance between what his dumb markup system requires and what a rational person would expect too obvious.
Here's a crazy idea- admit you were wrong, and make markdown treat return characters as...return characters. When a user wants a single line break, they'll hit their line break key once. When they want a double line break, they'll hit it twice. When they want a triple line break, they'll hit it three times! It's just crazy enough to work!
Anonymous on October 28, 2009 10:36 AMLivejournal has solved this problem for text entry if I'm not mistaken.
Further: I suggest two modes.
One is "dumb default", where what you enter gets hacked into HTML exactly as you wrote it, newlines and all. PRE tag, basically.
The other mode is markdown, which must be manually selected(or opted into in the user options, and that allows more sophistication, etc.
If you're asking the wrong questions, there's no wonder you're reaching the wrong conclusions.
The question should not be "Why do users don't bother reading the formatting guidelines?" rather it should be "Why do we want the users to read the guidelines in the first place?". The answer to that is obvious; Its because you're formatting rules are arbitrary and aren't very logical or natural. simply put, Markdown is a total and utter failure of UI engineering.
If I'm pressing the Enter key, I expect that there will be a carriage return. If there isn't, its your fault for not anticipating that, not mine for not noticing the guidelines. If I'm writing numbers at the start of my lines but you fail to notice it, again, your fault for not making the interface smart enough to detect this very common situation.
http://www.codinghorror.com/blog/images/su-ask-what-the-user-sees.png
IT IS WORSE THAN THAT! Users don't look at the preview at all. Jeeze.
Michael Hamilton on October 28, 2009 5:04 PMI follwed the directions on stackoverflow that said, "Put returns between paragraphs," but I didn't get paragraph breaks. I guess it should say, "Put two returns between paragraphs," or "Leave a blank line between paragraphs."
Mark Gilbert on October 28, 2009 8:50 PMIt at least preserves the newlines between items in the list and I'm glad that wasn't my question submission.
Web Solutions on October 28, 2009 9:36 PMWho knew that thing was a preview? It doesn't say it's a preview, and I've never seen one before. How would I know what it is? Plus, it's doing some stupid thing that is only vaguely related to what I'm typing. I can see what I'm typing, and I am familiar with looking at what I'm typing. Why would I trust some unknown and unfamiliar thing over my own eyes?
Mark Gilbert on October 28, 2009 9:58 PMSorry for not reading all comments, but here's a few questions to ask yourself:
Are you sure that the UI actually works as intended for all (or att least most) of the users?
Have you tried that it works with an older version of Firefox on Mac OS X? Have you tried that it works with the latest version of Opera on Linux?
And here is a rather important question:
What happends if the user start to type in the edit box /before/ the page has loaded completely?
Theese kind of problems can stick around in web pages that has many users. For example in sweden there is a thing similar to google maps, at kartor.eniro.se. I've noticed that if I don't wait until the page has loaded completely, it will not show the map at all for the place i search for in the search box.
Also, a while ago I had the questionable pleasure of administrating an existing web site using Mambo (a CMS). I noticed that almost nobody with editing enabled actually published any content. I thougt that they were just lazy and let me do the work. Then I noticed that pages were rather often in the "someone else is editing this page" state but noone were editing anything. This happend from time to time. My conclusion is that users were trying to edit but the buggy editor did'nt work, and for some reason they didn't want to ask me for help about it.
So, the screenshot in this blog entry may not be what the user actually sees, maybe it's only what you think the user sees while the user sees something else (which for exampe may be lacking the toolbar and/or the real-time preview).
MiaM on October 28, 2009 11:18 PMOk, so I am reading the comments up to half this page.
I'm Not sure if Jeff Atwood is just pretending to "Not" recognize the usability problems of Markdown.
Also, he is Not taking seriously the commenters' arguments by countering it with "You're saying users are n00bs for Markdown, but OH YOU are putting 2 carriage returns, so your argument is invalid now, HAHA"
Jeff, with all due respect, please stick to technical topics, but Not usability. Developers have a BIAS against users, it's so difficult for most developers to understand the science and art of usability.
Jacob Neilsen already has solutions to "User Myopia" you speak of:
Formatting Tips should be moved to the top of the page if you want attention drawn to it first:
http://www.useit.com/alertbox/reading_pattern.html
Don't make your boxes look like ads:
http://www.useit.com/alertbox/banner-blindness.html
And what if talk about real ads instead of Formatting Tips? Trust me, you won't blame users if we're talking about Ads. You would exert effort to make your ads seen. And that's how we should work: Don't blame the user. Always design to accommodate the users first.
"If you don't take care of your customers, someone else will."
thenonhacker on October 29, 2009 12:36 AMFinally, don't forget the "Mom Test". Will your Mom be able to use your form without difficulties? If she missed something, why?
How can Mom know that this Brand New Microwave X can be turned on using a switch at the back? Engineers of Microwave X think it needs a switch. And at the back, too.
"Dad Test" is also fine. I wonder how Dad will fare with this new Amazing Car Z, because according to the Car Z Engineers, it's cooler to make the glass 100% tinted black, cameras at the front, and the driver just needs to view the LCD inside the car while driving. Who needs WYSIWYG anyway? 100% tinted black glasses FTW!
These are sarcastic, but I am trying to make a point here, and I hope you know where I am getting at, for the sake of your customers at SuperUser. Don't call them users anymore. They are your CUSTOMERS.
thenonhacker on October 29, 2009 12:48 AMYet another stupid blog post by Jeff.
Well done Jeff.
You will forever be a tool.
Phillip on October 29, 2009 1:56 AMJeff, I've made a really detailed follow up on my blog, but I am running a really old version of Wordpress and I'm not sure the trackback worked:
http://mutedvision.net/blog/?p=47
Michael Hamilton on October 29, 2009 2:59 AMI just dont bother to format on stackoverflow.com ..i only use code formatting thats all...
I must agree with the majority of the other posters. The problem isn't the people, it is your expectations. Why make things so complicated for a simple text entry? Most of the posts on your blog are pretty good Jeff but you have really missed the mark with this one.
Jimmy Dean on October 29, 2009 5:57 AMJeff,
I agree with you. You provided a simple input form - but users just don't see beyond the text box.
However I think its actually one level worse. The preview pane is only visible, if the user has scrolled down that far. I think it would be really handy if upon typing in the edit box, the screen slowly auto-scrolled up a bit to reveal the preview box.
I think it might also be handy if the preview area had a "watermark" "Preview" text such that even *experts* like myself don't click in the preview area (when we do see it) hoping to edit it inline.
Even just a fieldset/legend element wrapping the preview would help identify exactly what it is better.
+---- Preview ------------+
| Hello World |
| |
+-------------------------+
Finally, your textarea has a "control" at the bottom to stretch it, and it visually looks right, because it is styled like a toolbar clickable element. I think adding a similar background/border to the toolbar buttons above the edit area would significantly improve the usability of the toolbar buttons (which 99% of the IE-only, MS Word loving users out there are used to) and after basic use of the toolbar, they will by default, learn the syntax of markdown... by example.
Steve on October 29, 2009 6:14 AMSeriously, in what world is the developer deleting enter breaks a user-input issue?
And putting the instructions in adspace on the right, instead of before the input isn't great UI.
Sure the user should've checked the preview, but who's seriously going to expect their plain text input to get mangled beyond recognition.
Anonymous on October 29, 2009 6:15 AMApparently, %80 of Coding Horror visitors can't read.
This article is about the gap between what developers think users will do and how users actually behave, not about blaming users.
Jeff knows perfectly well (as he's demonstrated numerous times in past posts) that if a user can't figure something out, it's the software that's broken. As he says in the blog post he linked (regarding the way Markdown handles newlines): "Although it’s easy once you know the trick, this is far from intuitive to most."
Another Jeff on October 29, 2009 6:19 AMIt is interesting that in trying to point out the Myopia of users (which he does quite well), Jeff has presented a classic case of the Myopia of developers. The user here already has a concept of markup that has been consistent for years and is already present on the standard interface of a keyboard. He should not even need to have "just basic 'net ascii literacy" (Jeff's words) to use such basic features. The developer here is too tied to his product to understand the end user's needs.
Craig B. on October 29, 2009 7:15 AMJeff has shown that he knows that when another developer makes something that a user can't figure out, it's the software that's broken. But he has also demonstrated with this post that when *he* makes something that the user can't figure out, it's that stupid user's fault, because *his* shit doesn't stink.
Anonymous on October 29, 2009 8:01 AM@Anonymous - what makes you say that? I mean, which sentences offend you?
Another Jeff on October 29, 2009 8:10 AMUsers do not read more than they absolutely have to because they are usually having to do far more work than a human should do. This is because, in order to save a buck, corporations make humans "multi-tasks". Humans aren't designed to do that, so they have to find ways to do a SINGLE task FASTER in order to keep up. One of the first things to go is anything that could be considered OPTIONAL. Reading directions about a text-box when you have to fill-out thousands of text-boxes a week is not something an overworked, stressed-out, multi-tasking human is going to do.
The ultimate solution to this is to take out formatting. Let the text field do hard wrapping using nothing but a fixed-width font so that what the user sees in that box is what they get in the end. Making a user bend to you is futile... bending to the user is the only way to go, IMHO.
Dan on October 29, 2009 8:46 AMTheir mental model for 'entering text into a computer' is based on e-mail applications and (MS) office applications. So if your goal is to make it as easy as possible for the users to format their questions and ansers the way they want, its best to create a UI of which the mode of operation matches the mental model of your users as closely as possible.
travesti on October 29, 2009 8:53 AMNone of the post "offends" me, but the entire blog entry is about how this instance he found of a place where he created bad, confusing software is not his fault, it's the user's. So...all the sentences?
Anonymous on October 29, 2009 8:57 AMWhere does Jeff say it's not his fault? The whole article simply narrates the process of Jeff realizing that it is, in fact, his fault.
Another Jeff on October 29, 2009 9:14 AMYou appear to be avoiding an answer that you put right in front of your face--as much as your users avoid the text.
That is that they WILL NOT read the hints. If you put it on top of the text, they will ignore it, close it and be pissed off.
Why do you continue with the delusion that you are doing your formatting correctly when the feedback YOU are providing proves it wrong???
So you need to change your default handling. By default, obey carriage returns and stop trying to modify what the user types!
You can get away with very specialized patterns (like the indent four spaces), but I really don't understand this fascination with throwing away valid user input (carriage returns! They aren't just typed because the user likes to hit the second biggest button on the keyboard more often!)
I'm not saying I don't get markdown and all, I do, but set it up so that by default it obeys what the user would expect, then add an option in each users profile to use a richer formatting.
(By the way, the fact that you just can't put c/r's in a comment at all is a ROYAL PITA!)
You'd think that someone with your UI experience would understand the first rule--you can't train them, so let them train you! If the users aren't using your site the way you planned, it's never their fault.
Bill K on October 29, 2009 10:15 AMPeople suggesting that Stackoverflow should just implement a Rich Text Editor, such as TinyMCE of FCKEditor, instead of mark-down, I don't think they understand how notoriously difficult RT Editors are to implement properly. Just ask any web developer whose had to implement an RT Editor into their site. And if you're a web developer who has implemented one and don't know what I'm talking about, then you potentially have a serious XSS (Cross Site Scripting) vulnerability in your site.
There are two problems:
1) XSS (Cross Site Scripting) issues. An RTE (Rich Text Editor) essentially submits HTML markup to your server which is then stored in your database, as HTML. So what is there to stop a user typing some javascript code via tags which are then displayed onto the page and executed by the browser (if you don't know what XSS is then you shouldn't be developing websites, look it up on Wikipedia).
Yes I know an RTE will correctly HTML encode everything, and remove things like alert('xss'); , but that removal is done client-side (in JavaScript code). There is nothing to stop the user from using a program to intercept the raw HTTP request before it's sent to the server, and inject some dodgy HTML, bypassing the RTE completely (check out TamperData Firefox plugin).
There are various blacklisting and whitelisting solutions to deal with this, get server-side code to check the dodgy HTML markup and remove it etc., but they also have they're own problems. Check out this SO post http://stackoverflow.com/questions/1530844/regex-to-remove-onclick-attributes-from-html-elements-in-asp-net-c-server-si and this website http://refactormycode.com/codes/333-sanitize-html
2) Copy 'n' Pasting from MS Word. If you paste into a RTE from MS Word you end up with Word vomitting it's aborted foetus it calls HTML markup into your website, and you pages no longer validate properly, and have formatting/accessibility issues. Also you end up with things being formatted that you don't want formatting. You might have configured your RTE to only show controls for Bold, Italic, Bullet Points etc. then someone pastes from a word doc containing a table.
Various RTE developers have tried to find ways around this (such as the 'Paste' plugin for TinyMCE), but the problem is there is no consistant cross-browser 'on-paste' event from JavaScript, IE has one, Firefox doesn't so TinyMCE relies on checking for Ctrl-C. Both don't work if the user uses the right-click context menu and selects Paste.
Dominic Pettifer on October 29, 2009 11:10 AMJeff, late to the commenting, but my experience with Lending Club is that people will just start at the end of the pre-populated text and go from there. So the answer field looks like:
"Type your answer here.My job is a forklift driver."
Pre-population will probably just mean even more work for your community editors. The one and only thing you can do to get people to learn the conventions is to get them to keep coming back. After they've used it and become more used to it, people are more willing to invest the time to learn it and correct mistakes.
foxyshadis on October 29, 2009 11:59 AMAnother Jeff,
Please read Jeff's comments, in which he defends the Markdown formatting conventions and makes fun of the user for not typing extra carriage returns.
Another Anonymous on October 29, 2009 1:45 PMWe, developers, should:
- STOP designing User Interfaces; and
- START designing for the best User Experience.
Key word here is "User Experience".
We DON'T BLAME USERS.
Instead, we should make our software naturally easy to use, or, with a reasonable learning curve.
Markdown deserves a place on this Hall of Shame:
http://homepage.mac.com/bradster/iarchitect/clarity.htm
Seems you over-estimated your target audience.
Joe on October 29, 2009 2:06 PMHey, here is a BLOG RESPONSE to USER MYOPIA:
USER FAILURE
http://mutedvision.net/blog/?p=47
> As a developer it would be wonderful
> if I could blame any failure to adhere
> to my interfaces on the user.
> That is what Jeff Atwood has done in his latest post.
> The unfortunate reality is that if the users
> are failing in a consistent way,
> the real failure is more likely that your system
> doesn’t conform to their needs appropriately.
> ...
And BREAKING NEWS: Traffic Officers charged several highway drivers for NOT Stopping on the new Stop Signs. BEWARE, as the new Stop Signs are Triangular, printed on a Blue Background, and is Times New Roman Italicized.
thenonhacker on October 29, 2009 2:17 PMGeez guys, still no response from Jeff.
I'm guessing he is still holding on to Markdown, "I hate WYSIWYG", and "Read my Formatting Instructions, DAMNIT".
I heard there is Markdown alternative where you have to put semicolons ";" at the end of your text to start the next paragraph. Much like in C/Java/Javascript.
Pretty much every modern users knows that WYSIWYG is not "see preview below" They've used MS Word forever and they expect that what they are typing (spacing and all) is what is going to show up.
Markdown just plain sucks. I hate it's way of doing lists because it takes me 3 times as long to use the damn button than if it would just keep my spacing intact.
Same for the whole carriage return problem. Sometimes I just need to go down one line, but markdown screws it up.
BTW, first rule of developing software for the public: listen to them. See Joel for more information.
Chris Lively on October 29, 2009 3:27 PMWow.
From re-reading Jeff's initial text I am still not sure if he is ranting that they have realized markdown sucks or if they realize users are idiots and they need to force instructions down their throats.
I really hope it is the former.
If it is the latter I hope I never use any software designed by Jeff and co.
After many many years of software programming and interface design I have come to appreciate "dumb users". The average user doesn't give a rat's about how the back end system is so awesomely programmed. They only see the front end GUI. If someone asks "what is feature xyz supposed to do?" or "why does this button not do what i expect?" then you are doing your job wrong.
Jason.
Jason on October 29, 2009 9:09 PM"Curtis doesn't see it that way. He says the programming can become similar to lawyer-ing (listen to him at 3:25 mark). Lawyers get paid a pretty penny by clients that need their expertise, but they don't own the documents they produce -- those go into the public record as part of court cases. "As long as software has bugs, as long as computers stink, there will be a market for computer programmers," he says."
http://www.networkworld.com/community/node/46840
Don't do too good software then, or else you get unemployeed!
Kapusta on October 29, 2009 10:33 PMOne of the backgrounds under OOP paradigm was: You must build models to approach to reality, simulating it.
In other words: It's an error trying to *modify reality* and adapt it to YOUR model!
Users are reality. So don't try to modify users *common sense* (two spaces == line break...? WTF??), or you'll smash into a wall.
One small effort from your side AVOIDS a zillion efforts end errors for a zillion users. That's why cars have ABS brakes. Nobody will ask you to learn to move your foot up & down quickly when braking.
Users comfort is the goal. Never will be imposing them *your* preferences. Why so many excuses? I'm sure you know it!
What a strange discussion...
oscar on October 30, 2009 6:24 AMUser myopia is the result of our mind coping with the cacophony of voices clamoring for attention in our world. The web, TV, email, and radio are full of "Listen to this! Look over here! Buy now!". We filter input to focus on what matters. If a user is neglecting to see and read the instructions that are present, then that topic hasn't made it into the "I care about this" bucket. With plenty of formating tools and a preview, poor formatting is the result of not caring much about it.
Consider ways to elevate their awareness about the topic and convince them that they should care. Can you give a post a readability score? Can you point out possible issues and let them decide if it what they intended? If they agree that formatting matters, they will expand their filter to look for ways to improve it.
Tim on October 30, 2009 6:31 AMReally, you're talking about good UI design, and all you do is to insist on a technical solution that you yourself proved to be non-intuitive.
And then you complain about how "disabled" your users are, instead of following the most important UI design advice: Meet your users' expectations. Let it look and behave like MS Word (or OpenOffice, or Scribus, they are all similar for a good reason), because that's what almost everyone knows.
Oh, you argument about how many of us (including me) use an extra line break to separate paragraphs? Did it ever occur to you that this is a makeshift solution to the underlying problem: That I am used to the fact that plain text formatting usually does _not_ meet my expectations?
We're not living in an ASCII formatting world since, say, 1995. Granted, ASCII is a great common denominator, but the world did move on. End users have other things on their minds than to learn how to format ASCII.
Even I as a programmer prefer to use GUI tools, like LyX (try it, if you don't know it), because I can rely on it getting spacing, line/page breaking and all other formatting aspects right. Unfortunately there's no web editor (yet?) that mimicks it's WYSIWYM principle.
If you want well-structured content on your site, do not put obstacles in your users' ways. Your tool makes it easy to do the wrong thing. Use tools that make it easy to do the right thing.
And most importantly, never forget rule one: The user is right, you are not.
I think if you put those big red arrows on the screen, they might actually see it.
Practicality on October 30, 2009 7:24 AM"I think if you put those big red arrows on the screen, they might actually see it." - Practicality
GOLD!!!
thenonhacker on October 30, 2009 10:27 AMIn most pages other then the add question page on Stackoverflow, the right hand side of the page is where ads are displayed.
When you add a new question, the "handy tips" are placed on the right where ads are normally shown.
Why then are you surprised that many users block out anything on the right hand side.
Moreover, the formatting of your tips even makes them look a bit like ads.
To fix this do 2 things:
1. Change the formatting to make it obvious they are not ads.
2. Position tips elsewhere in the page other than on the right.
Very simple!
AJ on October 30, 2009 6:56 PMHas CodingHorror started censoring critics now?
I posted a response to another Jeff a couple of days ago, and was told it would have to await moderation, but it still hasn't appeared.
Anon on October 31, 2009 4:16 AMRe: More and more, I'm thinking we need to put the formatting help -- for new users only -- directly in their line of sight.
This is a strange reversal from the start of the post, where you say correctly that you can shove text in the user's face with a dialog box, and they still won't read it.
People intuitively assume their returns are preserved. That they are not is something S[UFO] specific. The default Markdown behavior is not friendly to new users.
I know this was ultimately a post about UI (which personally I think having a "preview" window separate from the window you are typing in is already a "fail"), I thought an important point about the line break issue went unsaid:
I think the problem here is the differing ways various operating systems encode the end of a line.
Windows places a carriage return (0d) and a line feed (0a) when you hit enter.
Mac places just a carriage return (0d).
Unix (I assume Linux as well, but I'm not sure) places just a line feed (0a).
It's a little misleading given that the user is asking a Windows question, but I would suspect he was guilty of the crime of posting from a computer running *nix and not using a binary editor to manually insert carriage returns.
Joshua on October 31, 2009 11:32 AMWith markdown you need to press Enter twice to end the paragraph, as your example clearly shows. What the user entered was divided to lines, but not to paragraphs. The lines were lost.
WYSIWYG (even in the simplest form of plain unprocesses ASCII) is the only way to serve users like this.
As many before me have written, I agree - the design of text input and preview form is broken and too hard to use for most users.
Ondrej Spanel on October 31, 2009 1:25 PMJeff,
You comment about expecting users to put carriage returns between their paragraphs is perhaps forgetting what it was like when first starting to use computers. I am a programmer and it took me a while to realize I should do this, because it is only certain places where it is necessary.
In school I remember being explicitly taught not to put lines between my paragraphs, but instead to indent the paragraph using the tab key. Of course the paragraph would start on a new line, but I would not leave a full blank line in between paragraphs. I realize this is not really a rule and most people probably don't follow this, but it just helps you to see that different users have different perspectives depending on their background. Anyway, the tab key usually does not work in a web browser, so I eventually figured out that it is a good idea to put a full blank line between my paragraphs when typing text from a web browser.
Even if a user knows to do that though, unless they are determined always to follow this to the tee, they still may end up with poorly formatted code. The reason is that there are times when you barely see any text on the current line at all, and they therefore think it looks fine to simply have the paragraph start on the next line as opposed to having a fully blank line between paragraphs. The problem being that when the text is displayed after posting it or from the preview pane, that line that originally looked like it had barely any text on it might be completely filled. In other words users confuse word-wrap with new lines because thats exactly what it looks like.
I am not really sure what the solution is since it may be impossible to have full WYSIWYG in terms of how that text will be displayed after posting using any monitor, but the closer we can get to WYSIWYG the better. I agree with the previous posts about the formatting of text being too technical and programming-ish unless it is WYSIWYG in the same place where it is being typed. There should be no need for a separate preview area.
Jesse Dickey on October 31, 2009 2:48 PMWow, Jeff Atwood is the most thin-skinned, defensive blogger I've ever read.
I definitely won't be coming back to THIS site again.
David on November 1, 2009 12:08 AMOK, massive comment spam, so haven't read thru it all... hopefully this has already been asked... but...
Why doesn't your editor simply recognise where the user has put a in the edit box, and forward that through the system as an HTML ? Sort of, like, how most forums do it, and how many people would expect it to behave. Typing some seemingly properly-formatted text in the actual edit box and having it come out on the page shouldn't be so hard, should it? We've only been making word processors that do a similar thing for... ooh... 25+ years, now.
It sort of troubles me that the stuff that appears in your preview box below the edit box doesn't match what's in the edit box itself - or that you need the preview in the first place - but, somehow, you think formatting confusion and cockups are THE USER'S FAULT.
Don't get me wrong, I see enough eeeediot errors made by lusers, and particularly ones made by a/ people who should know better, b/ people using systems that use common modern-society memes (nice big power button with a standby logo on, for example) that a 4-year-old would understand, c/ people provided with a laminated instruction card (or obtrusive pop-up help box on running a program/page) in 16pt text.... but in this case, the interface is what fails. For no good reason at all it's munging the input so that what appears on the posted article doesn't match what the user typed.
Seriously, sort it out. I only hope this was done badly _on purpose_ to serve as an example to others of what not to do.
(You didn't base it off an old version of FCKeditor by any chance did you? That's another in-browser edit app that's got serious issues of usability and user bafflement because it goes against common conventions and spits out almost, but not-quite-WYSIWYG results)
This post and the input text area it is based on really need to be on thedailywtf.com.
Nick on November 2, 2009 9:07 AMSo basically, you argue that any other kind of programming besides dumb dumb Web development is "retro" and dinosaurish but yet you can't get basic text input to behave the way a normal user would expect?
Really?
Wah wah wah. Cry me a river.
Charles on November 2, 2009 3:36 PMSorry, but you're wrong. If I were to read all the fancy formatting instructions for all the fancy forms I need to fill out, I wouldn't have time for anything else.
Fix your software so that it actually delivers what the user has entered in the box. It is very clear what the user wanted -- they typed it right into your fancy editor. It isn't the user's fault the editor screwed up and mangled their input afterwards.
> Who puts two spaces after a line-break?
> It is unnatural. Not even this comments page does it.
NOBODY wants you to put "two spaces _after_ a line-break". Where ever did you get that idea?
- hop
The line-break is implied, not typed (apologies for any confusion, I thought I was lucid).
Thanks for reading my comment. I don't expect Jeff Atwood will have done...
Users ignoring that stuff is not a bug, it's a feature. We have lots of information in our lives and we ignore what appears superfluous. If you had three tips for how to enter text rather than an entire manual I think more people would read it.
Michael Morgenstern on November 3, 2009 12:01 PMlol
it's so true.
Currently making a rather large web application, and on some pages I have an info box, with an info icon, with 3 lines. The first line is bold. The info box also has a yellow background, while everything else is blueish.
Even with all of that, I receive phone calls where they ask me. The answer is the bold line in the yellow info box with the large info icon.... What to do?! I even pictured inserting the word "sex" in the middle of the info box, just so they see it.
I am completely clueless here, on how to cure the myopia, *cough* blindness.
Maybe electric shocks and banana rewards would help?
Don't the first half and the latter half of this article contradict? When you say you'd like the world without dialog boxes, how can you 'put something in the _freaking faces_ of users'? Just wonderin'
And to commenter(s) who suggested why not use WSIWYG instead, I don't think you have used comment forms on the Web much. If you did you'd know how horrible the experience is. If you ever hated MS Frontpage, you'll hate WSIWYG editors for the same reasons and more.
rabin on November 4, 2009 7:44 AMIf my goal is to ask a question and then read people's answers to it then other things, as in learning formatting rules peculiar to the particular site, are an impediment. Learning particular formatting rules is an impediment, not my goal.
Barney Sperlin on November 4, 2009 4:43 PMI think user many more times will consider the nearly advantage. your methods are very good.The plain fact is users will not read anything you put on the screen.
butterfly valves on November 4, 2009 5:06 PMI try not to talk this with somebody, nobody believe me. about the trilogy, because there's a whole other blog for that stuff. But some of the lessons I've learned in the last year while working on them really put into bold relief some of my earlier blog entries on usability and user behavior.
valves manufacturer on November 4, 2009 5:09 PMYour article are very well, Yes, yes, it inevitably gets whipped into shape through the collective efforts of our legions of community editors -- but that's not the point. It's best if the original asker gets the question formatted right to start with, and it is our job as UI designers to make that outcome as statistically likely as we can
ball valves on November 4, 2009 5:12 PMfirst, "how far should we lower the bar?" could have the subhed "how much bad formatting do we want to see/fix?"
second, you're absolutely right about what users see and how much we don't read on the web. i'm a former editor of lengthy, complex nonfiction books. and guess what? i have problems all the time on the web because i failed to read something or other.
as i write this, i'm simply typing it in. ironically, i have no clue what it will look like. i came here from my google reader because it's just sooooo true i wanted to put in my two cents.
i'm simply typing this, verifying, and hitting post.
iquanyin on November 7, 2009 1:24 PMI think the simple is the good.many good website is the simple page.
There is not fold and not scroll.
http://www.laptopbatterypack.org.uk
I think the people we need is not the superuse and is the common.
Otherwise the common is the popular.
http://www.laptopbatterypack.org.uk
just so so .http:www.dfobaby.com http:www.idarkfallgold.com
dfo gold on November 8, 2009 7:39 PMI would suggest NOT changing the markup for the sake of standards, but implement some javascript or error checking after-the-fact to ease the user into the experience.
It wouldn't be that hard to notice that the text has 1000 words and no double-space-line-breaks, so perhaps they could use some help with the markup?
Chances are, the user didn't see the preview, and once the post is up will notice how *ugly* it looks, but is ready to move on with life.
These are users *looking* for computer help. If they knew how to RT?M, they would be less likely to use the site.
I remember my first forays into computer stuff, and I had lost my patience about 3-4 hours before I'd consider asking a question on the internet
PS: Is it not ironic that today's blog post is entitled Whitespace: the silent killer, and yet there's little sympathy from the UI Design for this user trying to post some content?
My thoughts, when I used your other site...
Why should I have to learn a new type of formatting, or think about anything besides how to phrase my question, just because I've come to your site? [Although, I did in fact read the sidebar and format it when I saw it wasn't coming out as I expected.]
Websites have a responsibility to create a world similar to the other websites out there. So, if on Blogger blogs like this one (I think), I can just type my carriage returns and do not have to specifically code them in, why wouldn't other websites work the same way? In fact, I can think of very few forums that require special formatting.
I can understand that the coding site requires special formatting for code, and I appreciate that. But there has got to be a way to make it easier for the user. After all, the websites are _for_ users, right?
I don't know - I'm big into UI stuff and making it so that the person doesn't have to read or think about anything other than their task at hand.
Shannon Davis on November 13, 2009 7:01 AM"Think long and hard about placing things directly in front of them, where they are not just visible, but unavoidable. Otherwise they might not be seen at all."
Clippy, is that you?
Thijs Blaauw on November 14, 2009 11:02 AMMARKDOWN sucks
that's all
Jeff? You've gone all quiet...
Vince on November 18, 2009 6:46 AMI see different problem here. Syntax is too complex. Users should not need to learn it. Text is formatted quite well already and good text to html converter should format it like this.
JS on November 19, 2009 6:33 AMUsers include us too, we're all myopic in varying degrees. Not even police cars stop at every stop sign, or drive within speed limits.
Anonymous on November 26, 2009 9:09 AM| Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved. |