Hacker News new | ask | show | jobs
by blakeyrat 3609 days ago
> Although rich, interactive contents can be made with HTML5/CSS/JavaScript technologies, most Internet users do not possess related programming skills.

Great! Finally someone in the open source forum community designing a UI for the average user!

> On twincl.com, a piece of rich content (which we called a twinclet, pronounced as “twink-lit”) is written with a Markdown fenced code block.

And... they've failed right out of the gate. Face-down in the dirt.

I will never understand the obsession some developers have with Markdown.

5 comments

# In Defense of Markdown

Consider the alternatives:

1. Plain text only interfaces aren't feasible in a lot of contexts. Rich text formatting and/or hyperlinking is far too useful, if not actually mandatory, in most contexts.

2. Raw HTML isn't feasible either. Even ignoring the cognitive load it imposes on non-developers, it's too easy for malicious users to exploit unless you validate and whitelist aggressively, and that invites human error in even the most technical users.

3. WYSIWYG editors aren't great. They're slow and cumbersome and frequently have major variations in behavior between different libraries, or even between the same library on different platforms. Most of the implementations I've used are buggy. And they actively fight against the reality that an HTML snippet can and does appear very different in different page contexts or on different screen sizes. What you see in an editor is almost never actually what you get on the final rendered page, and unless the site designer is extremely careful that can easily cause more confusion than it prevents.

So we're left with simplified domain-specific markup languages as the least bad option. Of those, Markdown is probably the best. Its pave-the-cowpaths approach to how people pseudoformatted text in old plain-text forums and emails means it's probably as close to intuitive as a markup language could ever get. Which is, admittedly, still not very intuitive; but in my experience it can be learned quickly by an intelligent but not technical user, provided they have some motivation to do so.

And the fact that it's becoming a de-facto standard on much of the internet means that the percentage of users who have some experience with it is only going to go up over time. That, combined with the relative ease of implementation, makes it a very attractive option for developers.

> And... they've failed right out of the gate. Face-down in the dirt.

Loved that comment. The difference between engineers and average users is that the average user isn't an engineer. The very idea that someone thinks using Markdown is a reasonable idea shows the disconnect.

I agree. All too often people are surprised by it on Reddit. Whenever someone replies with a number followed by a period (eg "42."), it's always converted into "1." Among other problems (escaping of backslashes, etc)
Maybe you are right. But Reddit uses Markdown, too, and people seem OK with that? Most redditors are not developers.
> But Reddit uses Markdown, too, and people seem OK with that?

Griping about reddit's Markdown implementation is a pretty common theme, from both people familiar with markdown and not.

People seem ok with a lot of awful things. I don't see that as an argument for Markdown.

The question is: has Reddit (or other Markdown users) actually studied Markdown's usability? Even a basic comparative study against a WYSIWYG equivalent?

It seems like "techy" people just kind of assume Markdown is great and easy and awesome without ever bothering to actually make any effort to question that assumption. That's really the part that bugs me most.

And the entire pitch of Markdown is that you can style your text the way you did back when you were using text-only stuff. Ok. So _this should be underlined, then_. And /this should be in italics, right?/ And naturally this is boldfaced. Oh wait. Markdown is ZERO FOR THREE.

(Strangely, Markdown doesn't even have underline. Go figure. It's not even remotely close to feature-parity with the WYSIWYG textboxes we were all using on the web in 2008.)

I'm quite confused with a lot of your dislike for Markdown.

I have a reverse question, what is better than Markdown in your mind? I'm starting a project that is heavily based around text, and for simplicity i just wanted plain text. Ie, i have no editor for the project. So for markup, i need something. What do you feel is the right markup language?

Personally i feel Markdown is easiest markup language i've found. Compared to some, it's quite intuitive. Combined with the fact that it is becoming quite prominent means users are also learning it. The only downfall with Markdown in my mind is a lack of a standard, but i think that's being worked on (there are some attempts at that, i believe).

Anyway.. i would really appreciate your feedback, if you feel there are better pure text Markup languages :)

If an end-user is using a markup language at all, you've already screwed up as a developer of usable software.

If you're going to use a markup language, at least use one that supports basic shit like underlining text, or typing the sentence "21." without it thinking you're trying to start a list.

No matter how users are interacting with the text on your site, do usability testing. If you do usability testing in good faith, and Markdown comes out as the winner, then use it, with my blessing.

Don't base your usability decisions on gut instinct or knee-jerk reactions. Which is pretty much exactly what every site using Markdown currently is doing. AFAIK it's never been studied in front of a fair selection of users.

I believe OP means a WYSIWYG editor is much better than Markdown.

In terms of a markup language in pure text, I think Markdown is your best bet. Folks in CommonMark.org tries to "standardize" Markdown. Our implementation in Twincl.com follows that standard as much as we can.

Appreciate the reply. Honestly though, this confuses me even more. Many sites have both Markdown and a rich editor.. isn't that sort of required for users anyway? No matter what language powers your Markup, at the end of the day many users want an editor.

/shrug.

The median user would rather click a "add a poll" link and select options (with interactive help) rather than read a guide page on exactly how to punctuate and arrange whitespace to get a poll that works properly
Yup. I'm working on a sort of forum / collaboration space for my nonprofit (we're within a few months of open-sourcing it), and one of the big reasons we started from scratch is allowing users to work natively with rich text editors.
Didn't you use existing rich text editors like TinyMCE or CKEditor?
Well, we ended up using quill.js in our own system (it's rad, and pretty easy to wire into an operational transform system to handle concurrent edits). But at least at the time we were looking, discourse was markdown only.

We had a lot of needs that weren't met by other FOSS platforms, so it wasn't just rich text, but rich text was a big driver there.