Is HTML a Humane Markup Language?

One of the things we're thinking about while building stackoverflow.com is how to let users style the questions and answers they're entering on the site. Nothing's decided at this point, but we definitely won't be giving users one of those friendly-but-irritating HTML GUI browser layout controls.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2008/05/is-html-a-humane-markup-language.html

MARKUP
Whitelist of markup is a must; I can’t see a way you’d avoid having to parse and validate input anyway. You’d need to consider how to Tidy ( http://www.w3.org/People/Raggett/tidy/ ) the markup, keep the site look and feel consistent and support fixing markup when the page DOCTYPE and user agent behaviours inevitably change. This is perhaps a small risk, but something you want to be able to fix in one place rather than in every back post in the site’s history.

SOURCE CODE
This is a programmer’s site; making code legible is important; that includes indentation and (most likely) colorization support. You can allow users to carry this burden with tools like jEdit’s Code2HTML plugin if you go with HTML markup. You take on a maintenance task if this support goes onto the server - updating the parser/encoder for every syntax change in every programming language.

[As a side note: I’ve noticed that automatically converting carriage return/linefeed into HTML elements can be result in interesting battles with the software when it comes to source code, depending on the approach chosen.]

Whatever markup you choose, I would create a minimal list of key must-have elements rather than supporting things just because you can. To me, that means supporting source code, links and the ability to paragraph text - pretty much anything else can be omitted to begin with and added as needs are identified.

Limited subset HTML (explicitly listed).

That is, just basic formatting and hypertext (, , , MAYBE . No need for font and color control and their inevitable massive abuse.).

BBCode is the devil.

WYSIWYG with HTML, thank you.

If you’re a programmer, you damn well better know HTML.

WTF is that for a stupid statement?!

I contend that a big portion (if not the majority) of the world-wide programming population doesn’t know HTML because the never needed it and never will.

A crapload of code is written in C. Do you know its specs like the back of your hand? No? Oh, well, you’re not a programmer then!

I, as most programmers prefer HTML.

Also it would be really nice to have some kind of syntax highlight for code blocks, it don’t need to be anything complex, just to highlight common control structures and strings.

Well, don’t go for half measures then - if GUI handholding is worthless crap for incompetent losers, demand people use telnet from a command line and type the binary network protocol themselves. That’s the only way that you’ll limit contributions to true uber-geeks.

People who will never get laid even if they try to pay for it are definately the best people to ask questions about how to design software that will actually appeal to the mass market.

am I crazy or the url I entered for “website” was changed?
I entered this: https://twitter.com/flupkear
and got this: http://flupkear/

yep, for some reason your blog is changing the Twitter url :S

+1 for Markdown.

As others have stated, it’s extremely intuitive (I used much of the syntax in plaintext files before even learning about it), and it allows you to drop down the HTML if you want to.

Back when I was a boy, we didn’t have no fancy-dancy Wysi-whatchimacallit editing. We coded up our typesetting on things like the Compugraphic Quadex with code like:

[p10, l12, m26, t24, il18p]

That’s 10 point type on 12 point leading on a 24 PICA dammit, PICA line with a first line indent of 18 points. POINTS, dad blast it! You young whippersnappers don’t know how easy you have it, by golly!

“I have one iron-clad design guide: this is a site for programmers, so they should be comfortable with basic markup. None of that nancy-boy GUI toolbar handholding nonsense for us, thankyouverymuch. If you can sling code, a little bit of presentation markup is child’s play.”

jeff
why would U think a programmer has to know markup? As somebody who does I do work in an organisation that has a range of deveopers who span COBOL, C, VB and Java. A good percentage of these would not use markup but would be regarded as valuable programmers.

So are you just confining yourslf to web programmers?

Ive been thinking this too… possibly linking to a subset of the more modern html might be a good thing (allow strong, but not b) for instance.

I also prefer HTML as formatting language. However I also like “some” preprocessing. There should be an option to turn returns into br / or something…

Have you checked out the YUI Rich Text Editor (http://developer.yahoo.com/yui/editor/)? You should provide that for “simple editing”. In most cases it will be more than sufficient, because in most cases you’ll only need plain text with some highlighting of single words.

There are a million opinions here, but I would suggest a markup that doesn’t get in the way if the user is just typing a response.

I think markdown does a remarkably good job at letting you just type. In fact I often don’t realize sites use it, but then find out that my lists got formatted nicely. That’s great.

Questions and answers probably don’t need the vast number of special options that say Textile offers. I vote for keeping it simple :slight_smile:

+1 for Markdown. It looks the cleanest to me.

Go with BBcode. I’m sure everyone on here already uses it in various forums.

TEXTILE looks the best IMO.

bold and underline are pretty standard, even GTalk uses it to format text.

Looks simple enough, however, I prefer to do everything with HTML…

Do yourself a favor and use wiki markup. I used to prefer HTML or BBcode (since I was more used to them). However, at work we now use an internal specialized wiki.

I can tell you that I am a complete convert. Wiki markup takes less keystrokes, less brackets, and less non-obvious syntax.

Lots of people know it these days, its very easy and powerful, and it isn’t burdened by a ton of ANGLE BRACKETS.

It also allows you to “force” some continuity throughout the site visually.

I think you will be making a huge mistake if you just use HTML.

Let me share my exeperience in this area. I ran into this problem during creating http://dotnettipoftheday.org. The goal was to provide users with ability to enter new tips which may contain C#/VB.NET code. And of course the code should be well formatted for easier reading. I tried JavaScript WYSIWYG editors but they are far from perfect. They don’t provide enough options to format code examples. Now, taking into account that all site users are .NET developers, I think that the best solution will be Silverlight WYSIWYG editor. Such editor can give you desktop-like experience and you have enough control over formatting.