Markdown
So I've been having a slightly off-topic discussion on a thread here and figured this would be a good subject to have wider input on.
I don't think markdown adds anything to Tildes and I think it actually degrades the experience for new users. Right now we're mostly old experienced reddit users and mods, but that hopefully will change. To me, markdown adds a not insignificant hurdle to formatting. Markdown has very few uses besides reddit and Github, and even then there's a few different types.
I suggest a WYSIWYG text box with a tabbed HTML option for those who want to use code formatting. Let's use something that's standard and encourages users to learn useful code.
Tell me why I'm wrong Tildes!
Edit: I primarily use mobile, so maybe that's part of the disconnect here. But it seems I'm the only person who cares and still thinks markdown is almost useless. I'm fine being in the minority. I still feel it's a good idea to look beyond the bleeding edge to the time when there's 300,000 or 3,000,000 uses.
Have a good day everyone!
HTML? Markdown is way more simple and intuitive then HTML. If you wanted to add WYSIWYG editor with optional WYSIWYM syntax, I'd choose markdown definitely.
If anything, I would add markdown cheatsheet next to the input box. What makes WYSIWYG editor better then markdown cheatsheet?
Markdown is easy to learn (especially with cheatsheet, but it's so intuitive, that you don't even need one), WYSIWYG takes a lot of space and it's much slower, because you have to use mouse. And you don't really need formating - when did you last used it? The most advanced formatting most users use is just some kind of list - you just type
-
at the beggining of lines. When user wants to make list, he'll do it this way, even if he doesn't know that something like markdown exists.Completely agree. Let me add that an HTML or wysiwyg editor will be much more annoying to handle from a mobile device than markdown straight from the keyboard
I'm not saying HTML is simpler than markdown, but I don't think you can fight that's its more useful. For those that want code based formatting, I think HTML is a better use of our time.
HTML really isn't friendly for writing though. For example, I use tools specifically to convert markdown pages into HTML for some static blog-like sites (including the Tildes Blog and Docs sites). I'm perfectly capable of writing it directly in HTML, but it feels so much worse to write (and especially to read over afterwards while editing/reformatting) that it's worth the extra steps/setup to be able to do it in markdown instead. There's a huge difference between things like:
and just:
Agreed. In terms of effort / payoff markdown comes through in spades over HTML.
Making users struggle with overly verbose markup is definitely a way to degrade user experience.
That's a fair point.
My counterpoint is we're not talking about another site. A WYSIWYG editor is easier for brand new users, and for ones interested in learning code-based formatting, wouldn't HTML be more widely useful and simultaneously beneficial for an open-source site?
No, because the purpose is making comments simple to write and format, not teaching people HTML.
I think that's the issue—you're trying to turn it into some kind of educational experience, but that's not the reason that people are writing comments in the first place. To take it to an absurd level, it's a bit like suggesting that people should have to write all their comments in Chinese instead of English because then they'll also be learning a useful language while they do it. It's technically true, but it ruins the commenting experience in the process.
Reddit is typically around 55% mobile users, and I'm one of them. I actually do 90% of my moderation from mobile, and let me tell you that sucks. Markdown is bad for mobile. Maybe some keyboard shortcuts on the wysiwyg editor could bridge the gap for you?
And for all the reasons Markdown is bad on mobile, HTML is way worse.
This point in spades.
I mean I know HTML well, and so I tend to prefer it, but Markdown is a fuck-ton easier to type. Even if I can never remember exactly which parens in which order for links. And how I loathe the number-followed-by-a-period syntax for ordered lists. Just try starting a line with a year and a period. Hahaha, you foolish human. That's a different number now.
Try it on Tildes!
While we're on the subject, having a "context" button that would show the raw text for the comment (like RES has) would be nice and could help new users. I know it helped me a ton back on Reddit. A lot of times I didn't know how to format things a certain way, but I could just look at other people's comments and figure it out. Or when I saw formatting I didn't know existed, like custom emotes and reaction faces. Sometimes it even helps when the person butchers the markdown syntax because you can go straight to the source and figure out what they meant to do.
Yep, on the issue tracker already: https://gitlab.com/tildes/tildes/issues/67
It's a simple enough feature, it's more that I don't think it's worth having a dedicated button on every single post for it because it's such a rare need. So I mostly just haven't decided how I want to do it from an interface perspective.
Fuck, I really should read those. Like third time I've suggested something that was already there.
I don't think it's a big deal. We only have 2 buttons there, so it's not like it's super crowded. I'd say leave it towards the end of the list (to the right) so it's not in the way and that should be fine.
https://tildes.net/~test/20f/markdown_test_as_suggested
A whole lot better than Markdown-as-usual. Nice.
I don’t think there are any better options, though. A WYSWYG editor really needs the ability to highlight text to work properly, and that’s annoying at best on mobile devices.
Markdown is easy on mobile. It's not hard at all. It's simpler and faster than a WYSIWYG editor, especially.
I spend 30-50% of my time using Reddit via mobile. Specifically, I use the desktop website on mobile.
I already have Tildes saved as a shortcut on my phone, and I've used it that way occasionally.
I find markdown much easier to use on my phone than a WYSIWYG editor. MUCH easier.
Based on my (admittedly limited) experience trying out the new Reddit redesign with its new WYSIWYG comment editor on my phone, that was a definite decrease in usability. Using their "fancy pants" editor involved a lot of scrolling up and down from the text box to the icons and back again, while trying to select words or phrases that I want to apply formatting to - which was an extremely fiddly and time-consuming process on a phone screen! It's much easier to type a couple of asterisks to achieve the same outcome.
To be fair, though, the redesign isn't optimized for mobile yet. Having a preview (like how Apollo and RES do) definitely helps things.
I can't see how there's any way to change that WYSIWYG editor to improve the mobile experience significantly. There are at least two points in the formatting process which are not negotiable:
You must highlight the word to be formatted.
You must select the formatting option to be applied to the highlighted word.
The first requires a bit of fiddly finger work, and the second requires scrolling to where the formatting options (and then back to the text). It is much easier to just type a couple of asterisks: no highlighting, no scrolling. Just typing on the keyboard that you're already typing on.
Preview the markdown that you're typing with. If I add asterisks on either side of a word, italicize it right in the editor. And icons are still there if needed.
That won't change the mechanics of applying formatting using the WYSIWYG editor.
You can actually use HTML already, but only tags that I've whitelisted (which are mostly the same ones you can produce with markdown). The Tildes comment process converts markdown to HTML first, then runs the resulting HTML through a whitelist, so you can basically just skip the first step by writing HTML in the first place.
So if you'd rather write
<em>some italic text</em>
than*some italic text*
, you can. I'm expecting this to be useful for things like tables (once I add them to the whitelist) because there are lots of tools that generate HTML tables, but formatting them in markdown can be pretty ugly.Could you please white-list
<del>
? In CommonMark it doesn’t have an equivalent (yet?) and it’s very useful when editing your post.No, I can'tSure, no problem.If you're whitelisting
<del>
, it would make sense to whitelist<ins>
as they're intended to be used together, not that I imagine many people would.By default, browsers will underline
<ins>
.Yes, please. I wanted to ask for that as well, but forgot what its proper tag was.
Thank you, you
sockrock! :D<marquee>Can you whitelist marquee?</marquee>
Wait, <blink>what about blink?</blink>
For the first time in Tildes, I miss downvotes ;)
Markdown tables are so bad, it's good that's on the way. I didn't realize you could already use some HTML, thanks for sharing!
Of course, tables are neither in the original Markdown spec nor CommonMark. Anywhere you've seen tables in Markdown, someone's adding to the spec. But I agree: I've never seen a good implementation of tables in Markdown.
To be honest, I don't really see the problem with this style:
If you take the time to align it properly, it looks fine unrendered, and it's not too awful to type (although pipes are admittedly an awkward character on mobile).
the entire table is awkward on mobile. tbh I'd prefer something like
{{{Column 0, Column 1, Column 2}}}
{{{---}}}
{{{Value 00, Value 01, Value 02}}}
{{{Value 10, Value 11, Value 12}}}
etc.
Nah, you can also do that in Markdown:
Interestingly
#
doesn't seem to be a valid link target for inline links, sadly :((edited to remove link to real website)
Seems supported to me: https://spec.commonmark.org/0.28/#example-472
I think they mean a completely bare
#
, with no fragment name (which doesn't seem to work).If I try, it just turns into normal text:
[test](# "title")
= testI’m confused for what that would be good for…
People used it on reddit as a hack for spoilers, so it's mostly just familiarity more than anything actually useful. You'd do something like this:
[spoilers for commonmark](# "bare fragments don't work")
. Then combined with some CSS it made a decent method of hiding spoilers.Aaaah, OK, that explains it.
Yes, that. I'm pretty sure it used to work on Tildes, so it's odd that it doesn't now. Maybe I'm misremembering...
Doesn’t work on mobile :(
You can also do it without HTML. You just do it like this:(https://tildes.net "see I work")
Whatever visual editor you will end up using, it will have to store it in some sort of markup, because ultimately it will have to translate it into HTML.
MarkDown (e.g. CommonMark variety) is a very easy markup to learn and was created exactly with that in mind – to make it easy to translate into HTML (and in fact in-line add CSS and HTML). Most other markup languages are much harder to learn and often include a tonne of brackets and abbreviations.
WYSIWYG is very often a misnomer and not WYSIWYM. But that aside, there is no reason why we could not have a WYSIWYG editor option for MarkDown, so the user could switch between editing MarkDown by hand and the WYSIWYG editor as
you can seeopposed to e.g. in GitHub, where you can only switch between editing in markup or the preview.Addendum: (fixed my misconception with GitHub above) A quick search shows StackEdit as such a WYSIWYG editor, but it seems a bit heavy and over the top for what is needed IMHO. There is also the famous CKEditor, which can also be extended to use MarkDown.
As to where else it’s useful. I use it to write my blog posts using Pelican and to generate documents and presentations through Pandoc (MarkDown ↦ LaTeX / ConTeXt ↦ PDF). It makes these chores much much easier.
MarkDown is being used by GitHub and Reddit because it’s commonly used, not the other way around ;)
From what @Deimos says, the site has to translate from markdown to HTML right now anyway. Why not skip markdown?
Any use cases like you mention just seem like so little difference. The equivalent to writing your blog in C# -> HTML through Xamarin. Sure, you can do that and have the right. But how in the great googley-moogely does that matter when we're talking about new user ease of use? I just fail to see the benefit.
I know markdown used to be used in a lot of places, but I don't think that exists much anymore. Why do we need this functionally-similar-to-HTML code (but a small amount easier, I'll give you) that can only be used in a few places anymore and isn't completely standardized anyway? I'm an old nerd and I know markdown, but I don't see the need. I mean bbcode mostly went away, why is markdown so much different?
I think the key insight that you seem to be missing is that a lot of the reason markdown was created in the first place was to take ways that people were already writing text in plain-text-only spaces like emails and convert it to "real" formatting. For example, imagine that you can only write plain text, and you want to write something like a section heading, followed by a numbered list with other items inside it. You'd probably write something like this, because it's the closest you can do with plain text:
And by treating that as markdown, it results in:
Party preparations
Pretty much exactly what you wrote, just in its proper form. To write that in HTML though, you have to do:
That's extremely hard to comprehend compared to the markdown above, where the structure/result was totally clear from the text itself.
I would also hate typing html on mobile.
Markdown is both human-readable and easy to parse into valid HTML. In fact, this is the entire reason Markdown exists. You're understating the popularity of Markdown and overstating how difficult it is to work with, and seem to be completely missing the point of Markdown with the bbcode comparison: bbcode died because it wasn't easy to read and write like Markdown is. It was basically a second HTML, rendering it totally redundant. On the other hand, Markdown sacrifices flexibility for ease-of-use when compared to HTML. It's different from HTML in a way which makes it ideal for this exact use case.
Because not everyone here is a computer programmer, or should need to become one just to write a comment.
Just wanted to chime in as someone who very rarely posted on reddit and was obviously never a mod. I learned about Markdown when I first started posting on tildes, and I've found it very easy to use (and combine with HTML). I wouldn't be averse to an optional/additional WYSIWYG interface, but I doubt I'd use it for most things now I that know the basics, since with Markdown I don't have to move my hands from the keyboard anymore to do simple formatting.
Edit: minor grammar fix
Only for those new users who don’t already use Markdown – because there are those who do, too. That renders this a moot point unless we survey the actual rate of pre-existing knowledge among new users.
I completely disagree – it adds convenience for me, but that’s because I took the time to learn it and subsequently found it useful. I personally prefer being able to include succinct markup for formatting as I type without ever having to leave the comment box or use my mouse. It’s much less interruptive to me, even on mobile.
Also, I’d choose Markdown over HTML any day when it comes to text formatting in online discussion contexts – it’s way less verbose and is much quicker.
I also completely disagree with you on this, but I think it’s due to differences in our note-taking workflows, along with a greater appreciation on my part for the power of git repositories beyond just use for code-related projects. Also, Markdown allows for much easier cross-compatibility of formatting across devices and platforms.
Markdown is an essential component for me in both personal and professional contexts because a large chunk of my written notes and excerpts are stored in that format. My journals, wikis, some text-based research repositories, and some text-based project repositories are all stored as MD files that I can access from practically anywhere with multiple display/rendering options.
Yuck, no thanks. I'll take a simple Markdown comment box over some WYSIWYG HTML monstrosity any day of the week. HTML sucks to write in directly, and WYSIWYG editors are Javascript monstrosities that generate shitty HTML.
How do you feel about Github's implementation?
It's great. The formatting buttons don't interfere with people who want to write Markdown manually, and the preview is useful. The only improvement I can think of would be a live preview, like the one in Reddit Enhancement Suite.
Markdown is so so so much easier to type on mobile. As someone who almost exclusively browses from mobile, markdown is one of my favourite additions to forums and web commenting lately. I'm much more likely to add formatting to a post if the site has markdown.
I think a linked cheat sheet in the docs could be good, but a full WYSIWYG editor is adding a lot of clutter for something very few people would use in general. If it's added, I'd hope it's opt-in via settings.
I was mostly a lurker on Reddit and never bothered learning any markdown. I wanted to learn it for a couple of posts on here and didn't have any issues worth mention. Worked fine, easy to find what I needed and put it into use.
On the other hand, I've found almost every wysiwyg editor I've ever used to be a nuisance, especially on mobile.
I have no interest in learning any coding or computer language. I'm not sure one person's "useful coding skills" is everybody's useful skill. I have no use for it in my life, and doubt I ever will.
I'm perfectly happy with markdown, even though 50% of the time I don't bother using it.
So would you rather use a WYSIWYG editor if that was available?
Not the previous commenter, but I would rather be able to markup comments exclusively via the keyboard. Going back and forth to highlight text and add bold/links/whatever feels like a pain to me.
I honestly don't know. I guess I'd try it if it was stunningly easy to use. If it's any more complicated than using some brackets or asterisks I probably wouldn't.
Markdown uses less characters for the same resulting styles. Therefore, it's more efficient.
And a WYSIWYG editor is even more efficient for the end user. Markdown is only useful in a couple places, isn't completely standardized, and isn't as feature rich as HTML.
Isn't the WYSIWYG editor less efficent. It is easier to type
**hello**
than to click a button with the bold symbol, typehello
than click that button again to get back out of bold.The WYSIWYG editor on Reddit works the other way:
It's very fiddly.
That seems incredibly irritating.
Yes, it is.
Have you not tried the redesign yet? You should - if only to see why so many people are complaining about it!
I tried it for all of 2 minutes before switching back. I could not deal with the modals. It was horrible for any text based posts.
Yep! I lasted a whole week - but only a secondary account.
I think the markdown system could be make more user friendly if there was a button under the reply box to show a markdown cheat sheet. A reply preview window might also be good. I assume some of these features will be implemented as time goes on.
Preview is also in the pipeline for becoming a ~ native feature as well. But as you said, for now tildes extended has it, which what I currently use also. ;)
It seems that the reason you feel markdown is clunky is that you mostly interact with text input on your mobile device. I think in this case, a WYSIWYG implementation would me more favourable for sure! I think it should be that a user can pick in their settings if they'd prefer markdown or WYSIWYG, or maybe a default can be triggered by the device you're on.
Does that sound better for your use case? You mentioned that you're in the minority, but making everyone's life easier is a part of good design :)
I like markdown because of three reasons: it's very easy to remember and type; it's platform-agnostic so no extra functionality needs to be implemented between devices; and it's keyboard-only so there's less of an accessibility barrier for people who cannot use a mouse or other tracking devices, or for those who use screen readers.
Also, I'm sorry but I vehemently oppose the HTML idea. HTML is meant to be used for intensive formatting that involves layout and functionality, not just text. It's also incredibly clunky to use for text input and counter-intuitive to the untrained user. Markdown is a much more elegant and easy-to-use solution for text-only formatting (it's specifically made for this use case!), and is the best solution for advanced formatting in a textarea IMO. Using HTML for text formatting is like killing a fly with a shotgun, when you can just use the fly swatter that is markdown.
But I'm definitely not opposed to having a choice between markdown and WYSIWYG; I feel like we should actually do that!
I think you want something very much like what discourse uses for commenting. Live preview, and WYSIWYG style features that help you learn markdown rather than hiding it from you.
I think that's better, but I still don't see much use for markdown in general. Yeah, you can convert to more useful formats. But what good does it do by itself? It seems to be this old nerdy holdover from other platforms, but I don't see the need.
Flip it the other way around: why is HTML better?
Markdown is easy to write, easy to remember (mostly), and is used in several places across the web. Even in places where you can only write plaintext with no formatting, Markdown still looks fine and still clearly communicates your intent. Conversely, HTML is a pain to write, a pain to read when not rendered, and a pain to remember – is it
<i>
or<it>
? What do I use for a list with numbers? In Markdown,it's *literally* what you would type already
.I don't think we should necessarily cater to one audience over another. I have no idea what markdown, HTML, or WYSIWYG even are or what they do. I think I am a "casual" user in that I don't know code or the things you are talking about, but I still use the site often and don't think talking about users like me in generalities really helps much. That being said, I have to trust users like yourself to take care of these issues for me, and I understand you are trying to give power users a lot of utilities and the best options for them. I'm not chastising you in any way, I was actually hoping someone could shed some light on this debate for me?
Awesome! Thanks for the information. This was very helpful!
Markdown is the syntax used on reddit, tildes, etc. Here is a really quick explanation of how markdown works. Its main purpose is that it quick to write, and it is still understandable if its syntax does not work.
HTML is the language used to render websites. It is made of tags, and everything has to have a starting tag and an ending tag. While it has way too much power for comment formatting, it can also be used for that.
WYSIWYG stands for "What you see is what you get". It is similar to a word processor like Microsoft Word. Another example would be the comment box on new reddit. It uses controls like a bold button to make text bold instead of some sort of typed syntax.
Here is how you would get bold text which each:
**bold text**
<b>bold text</b>
click bold button
bold text
click bold button again to get back to normal textThank you!
WYSIWYG stands for 'What You See Is What You Get'. It's like Facebook, or Microsoft Word.
I'm arguing that the code style markdown isn't as useful for users like you.
Is there a reason we can't do all of the above? I think @deimos is already doing that with HTML/markdown, and if there's a really simple WYSIWYG editor that we could put up in an unobtrusive way, then everyone would have their preferred option. Are any of those options mutually exclusive?
If the hypothetical WYSIWYG editor just inserted the Markdown straight into the textbox, you'd only need one editor, and it would help teach new users what Markdown is.
Oops, sorry, I think I was thinking of an editing toolbar with buttons for bold, link, etc. rather than a real WYSIWYG thing :)
Have you seen Wikimedia's new-ish syntax highlighting feature? (An example if you haven't – ignore the last paragraph, the highlighting seems to have broken there...) I think something like that might work quite well, or at least could be an interesting experiment.
I like Markdown+HTML cause it isnʼt hard. I preffer kinda markdown from StackExchange because :
htpps:
orhtpp:
isnʼt necessary[link](//tildes.net/~tildes/1zo)
; wait, you can even for siteself[link](/~tildes/1zo)
As I know, Tildesʼ canʼt that. I would like to have preview for markdown, I guess it would be easier to understand how markdown works and a good thing for find mistakes with mardown.
//tildes.net
is not good practice as it will use whatever protocol the page you are on uses. If you are onhttp://tildes.net
and click a link to//example.com
, your browser will take you tohttp://example.com
. If you are onhttps://tildes.net
, you will be taken tohttps://example.com
. Ifexample.com
doesn't support https, you'll get an error.As I see,
http://~
is redirecting tohttps://~
, so here is alwayshttps
, and my browser will take me tohttps://example
. But, yeah, youʼre right, and thanks for explanation, I checked: if a web-site doesnʼt have own redirect or doesnʼt support then Iʼll get an error.