Markdown is a great invention. This blog uses it; I've used variations of it for all kinds of different things, and I love it. It's at once simple and powerful, which is the greatest achievement of anything that is well designed.
Our wiki, Confluence originally used a Markdown-like language which was insanely popular, but they changed it out for a WYSIWYG mode. I'm still on the lookout for a great wiki that uses Markdown.
Markdown was originally invented by John Gruber. His was the idea and his was the first implementation. A long-time Apple fan, his "Daring Fireball" blog is a must-read for up-to-date information and opinion on Apple products, and John's love of design can be seen in the original expression of Markdown.
The problem with Markdown, however, is that as it has gained popularity it has fragmented. Quite badly. Unfortunately the Markdown that you write isn't interpreted in quite the same way by different implementations, which means you end up with a lot of incompatibilities. It means content sharing can be limited and this is not a good thing.
However, some enterprising gents from industry luminaries such as GitHub, Meteor and Stack Exchange got together and decided to produce a formal specification and reference implementation. Jeff Atwood announced it yesterday, and it is called (appropriately enough) "Standard Markdown".
But goodness me, John Gruber was seriously unimpressed. He owns the Markdown twitter account:
When pressed to explain himself about why he thought it was such a bad idea:
I suppose you can imagine Markdown being like English. Unlike French or German or other languages, there is no "institute" that controls English. It has flourished into a genuine Lingua Franca partially because it has been uncontrolled, partially due to English colonialism and partially due to convienence. It could have been French, or Esperanto, or something else. But it's not, it's English. So Jeff's argument is that for Markdown to be truly successful it has to be outside the realm of standards.
The problem with imagining Markdown as English is that computers don't do ambiguity, and English is terribly ambiguous. Markdown has more in common with TCP or PPP or any number of other protocols and formats that have been laboriously worked out through the RFC process (used for the internet protocols to standardise implementations). Through that process and high-quality reference implementations (such as the BSD Network Stack), we have the internet we see today.
So I disagree with John Gruber. There may be a coming spat about the use of the word "Markdown", but frankly if I were him I would wish it well and accept that the inevitable outcome of your format becoming ubiquitous is that it ceases to be the expression of your individual creativity and turns into community property. Your baby needs to grow up. Thanks for Markdown, John. Let Standard Markdown flourish.
Header image from the brilliant xkcd