Dustin Diaz releases DED|Chain, a JQuery-a-like library based on the Yahoo UI library. Apart from winning this week’s “Most Ridiculous Name For A Software Project” award (previous winners include Ning), it looks pretty cool. Nice work, Dustin. There is one concern, though. When I say it’s JQuery-a-like, I’m not kidding; it looks a lot, lot like JQuery. This isn’t necessarily a bad thing; I use JQuery all the time because I think it’s brilliant. However, it’s pretty clear to me when I’m looking at arbitrary JS code whether it’s JQuery code or not. Now, with D|C in the world, I’ll have to be pretty careful to know which bits are DED|Chain bits and which are JQuery. In fact, I’m inclined to not use D|C too much purely because I don’t want to pollute the bit of my brain which remembers JQuery things with parts of D|C. Of course, it’s difficult to know precisely what D|C supports because the link to the docs (, as mentioned in readme.txt) is 404, but I’m assuming that that’s just because we’re so early into release. There are now sufficient libraries out there that one useful part of a new library’s documentation would be to show “translations” between one of the “headline” libraries (YUI, Prototype, JQuery, Dojo…what else should be in this list?) and your new library; it’ll help people who are already using libraries to understand why they might want to switch to yours, and it won’t hurt people who are approaching your library as their first. So, a few examples which say “to do this effect, you’d do this in YUI, and you’d do it this way in MyNewLib” would not go amiss for new JS library developers; what you’re trying to do with that is convince someone like, oh, say, me to move from their current library of choice to your new one. The advantage there is that people will go out and evangelise for you. Of course, getting someone who doesn’t use a library at all to be convinced by yours is equally a coup; you can’t dodge the need for proper documentation by just saying “read Prototype’s docs and then convert your code from Prototype to MyNewLib” :) I was faintly surprised that D|C is an actual new library rather than just a “port” of the JQuery API to YUI (meaning that I could switch my JQuery apps to D|C without changing any code, and get the (debatable) benefit of the “reliability of Yahoo! UI”), but I guess that YUI’s asserted reliability isn’t enough on its own to motivate a port, and that’d stop Dustin doing anything innovative. Library proliferation is, in theory at least, a bad thing, but I don’t think so. We’re so early in doing structured JS development in a web-wide, collaborative way (not just inside one company, say) that it’s worth exploring lots of different approaches to library development and JS development as a whole, and see in a year or so what’s emerged as the leading techniques. Right, now I must go away and have a play with DED|Chain. Stupid name. I can’t get out of my head the image of a chained and dead pirate, swinging from the gibbet in eternal torment. An idea for a logo there perhaps, Dustin.

I'm currently available for hire, to help you plan, architect, and build new systems, and for technical writing and articles. You can take a look at some projects I've worked on and some of my writing. If you'd like to talk about your upcoming project, do get in touch.

More in the discussion (powered by webmentions)

  • (no mentions, yet.)