» A brief history of Prototype, script.aculo.us, and my opionion on what really facilitated the Web 2.0 revolution
Posted by Kasper Tidemann on Sunday 31st of October 2010 06:10:45 PM
It’s a lazy Sunday in Copenhagen suburbia with a light, greyish veil spread across the city. I’ve armed myself with a cup of coffee and my Debian laptop, fiddling with new packages and reading up on stuff that’s happened the past couple of weeks.
Prototype will soon be out in version 1.7. Prototype, you ask? What is it and why should you care? Let’s dive into what it’s all about.
You know it from apple.com, nbc.com, cnn.com, digg, DailyMotion and other huge web sites on the Internet. You know it from Meeho!™. Even though you may not be aware of it, they all use Prototype for DOM selecting, element manipulation etc., and have been doing so for quite a while now.
So, Prototype is a JavaScript framework for working with the DOM. It makes it easy to select and manipulate elements in your HTML code and besides, it’s got functions that aim to eliminate the differences of browsers when developing web sites — the Element.Layout methods is a prime example of this.
Prototype was originally developed by Sam Stephenson, a core developer of Ruby on Rails. It was developed to underline the whole render :update do |page| functionality in Rails — or what you know as AJAX. In February 2005, the first version of Prototype was released.
Some of you might know Prototype, and you may know jQuery. But jQuery was released nearly a year later, in January 2006, and is more of a library than a framework, which is what Prototype is (architecturally anyway, someone should really write a post on the differences between the two).
Now, Prototype got released, and lots of developers ditched their own home grown code in favor of the dollar function and all the other cool features that Prototype sported. User-centered manipulation of the elements of a web page took the stage, and so did an Austrian web developer, who came to play an important — and yet to be fully acknowledged — part of the Web 2.0 revolution. His name is Thomas Fuchs.
Alright, revolution is a somewhat worn-out word when talking computers and the Internet. But Thomas Fuchs’ work was and still is important. What he did? He released his script.aculo.us JavaScript extension of Prototype.
All of a sudden, web developers worldwide gained access to all sorts of effects, controls and handy utilities (like the effect queue), which rapidly got implemented on web sites across the globe — including the web sites of Apple, Gucci, and IKEA. This is when you began to see the Internet develop past completely static pages into the more user-driven experience it has become today.
But this is not the whole story. Without the help of Microsoft, the notorious bad guy of the lot, without their XMLHttpRequest API originally developed for the Outlook Web Access feature of the Exchange 2000 mail server, the whole revolution would never have started. The whole story consists of numerous small nodes in the giant tree that is the current state of the Internet, and everyone has played a small but vital part in what we now have created.
In my opinion, we would never have come this far without the help of Sam Stephenson and the whole Prototype JS framework, without the eye-opening experience that script.aculo.us brought us thanks to Thomas Fuchs, and without the massive support that these guys gained throughout the web development community.
For now, I wish to say a big thank you to Sam Stephenson and Thomas Fuchs. You guys are brilliant. Thank you.





