Interesting thread on Twitter last night, I wanted to capture it here before it scrolls off.
I posted a note about how I was studying John Gruber's Markdown spec, and said I liked it. It reminds me of the RSS 2.0 spec. What I meant: It tends to answer questions I have, when I have them. It was written for someone who's implementing Markdown, not someone who's on a mail list debating it. Big difference in approach.
He explained: "I think it is easy to hide unclear thinking and bad ideas behind the opaque lifeless writing style of IETF-style specifications."
I have to admit I don't know very much about the way IETF does things, except from my experience watching the Atom group do their work. I have implemented Atom in River2 and River3, but it wasn't with the spec. I did it as I always do these things, with a set of sample files from popular sites. I made sure my aggregator could handle them. That was enough. If there had been an English-language spec for Atom, I probably would have used it. But I didn't need it to get a compatible implementation. To me that's what all this stuff is about.
I was glad to see Markdown has gained traction, and done so much to help web content developers simplify their work and make web-writing accessible to more people. I'm doing more with Markdown now, making my second approach to it as an implementer.
I do have questions about how it works, and I understand that there's no formal spec, but I also see it widely deployed. In tech there are always tradeoffs. I think this is the case here as well. There must be advantages to formal specs, but there are also advantages to ones that are written for busy developers.
For example, what about line-endings?
Is it "\r", "\n", "\r\n" -- or as I suspect -- any of the above?
Also, if I put a macro on a line by itself, I would like it to get the <p> treatment. But Markdown processors see the left angle bracket and apparently thinks it's HTML, and leaves it alone (which is explained in Gruber's spec). This is causing me some difficulty.
Macros in my world look like this: <%macro%>.
I wonder if there aren't other formats and protocols that use same approach we used for RSS and Markdown? I wonder if there aren't other open technology people who create for busy developers?
The idea of writing specs for "busy developers" started, as far as I know, with the Busy Developer's Guide to SOAP that Jake Savin and I wrote, in 2001. I wrote a blog post explaining the need for it. For the spec itself we have to go to archive.org.