Is HTML a Humane Markup Language?

I argued the same thing at last year’s wikimania conference. Why spend all this work on a common wiki format when we could just use a subset of HTML? For those concerned about usability, we’re finally getting some decent rich text editors for HTML textareas. These will be fine for most users and they also already produce valid XHTML. Yeah, I think your completely on the right track.

Though, I do like to use Markdown for some documents. IMHO it’s the best of the lightweight formats.

“This c2 wiki page titled Why Doesn’t Wiki Do HTML?..” The link is broken.

Also, I’m sure Wikipedia loves it when you link your image directly to the “Edit” page for Joel’s entry. Remember, folks, if you have to make a test edit, please make it to [[Chicken]], not [[Joel Spolsky]]!

“This c2 wiki page titled Why Doesn’t Wiki Do HTML?..” The link is broken.

Also, I’m sure Wikipedia loves it when you link your image directly to the “Edit” page for Joel’s entry. Remember, folks, if you have to make a test edit, please make it to [[Chicken]], not [[Joel Spolsky]]!

@Jheriko: seriously?! Any competent (not “good”) programmer must be comfortable with markup. Otherwise it’s not, by definition, competent programmer.

As for bad programmers out there, they’re not stackoverflow.com’s target audience and the more of them runs away screaming, the better – their input equals noise and degrade the value of the site for people who actually do have something useful to say

You could be different and split the difference. Add a few tags to html, like a markdown tag or a tag for the other commonly used internet formatting options, with everything untagged defaulting to a whitespace sensitive version of html (so people don’t have to type paragraph tags).

It requires some additional processing work, and that’s never fun, but it seems trivial to me to implement and is adaptable to different formats in the future.

So you are going to use plain-old HTML!

What about new-lines? Are we going to have to type “BR” all over the place?

Also… people are going to want to post HTML code AS CODE, without having to type all those escape sequences just to post some example of a DIV that isn’t working or whatever.

Of course, all these things COULD be done - we ARE programmers!

But will anyone bother? Or will they just go somewhere else?

Finally, you may be making a mistake in saying that it is “secure, with careful parsing” - this sounds like pride coming before a fall to me!

An additional consideration to my above thoughts occured to me. You could add pre-processors to tags for each language c++, etc, and they could make an attempt to apply proper indentation and code highlighting that would be more versatile than a language agnostic version.

The one thing I know that argues against using actual HTML for post styling is if you want people to be able to post markup or even code-- if someone posts an example containing a ‘for’ loop, the angle brackets can cause all manner of weirdness. And if they try to post some sample HTML, then look out Francis.

So you either have to define a markup pattern that passes through untouched whatever’s inside (‘code’ is a common choice) or else move to something like Textile or Markdown and set it up to encode stuff like angle brackets so it passes through untouched.

I really think you should just use (or build) a good WYSIWYG editor. As a coder I can write in assembly language, but it doesn’t mean I want to.

If you want to offer the ability to alter the raw markup then you can give users that option, but I want my editor fully cooked please…

I agree with all those that just want to use HTML. It fits the target audience and likely usage model:

Audience = programmers
Usage = occasionally

It’s not like I will be on stackoverflow.com for hours on end everyday trying to write programs. There’s no need to learn anything extra or new.

@Jeff:
“I’d much rather rely on a subset of trusty old HTML than expend brain cells trying to remember the fake-HTML way to make something bold”

Ironically enough, there isn’t a way to make something bold* in (modern semantic) HTML since, as you pointed out in a previous blog entry, HTML is the ‘model’, not the view :slight_smile:

  • The b tag was officially “discouraged” way back in 1999 with HTML4.
    The current HTML5 working draft doesn’t go as far as deprecating it (yet), but it does say “The b element should be used as a last resort”.

“Any competent (not “good”) programmer must be comfortable with markup. Otherwise it’s not, by definition, competent programmer.” - Peter, about five comments ago.

Brilliant, just absolutely brilliant. You couldn’t make this kind of ignorant comment up. Reminds me of the Java coders who can’t believe there’s still a place for C in the world (“It’s, like, over a decade old, man! Move on!” - Java School grads, everywhere).

Try to make a plain jane table.

In HTML it’s sane. In light-weight markup lingo, it sucks; they’ve tried to reduce the tr and td tags even more; Wiki makes it completely incomprehensible.

The “rich” text editors are rich, but not robust. To write HTML fast, you have tag completion and a suggestion system for the values. RTEs fail on this point.

I find it immensely more pleasing to just get the raw HTML, dump it in my text editor of choice, and copy + paste it back again.

Seeing as how most of the potential users of Stack Overflow currently reside at forums, it might make sense to cater to them and use whatever markup language is most prevalent across the inter-tubes. In my travels I’ve found the most widely used markup is BBCode or HTML.

BBCode is easy to use and offers the potential to add custom tags to allow special functionality. I think it’s your best bet.

CleverEndQuoteAgain./CleverEndQuote

And you’d be building that in VB.NET Jeff?

Or have you jumped ship to C# now too? Is all that “love” you show about VB.NET just empty talk?

I’d still prefer a row of buttons. What I’m a coder so on your site I have to hand code because I can? Why not combine them, let me code or click a button when I’m lazy.

A problem with HTML is unclosed tags. Leaving, for example, a bold tag open can cause text farther down your page (ie your footer) to render in bold. So if you do allow straight HTML, you’ll have to create a script which finds and closes any tags left open. Considering all the different types of tags, this is no easy task. I’d recommend Texttile or Markdown for this reason.

Darn, was meant to be CleverEndQuoteAgain./CleverEndQuote

Actually, what I think matters most is if you provide a good, accesible quick reference on the editing page.

It doesn’t really matter which language it describes, as long as it’s present and small but complete enough. I mean, people will need to look HTML up too eventually, editing your site.