I agree totally. Of the four markups you presented, the only one that was readable enough that I didn’t have to refer back to the rendered version to see what was going on was the BBcode. (For a couple I’m still not sure how the first quoted section’s end is delimited). But BBcode is practically html with square brackets, so why bother?
As for developers like Martin who don’t know HTML, I’d say you should be prepared to learn. This isn’t Swahili we are talking about. Learning a markup language for a real developer should be trivial.
In fact, I’d say lack of basic HTML skills in posts might be a good way to spot the posers.
HTML is fine for just formatting (That’s what it is for!) but you then have the problem of cleaning the HTML, filtering broken syntax, and your pages are not a consistent format anymore…
Wiki syntax is more than formatting it adds meaning to the text which as a side effect might format it, e.g. Tables since they are a standard format can be read and processed by the wiki as data, internal links work both ways automatically, categories/tags aggregate data automatically etc …
Perhaps you should use XML instead? [The Angle Bracket Tax]
BTW Internal links in mediawiki are [[article]] or [[article#section]] external links are not much harder [http://otherwebsite.net/Light_Weight.htm] but are deliberately avoided …
I have a function for my forums that strips out script,img,etc and everything in between the tags. I have a small warning for the user on what tags not to use.
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
That’s a pretty good point. Perhaps a standard style sheet could be set up, which posters could reference?
Then again, what you are supposed to be using is tags like em (emphasis), and strong (strong emphasis), and let the user’s browser do that however the user wants such things presented (boldface, underlineing, big font, yelling the word, whatever).
This is precisely why I don’t use WYSIWYG editors for HTML. They invaribly have tons of style buttons and almost no proper emlement buttons. If your development tool completely misses the point of the language, the results can’t be good.
A problem with Markdown is that it interprets a single underscore as a bold tag. A hassle if you’re trying to talk about programming or something that uses underscores.
Keep it simple! Consider the most common use, probably a short post of a few paragraphs, some bold, a link, a code section, and a list. In these cases any of the markup languages result in a much simpler and easier to understand post than would be with HTML.
Yes, with HTML you get the “I can do anything” but don’t focus on the edge cases and ignore what people will be using it for 99% of the time. I’ve been writing HTML since '95 and one place I don’t want to see it is in a forum (offhand I can’t think of any forums I frequent that actually use HTML).
At this point there may well be more people familiar with with the Wiki syntax than with HTML…
In ten years, we will look back with nostalgia at the days when we left comments on your site via direct HTML input – the way we fondly recall bygone years when we configured our ISDN modems and put jumpers on hard drives to designate them master/slave.
Direct HTML input is at best, quaint, but by no means a long-term viable solution to online markup entry.
http://code.google.com/p/syntaxhighlighter/ this JavaScript library seems to be the best way to document code with syntax highlighting, automatic line numbering and copy and paste support. I use it in a lot of my documentation.
“As for developers like Martin who don’t know HTML, I’d say you should be prepared to learn. This isn’t Swahili we are talking about. Learning a markup language for a real developer should be trivial.”
"Reduced interface friction goes a long way toward explaining the popularity of services like twitter and tumbr. What’s the minimum amount of effort a user can expend to produce something? The answer could be a key competitive advantage.
That single input box on the Google homepage starts to look more and more like an optimal user experience. It might be unrealistic to reduce your application’s UI to a single text box-- but you should continually strive to reduce the friction of your user interface."
Please don’t use wikipedia as a model markup language. It’s badly defined to the extent that the only ‘compliant’ parser is mediawiki itself, which consists basically of a long series of regexes. It’s a huge shame that one of the largest consolidated sources of information on the web is all written in a language that’s extremely difficult to robustly parse.
As far as using HTML goes, it depends on your target audience. For stackoverflow, I would agree, but for more lay-person sites, HTML seems unnecessarily complicated. One forum my wife and I both post on uses a subset of HTML, and I’ve lost track of how many times I’ve had to tell my wife what the syntax for links is. “a href” is second-nature to us, but it’s not intuitive if you’re not already familiar with HTML.
I think anyone who calls himself a web developer should be proficient in HTML. Not just good or familiar with it but proficient. Take Visual Studio for example. I see too many developers squeak by working in Design Mode and when work in Design Mode breaks down (as it often does) they are lost in the sea of code in source mode. I don’t even use Design mode. I code entirely in source mode. Its a sad state in our profession when a good percentage of developers can’t “debug” HTML code. Sorry about the detour.
They all look fine for the most part except for how they handle internal and external links. There the Wiki format wins out in terms of being intuitive and easy. It’s frankly the most important bit, and I think even HTML screwed that one up – a href="" is not intuitive, it’s possibly the most non-humane way I’ve ever seen for how to do links.
“I know, let’s make the tag to link to external sites the same one as we use to make internal anchor points. And while we’re at it, let’s use a totally opaque acronym to designate the link element. Because LINK would have been too straightforward.”
Whatever markup you go for, please make sure you only offer a limited but useful set of formatting/style tags.
One of the problems with sites that have a lot of user formatted content is that they have a horrible inconsistent mix of styles, layout and structure that makes flicking through the site a constantly jarring experience.
Things I’d want when posting a question/answer/article:
the ability to include real source code (without having to alter it to remove HTML characters etc) AND have all my formatting/indenting preserved AND have the code automatically coloured in the post.
include images/diagrams (without having to host them myself on some other site).
link to other articles on the same site and to relevant external sites (e.g. Sun, MSDN, W3c etc).
See reddit’s comment box. Little expandable notes on how to use markdown (very handy as a reference when you forget something). And as someone mentioned near the top, the official markdown engine supports html tags. Best of both worlds.