Annotated Version of the Original jQuery Release

Recently I was prompted by Daniel Lamb to try and find old versions of jQuery for his jQuery Archive project. Thankfully I was able to find one in the Internet Archive from just a couple weeks after its release, in January 2006.

I then took that opportunity to put that code online and I used the new Genius annotation beta to mark it up with a bunch of thoughts and memories around the release of the code.

The comments are kind of sprawling, they cover the code itself to the circumstances of the release. I’ll certainly add more as I think of them. Please feel free to ask questions if there are certain things that you want to learn about!

One of the things I was most touched about was just how obviously inspired I was by many great developers who came before me. I’m glad I went out of my way to credit them on the original version of the jQuery site. jQuery would not have existed if it wasn’t for Sam Stephenson creating Prototype, Simon Willison creating getElementsBySelector, Valerio Proietti creating moo.fx, and especially Dean Edwards creating so much: event binding, CSS selector libraries, DOM ready techniques and more. I cover a lot of these influences in the annotations but I want to especially thank them now as without their work I never would’ve made jQuery.

I remember finding this code somewhere a long long time ago when I was first learning JS. Pulling apart your code and trying to build my own library was a major push knowledge wise. It’s nice to go back now and see how much my understanding matched up with reality :)

Fantastic work! This is definitely a really inspiring piece of work – I’m just starting out with my reading of it but I’m looking forward to finishing that and starting work on some of my own libraries. The front-runners at the moment are: 1. A kind of standard JS toolkit/set of highly performant/tested modules for use in creating custom JS frameworks, like rolling your own jQuery (will include modules for type checking, handling of default params, inserting/removing HTML fragments, view bindings, DI, caching, SEO, AJAX etc.) 2. More work on a JS to English translator so that complex code can be easily understood in plain English. Will be extended to French, German etc. later. I think could also help auto generate a human-readable documentation for those situations where there’s no time for extra JS Doc syntax. 3. A kind of ‘oh-my-zsh’ but for javascript – to be used during development for aliases that during the build process are compiled back to the full JS. Inspired by the fact that I hate writing console.log() everytime and wished it was just log!