I just saw an interview with Michael Pryor of trello:
At one point he says:
We added markdown in Trello which in retrospect, was a mistake because it’s a developer centric feature in a non developer focused product. We overcame it by adding guidance on how to use markdown within the app, but users sometimes still get confused.
I’m curious to know what the feeling out there is about the use of markdown in Discourse. Am I the only one who thinks discourse would appeal to many more people if it just used a standard wysiwyg editor?
One can use Markdown, BBCode or HTML here, but a non computer-savvy person can just start writing and ignore anything else. Or you can use the formatting buttons on top of the editor, for basic and common things
And I like the idea of the splitted editor, at the left you write and at the right you see what you get,or and get the full space for you.
For Wysiwyg you have to put a keypad full of buttons somewhere, ie:
I don’t mind markdown myself, and it’s working fine for our Discourse site; our users are reasonably technical so are used to the concept of markup. But I don’t think it fits well with Discourse’s stated aim to be “discussion for the next decade”
Anything more complex than making bold/italic text requires an extra level of thinking; not just the words you’re typing, but the formal structure of the “code” that surrounds it. For Joe and Jane public, this feels like some weird techy thing that makes them feel excluded.
Yes, you can use the UI, but it doesn’t behave the way that you’d expect. You can’t toggle the formatting of selected text. Starting a list doesn’t allow new list items to be created with a new line. The URL and text of a link are in two different places (and the connection between the two is easily broken). Behaviour is non-discoverable and can feel arbitrary to the uninitiated.
Compare with the much more familiar interface of editing a Google Doc, or Xenforo’s editor (which I make heavy use of elsewhere). Vulkanino’s example is an over exaggeration, considering the limited amount of formatting necessary for a forum post. The existing set of buttons is fine.
An “advanced” button to be able to reveal the markup lets power users do all the nitty-gritty stuff, but for everyone else, I think it’s too complicated. In 2025, people are going to be saying “Why do I have to type all these extra characters to format my text? What decade was this software written in?”
This isn’t a “please make it my way” post. I understand that it would be major surgery to replace the existing system, which isn’t broken. But I am concerned that it will hold back the spread of Discourse in the mainstream as it matures.
When sites like Reddit, with an audience of 20M uniques a month, support Markdown exclusively, it’s time to ask whether the people who brand it as developer-centric really understand what they’re talking about.
Markdown is 11 years old now and is commonplace across the web, it’s natively supported in many mobile apps and editors.
Even WordPress has native support via JetPack as of last year, IIRC it was one of the most highly-voted features.
If Discourse is the discussion platform for the next 10 years, why would we want to implement an interface which hasn’t seen significant in the last 10?
Yes, you can, I just did in my response.
You can also use the other form for Markdown Links with a local URL to avoid this, but unless you do something very squirrelly in the editor breaking the relationship between link and URL is reasonably hard to do.
I like markdown and my community appears to be adopting it without too much difficulty. It’s not a CMS or blog in any case - you can participate without knowing how to use markdown, and the initial complaints tend to be easily dealt with.
Maybe some crossover implementation would be worth looking at, that only displays the preview somehow by default and handles the markdown behind the scenes. But personally I hate that because when things go sideways they truly go sideways. And they always go sideways.
For me the comparison is flow, which we use for task tracking and we are otherwise extremely happy with. The editor is wysiwyg and copying/pasting into it is constantly wonky - it’s a total mess and I never know what’s going to happen. I can’t even paste in a bit of code or a URL without having to reformat it. If flow offered the option to switch to markdown I’d do it in a heartbeat.
Trello cards have zero formatting needs, they are tiny little to do cards. We support full discussions as well as wiki like topics. So we need Markdown and other formatting.
I would argue the use case is not just significantly but radically different…
A limited amount of well thought out control is good enough for most people, they are used to it.
On the other hand, I love Markdown and always find myself limited by systems that are not using it.
One practical experiment for you @etewiah may be replacing the editor (optionally) in a plugin with a basic wysiwyg editor that is able to generate Markdown. There are lots of interesting editors out there. Medium is a prime example of a limited but very useful editor used for publishing.
The question that really plagues me is mobile, Internet usage is ramping up, Global Internet usage - Wikipedia many of the users are coming online with mobile phones being the first and only device. Even now we see some communities with 16% of content created via mobile. This number is going to go up and up.
I really want us first to address the problem of having a way better mobile data entry experience, achieving this does not require us to drop our Markdown editor.
Great replies - its been a lot less religious than I thought it would be It seems the majority opinion in this thread is for things as they now are.
@sam I didn’t realise the Medium editor can output markdown. I should have tried it. I experimented with Summernote and have broken a lot of things. I’m sure I’ll figure out a way to make it work though.
For me personally I would have prefered a wysiwyg editor but I’m a very edge case so I accept I am not the best person to listen to about this.
I like to think that strength of argument wins over weight of numbers
(This goes for the “reddit uses markup” argument too. If you want to see “discussion software for the last decade” then reddit is a great example! 20m people can be wrong)
Thing about relying on numbers here is that it’s almost like the preacher asking in the choir discussion forum what the best church is. Wish I could think of a way of getting numbers for real world users ( or better still, potential users ).
Per the OP, this is the answer. Radically, radically different use cases between Trello (which is not an enter-lots-of-text product, but a to-do list) versus a discussion forum.
It’s like saying “these people who own horses, shouldn’t they buy a car instead?”
IMHO even with “advanced” editors there have always been posts that could use formatting tweaks.
I think of it as a Mod task, but that’s me,
And yes, after a while I do get to feel like saying something like “Hey, you’ve been here for a while, Get It!”
Maybe it is a “help” for the composer formatting that could be improved?
The ideal UX would be for users to edit either the markup-box or preview-box where changes to one are reflected in the other. I don’t think that’s very controversial as a dream.
But it’s easier said than done by orders of magnitude, and it’s a hellish departure from the unidirectional simplicity of render(markup) -> html.
If you’re curious and can get a copy of Xenforo’s source code, check out their massive/impressive BBCode hack around Redactor, the $100 off-the-shelf WYSIWYG editor. And after all that work, you still have a WYSIWYG editor that often feels probabilistic where you have to toggle into its markup-view when WYSIWYG stops reading your mind.
Discourse’s current solution is pretty impressive — its editor is permissive enough to handle Markdown, BBCode, and HTML all at once.
But what would the WYSIWYG solution look like on top of that? Does the WYSIWYG-view always output BBCode? HTML? If I have a 100% Markdown post and use the WYSIWYG-view to embolden a word, do I now have a 99% Markdown post with some random [b]...[/b] tags like its some sort of markup chimera?