Hitting 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.
There’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…
I 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…
Provide a button to switch to regular markdown formatting
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.
Jeff, 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.
It’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.
You 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.
Jeff, 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.
Jeff, 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)
I 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.
Give user simple interface to edit content that will become HTML: Mark-up/Down etc. Later on…
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.
And 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.
Dude 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.
Nice 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.