I would honestly like to make sure somehow this whole discussion doesn’t escalate, but at the same time there are things I wouldn’t want to leave uncorrected. I may not be able to choose the right words to achieve both (sometimes it happens my own temper stands in my way, sigh), but I sure am starting this post with the best of intentions. Let’s see how it works out…
About Motivation (Again)
Ted starts his post with the words “You’ve done something noteworthy when people are willing to tell you publicly that they don’t like it”. Two things:
1. If the perceived message of my post was that I didn’t like his plugin – that is not true. If it was available a year or so ago, I would have gladly used it. At least until I would have stumbled over the need for a TOC on multi-page posts.
Obviously, writing explicitly (and in bold) what my intention was and what it wasn’t didn’t get through somehow, so Ted continued to misinterpret my arguments in the rest of his post. That’s a pitty, but here it goes.
Of the three technical arguments Ted lists as “mine” and responds to, the first two are completely mistaken.
Well, okay, it can, but I use
jQuery.ready, which doesn’t. I don’t really care if the TOC is visible the second the page renders, so I’m willing to wait.
However, to say that
jQuery.ready does not impact page load performance is simply… nonsense, and it is very important to me to get this right to my readers:
DOM manipulation is browser specific
Well, okay, it can, but the DOM is an open W3C standard, and modern browsers do a good enough job that I don’t expect there to be problems. Besides, jQuery sorts out most of the difference that matter.
Of Freedoms And Bazaars
Ted proceeds to philosophize about what makes up “Freedom Software” and the “Bazaar Model”, which I guess is his way of responding to my side-note about “re-inventing the wheel”. Now it is true I’m not the type of guy who likes to “re-invent the wheel”. I always try existing solutions before I start coding on my own (even if most of the time I’m absolutely convinced I could implement things better than anyone else, but I guess that’s a syndrome common to many (most?) software developers ;-)).
That said though, I don’t dispute anybody’s right to re-invent whatever they want. Indeed there are sometimes very good reasons (or “itches”, in Ted’s words) for it, of which learning and trying out new stuff I consider amongst the most important.
I understand that people will always defend their own solutions no matter what, but my summary is this nonetheless:
1. Ted’s plugin is great in itself, but its design choices definitely stand in the way of significantly extending it in any ways beyond UI enhancements. (He would say he doesn’t need to extend it, and that’s OK too.)