# Rethinking the Composer - lowering the bar

**URL:** https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333
**Category:** UX
**Created:** [July 14, 2016, 9:05pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333 "2016-07-14T21:05:17Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [July 14, 2016, 9:05pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/1 "2016-07-14T21:05:17Z")

</div>

There are several topics here where members have asked for a more complex feature rich editor, or have expressed problems as a result of Markdown syntax not being understood.

> [@WYSIWYG Plugin (again)](https://meta.discourse.org/t/wysiwyg-plugin-again/39747/24):
>
> normal users don’t expect something weird to happen when they type a letter. if they press “#” then they expect “#” to appear on the screen - always.

I’m wondering if having a “text as plain text only” default with an option to use Markdown syntax might help?

I understand how Markdown works.  
I fail to see the need to have “styling” options which to me are more appropriate for blog posts than they are for topic discussion.

But perhaps even what options that are currently available are too much for the typical member to grasp and would be better moved to an “advanced user” option.

That is, instead of someone unfamiliar with anything more than plain text needing to learn Markdown to make a plain text post look like plain text, they would need to proactively choose to use Markdown syntax, the assumption being that they understand how to use it before they use it.

I know work on the editor is slated, so now may be a better time to bring up this idea before a lot of code is (re)written.

---

<div class="post-metadata">

### Author: ![Tom\_Newsom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tom_newsom/32/115981_2.png) [@Tom\_Newsom](https://meta.discourse.org/u/Tom_Newsom)
#### Post date: [July 14, 2016, 9:25pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/2 "2016-07-14T21:25:53Z")

</div>

I’d have thought plaintext & images (not `<img src = blah blalh blah>`!) would be enough.  
It’s enough for facebook, after all!

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [July 14, 2016, 9:50pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/3 "2016-07-14T21:50:34Z")

</div>

And I imagine for others plaintext and links would be enough, others, plaintext and lists etc. etc.

IMHO what is currently available is not only enough, but for most posts more than enough.

I think it could be debated from now until the next millennium about what formatting features are essential and that even then no matter what decision was reached there would be some that were dissatisfied.

I’m thinking more in terms of a hard extreme no-parsing at all default.  
That is, for newbies giving no formatting options at all, with the option to learn how to do more when / if needed.

Going into “advanced” territory would indicate an interest in knowing more about formatting.

There would still more than likely be problems, but there would hopefully be less posts that were poorly formatted “by accident”

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [July 14, 2016, 10:10pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/4 "2016-07-14T22:10:46Z")

</div>

A “plain text only” mode is certainly the most viable outcome of that discussion. We’ve discussed simplifying the editor a fair bit:

> [@Should attaching an image be more obvious?](https://meta.discourse.org/t/should-attaching-an-image-be-more-obvious/31315/25):
>
> Well, I think he has a point, but to me it is mostly about this: If we decide we don’t care about teaching formatting codes, can we have a simplified, task oriented editor with three big honking buttons instead of 11 tiny toolbar buttons? It is basically these two things, opposed: traditional formatted text editor toolbar design [image] simplified task-based plain text design

And for anyone who has questions about Markdown, **share this URL far and wide**. (We do link that in every welcome PM as of March 2016 or so.)

### [Markdown Reference](http://commonmark.org/help)

---

<div class="post-metadata">

### Author: ![Rob\_Nicholson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rob_nicholson/32/63483_2.png) [@Rob\_Nicholson](https://meta.discourse.org/u/Rob_Nicholson)
#### Post date: [July 14, 2016, 11:21pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/5 "2016-07-14T23:21:16Z")

</div>

Excuse my ignorance but why can’t an editor be implemented that uses markdown behind the scenes but is WYSIWYG? There was a similar thread over on StackOverflow:

> <https://stackoverflow.com/questions/12840132/integrated-markdown-wysiwyg-text-editor>

It was mentioned that the CKeditor now can work in markdown. Even if CKeditor isn’t fit for purpose, surely the team behind Discourse could considering writing their own? How hard can it be 😉

I accept (even if I don’t understand the technicalities) that switching between HTML and Markdown is problematic but if Markdown has a future, then a good WYSIWYG editor would be an ideal companion?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [July 14, 2016, 11:29pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/6 "2016-07-14T23:29:01Z")

</div>

It is extremely difficult, as the code makes deep assumptions about the Markdown pipeline throughout. I would estimate a budget of around $100,000 - $120,000 USD to make the WYSIWYG change and 1 year of full time developer work. (Or two full time devs for 6 months). If you would like to fund it, contact us directly.

Another way to look at it — this is like saying **I prefer MySQL, can’t you guys just switch your database from Postgres to MySQL?**

---

<div class="post-metadata">

### Author: ![JagWaugh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagwaugh/32/69335_2.png) [@JagWaugh](https://meta.discourse.org/u/JagWaugh)
#### Post date: [December 1, 2016, 9:03am UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/7 "2016-12-01T09:03:39Z")

</div>

How about having a basic composer and an advanced one?

User could define their default mode in preferences, and the composer could have a mode switch function in the top right corner.

(and a save as draft would be nice)

Andrew

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [December 1, 2016, 9:13am UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/8 "2016-12-01T09:13:41Z")

</div>

Server-side draft saves are automatic as you type. That’s been present since the project launched in 2013.

---

<div class="post-metadata">

### Author: ![JagWaugh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagwaugh/32/69335_2.png) [@JagWaugh](https://meta.discourse.org/u/JagWaugh)
#### Post date: [December 1, 2016, 9:26am UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/9 "2016-12-01T09:26:13Z")

</div>

Yes, I’ve seen the message flash up at the bottom of the screen. I’m thinking more from the standpoint of a POS (Plain Old User).

Part way through composing something a new PM arrives, or someone replies to a post of yours. If you then go to reply to the PM or the Reply then you need another composer. System then gives you the option of “Yes Abandon” and “No Keep”. I’d like to be able to save a draft, preferably with a named link in my bookmarks and the possibility of naming the draft (“My incredibly long post about how to us the editor”), or even the name “DRAFT of Reply to _“Topic name”_”.

Once the user actually hits “reply” then they don’t need the draft any more, so you could remove it.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [December 1, 2016, 9:46am UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/10 "2016-12-01T09:46:56Z")

</div>

As a workaround you can send PMs to yourself

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [December 1, 2016, 9:47am UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/11 "2016-12-01T09:47:20Z")

</div>

I do agree there should be a way to dismiss the editor when you are sure you want to compose the rest of the post on a different device or what have you.

Draft saving is always implicit and automatic, the only missing piece is explicitly dismissing the editor if you get halfway through replying to one topic, and decide you want to reply to a different topic, etc.

 ![](https://global.discourse-cdn.com/meta/original/3X/b/9/b9fdb90e80dc6b7787a93bbfc011550914b8d63c.jpg)

Something like that, not sure what the text would be, but the button would essentially reset the editor so you don’t have the draft following you around from topic to topic etc.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [March 12, 2025, 11:44pm UTC](https://meta.discourse.org/t/rethinking-the-composer-lowering-the-bar/47333/12 "2025-03-12T23:44:50Z")

</div>

Discourse is now shipping an experimental WYSIWYG composer 🎊

> [@Test our new composer!](https://meta.discourse.org/t/test-our-new-composer-on-meta/352347/1):
>
> We have been working on a new rich text editor mode for our composer so that it’s easier to write on Discourse. We’re now ready to start testing it out to get more feedback from our community on this feature! Our implementation builds upon the excellent [ProseMirror](https://prosemirror.net/) and its non-core [Markdown module](https://github.com/ProseMirror/prosemirror-markdown), using the module’s schema, parsing, and serialization definitions as the base for further Discourse-specific features. This topic will serve as both a guide to testing the new composer and a hub for…
