Freedom Software, Competition, and WordPress Plugins
You’ve done something noteworthy when people are willing to tell you publicly that they don’t like it. Such is the case with my WordPress plugin, jQuery Table of Contents. Zoran at Hackadelic, author of a similar plugin, Hackadelic SEO Table of Contents, likes the clean code but could do without the Javascript.
Response to the Arguments
Javascript makes page load slow
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.
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.
Javascript doesn’t know about the database
Here I agree. But the objection only applies if you want TOC navigation across pages of a multi-page post. If you need that functionality, I highly recommend the Hackadelic plugin because it will do what you want. But I don’t make multi-page posts, and if I do, I only really need intra-page navigation.
The Freedom Software Model
In the Freedom Software model, most unpaid programmers are just out to scratch an itch – and to share in case someone else has the same kind of itch. There is significant overlap between the Hackadelic plugin and my own, but I’ve got a different itch to scratch, and I designed an elegant little tool to do it. Yes, I could probably scratch my itch well enough with the Hackadelic plugin, but I personally think lightweight and elegant and in-browser are features. The beauty of Freedom Software is that an entire ecosystem of tools can grow up, coexist, borrow ideas, and maybe eventually die off. This is the “bazaar” model.
Conclusion
I was certainly flattered to have the engagement over this, my first WordPress plugin. Thanks for the constructive engagement and for bring to light that everything we build starts from a set of assumptions and requirements. That kind of critical conversation is what will continue to make Freedom Software great.



[...] 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: [...]
Hello,
) ? Thank you for eventual answer.
I’m taking a look at your plugin but I don’t understant how it works: is there any code or tag to insert in the page ? Does it shows automatically in every page (I don’t want this
Basically, it will inject the JS and CSS code into every page, and you can set the jQuery selector in settings to help determine which pages you want to have it run on. There is good documentation for that linked from the plugin settings page. You might have to modify your template to insert special classes if you want to limit the plugin to just a subset of your posts. But if there are no added headings in the content of the post, the plugin won’t run.