It was Stuart's piece, especially, that caused me to write this entry, partly because Stuart has changed his opinion somewhat, and partly because his entry has the best overview of the entire issue.
Among the cognoscenti, though, there’s starting to be a bit of a backlash. "Putting guns in the hands of children" is how the discussion was phrased during our JS panel at @media 2006. The idea behind this discussion is that libraries give developers access to lots of cool powerful stuff—hiding and showing areas of the page, Ajax requests, animation—without them having to really demonstrate that they know what they’re doing.
All this is true—in theory. Nonetheless, nine-to-fivers haven't entered the library picture yet. In order to understand why we have to turn to Chris Heilmann's article.
In his article, Chris pinpointed some problems that are shared by many (most?) current libraries. He hits various nails on their respective heads when he says that the lack of offline documentation, and unobtrusive examples, as well as problems such as excessive use of the
style property or inconsistent terminology ("action" instead of "event"), holds back the adoption of libraries.
For the purpose of this article his second point is the most important one, because it contradicts Stuart's theory:
Lack of step by step instructions and examples for effects and elements of the library. Most of the time you either get no examples at all or a single example that shows all the options you have in one script (or a very complex form to play with all of them—which is only marginally better).
About six months ago I made a half-hearted attempt to study a few libraries, but the lack of simple examples stopped me pretty quickly. Sure, I can study the library code itself or the API documentation, but they don't give me a quick rundown on the library's strengths and weaknesses (to be fair, neither the actual code nor the API documentation is meant to do that).
True, the jQuery homepage contains a few simple examples, but they're meant to show the library's style of code, not to gently introduce newbies to the power of jQuery.
When none of the library sites offered me quick rundowns ("here's how you create an animation"), I stopped studying them, and I wouldn't be surprised if others (such as Stuart's nine-to-fivers) do the same.
In conclusion, it seems that libraries don't yet reach the audience that would benefit most from them. Then who uses libraries right now? What do the nine-to-fivers use right now? If not libraries, we can safely continue to discourage everybody but experts from using them—can't we?
Count me out—for the moment. I agree with Stuart's basic analysis, but I'm going to concentrate on documenting more fundamental matters such as DOM compatibility so that the library writers won't have to do it themselves.
I’ll be around at the following conferences:
Comments are closed.