Practical Prototype and

written by Tobie on August 11th, 2008 @ 10:34 AM

(cross-posted from the official Prototype blog)

I’m very happy to announce a new addition to the Prototype bookshelf: core committer Andrew Dupont’s Practical Prototype and published by Apress.

Obviously, Practical Prototype and covers all you need to know about the latest versions of Prototype and But it goes well beyond that. Andrew does an awesome job at setting the context and giving appropriate background information, so much so that you’ll end up knowing not only the how but also the why. In the ruthless world of client-side development, that’s serious asset!

Practical Prototype and is a pleasure to read – the style is both straightforward and witty – and should appeal to beginners and confirmed developers alike.

If you want to try before you buy, you can always download a sample chapter or the table of content from the Apress website. Else, you can directly grab a hard copy and/or a pdf from the Apress website or from Amazon.

As always, happy Prototyping!

First Prototype Developer Day: Monday September 29, 2008!

written by Tobie on August 3rd, 2008 @ 06:11 AM

(cross-posted from the official Prototype blog)

Prototype Core is happy to announce the first Prototype Developer Day! The Prototype Developer Day is going to be a recurring event bringing together Prototype Core members and users from the Prototype community to share experiences, offer insight into what’s coming up, and discuss topics like contribution, support, and the Prototype ecosystem. If you’re big on Prototype, you cannot miss this!

This fall, the Prototype Developer Day is being held in conjunction with The Ajax Experience, held in Boston from Monday, September 29 to Wednesday, October 1 2008. The Prototype Developer Day itself will happen on Monday.

Admission to the Developer Day is free. If you’re interested in attending the full three days of The Ajax Experience, you can save $100 with the code Prototype. Register before August 22nd and save an additional $100.

The provisional agenda for this Prototype Developer Day is as follows (more details coming up on the full agenda):

Start time End time Session Speaker
8:00am 8:30am Intro/Welcome Prototype Core
8:30am 9:30am Contributing docs Christophe Porteneuve
9:30am 9:45am Break
9:45am 10:30am Contributing code Andrew Dupont
10:30am 11:15am The Prototype ecosystem TBD
11:15am 11:30am Break
11:30am 1:00pm Extended Q&A Prototype Core

You will get a chance to hook up with members of Prototype Core and “close core”, and we all look forward to meeting you guys. Here’s the current rundown:

  • Sam Stephenson (to be confirmed)
  • Andrew Dupont (confirmed)
  • Juriy “kangax” Zaytsev (confirmed)
  • Mislav Marohnić (to be confirmed)
  • Tobie Langel (to be confirmed)
  • Christophe Porteneuve (confirmed)

For more information on coming with a group, contact Tracey West. You can view the agenda for The Ajax Experience, and then proceed to one or both of the following:

Prototype 1.6 final... and more

written by Tobie on November 7th, 2007 @ 05:51 PM

I’m really really happy to announce Prototype 1.6 final today. We’ve put huge amounts of effort and love into it. It’s a great release and I’m sure you will love it.

I’d like to take that opportunity to thank all the users and contributors who’ve filed bug reports, posted patches and generally helped with the development and testing.

But there’s more:

Thomas Fuchs just announced 1.8 final, which is of course fully based on Prototype 1.6.

… and Christophe Porteneuve’s book, Prototype &, has just been completed and is now available for purchase from the Pragmatic Programmers. It’s fully up to date with both Prototype 1.6 and 1.8. Go get it now!

Remember: copywriting is interface design

written by Tobie on November 1st, 2007 @ 06:34 PM

I had a pretty tragic laptop incident last week, and I am still migrating data from my old, severely damaged hard drive to my new laptop.

Wanted to check back into my Flickr account today - which I had created a while ago via my Yahoo! account (or so I thought). Anyway, I probably either couldn’t find the right password or the right login, and ended up facing this rather contradictory injunction:

Flickr login screenshot

Should it be different… or can it be different (implying it definitely could be identical).

Remember: copywriting is interface design!

A new version of the Mac vs. PC flamewars.

written by Tobie on September 2nd, 2007 @ 03:16 AM

[…] Indeed, tests such as the Acid 2.0 Web Standards tests, demonstrates that the iPhone version of Safari supports more standards than Microsoft’s desktop version of Internet Explorer.

– Matthew David, Developing Web Applications for the iPhone

I’m not sure I consider the Acid Test as relevant enough in the above context, but that quote is just too hilarious to let pass.

JavaScript quirks

written by Tobie on June 16th, 2007 @ 02:48 PM

Nearly got burnt by a surprising behavior of JavaScript. We probably all know by now that null, the integer 0, '' (the empty string) and undefined are evaluated as false inside an if statement. What's a bit more curious is the following behaviour (try it the firebug console):

false == 0;
// -> true
false == '';
// -> true
false == undefined;
// -> false
false == null;
// -> false

If anyone has a rationale explanation to this, please share.

uncov job board... wtf?!

written by Tobie on June 14th, 2007 @ 07:09 PM

I get a kick out of reading uncov’s passionate rants. The style is far from politically correct - hey, that’s one of unconv’s trademark after all - but some of the remarks made are very insightful.

Anyway, I was just going through the website’s recent redesign and bumped into the job board section.

Well… looks like it’s one thing to criticize, and another to choose decent tools. The UI for that job search is just bad!

Thought it was funny to find something that poorly designed on uncov (and yes I know it’s provided by a third party, but there are tons of better tools for the job)!

What do they have in common ?

written by Tobie on June 3rd, 2007 @ 05:39 PM

logos of companies using Prototype

Prototype Quick Tip

written by Tobie on May 22nd, 2007 @ 07:48 AM

Living on the edge and using Prototype’s latest DOM Builder ? Feeling a bit dirty doing the following:

new Element('div').update('some text...');
// --> <div>some text...</div>

Here’s a quick solution (using Element.addMethods) to fully dwell in complete web-standardness:

  appendText: function(element, text) {
    element = $(element);
    text = String.interpret(text);
    return element;

Best part is that it lets you append anything, as long as the text argument has a toString method (thanks to Ash Searle for suggesting a better handling of null and undefined):

new Element('div').appendText('Some more text.');
// --> <div>Some more text.</div>
new Element('div').appendText(123);
// --> <div>123</div>

swedish poiuyt

written by Tobie on May 16th, 2007 @ 10:12 PM

Just a hilarious Escher/Oscar Reutersvärd (yet another swede!) inspired snapshot stolen from Christian Heilmann’s slides for his Seven Reasons for Code Bloat presentation for the WSG London Meet-up.

An Escher/Oscar Reutersvärd inspired Ikea parody applied to DOM and JavaScript

Couldn’t resist. Hope he doesn’t mind.

The Bungee Book

written by Tobie on May 14th, 2007 @ 03:03 AM

The Bungee Book cover

Christophe Proteneuve, one of my fellow Prototype Core Team, member, just published the first Beta Book of Prototype and - You never knew JavaScript could do this! over at the Pragmatic Programmers. (You can read more about the whole beta book concept on their website).

Affectionately dubbed “The Bungee Book” by Sam Stephenson–the master mind behind Prototype–Christophe’s upcoming title is sure to become the reference for Prototype and developers across the world.

I’ve had the chance to read through the first beta and all I can say is that you’d be just plain stupid not to grab a copy now: It’s thorough, extremely well documented (no wonder, Christophe wrote his share of the docs, trust me!) and witty.

Not only does Christophe know Prototype and inside-out, he’s also very much in touch with both of their communities and it shows: there’s stuff for everyone in there, from the beginner (some solid JavaScript basis strongly suggested, though) to the seasoned pro ready to start contributing code.

Check it out, you won’t regret it!

The Gut Factor

written by Tobie on May 11th, 2007 @ 08:51 PM

Seen on today:

The feeling I get when programming is at least as important as other factors when selecting a language.

Chad Fowler

That’s what I refer to as the gut factor. And which is what made me stick with Prototype when no documentation was available, updates were scarce, and people were migrating en masse to jQuery and YUI.

Looking back, that was one of the wisest decisions I made: I learnt way more about JavaScript helping out with the documentation and joining the Core Team than I would have otherwise.

What about you. What factors pushed you to adopt the language, framework, or library that your are using today ?

DOS attack on jQuery

written by Tobie on May 7th, 2007 @ 01:23 PM

The web is a place full of surprises. And sometimes they aren’t good ones.

Most of you know jQuery, John Resig’s excellent JavaScript library, well… the website it’s hosted on has been the subject of DOS attack over the week-end, and its host kindly invited John to go look for hosting elsewhere.

jQuery has now found a new host, (you might still encounter issues connecting to it while the DNS propagates), but the move was costly and Learning jQuery is still collecting funds to cover the move.

Please consider chipping in a dime or two.

Prototype 1.5.1 release candidate 3

written by Tobie on April 24th, 2007 @ 04:10 AM

We've just released Prototype 1.5.1_rc3, here's what's new since release candidate 2:

Bug fixes

  • Element.addMethods now also again adds the methods to Element. [#7888]
  • Form.request also works with forms containing an input element with name="action". [#8063]
  • Safari no longer crashes on String#stripScripts and extractScripts with large <script>.
  • Form.disable works again on non-form elements. [#6887]
  • String#endsWith now always returns the correct value. [#7822]
  • Ajax responses with no Content-type header are no longer evaluated. [#7827]
  • Hash#toQueryString again serializes undefined values to ensure consitency with String#toQueryParams. [#7806]
  • Various fixes of the $$() utility. [#7873], [#7901]


  • Ajax.Requests now supports per-request onCreate callbacks. [#8011]
  • JSON strings are automatically stripped of their security delimiters (if present) before eval. More details on this security issue here (PDF document). [#7910]
  • all toJSON methods now generate YAML-loadable JSON. [#7883]
  • Event.element now returns an extended element. [#7870]
  • Linefeed normalisation is now prevented in IE on String#escapeHTML and String#unescapeHTML for consistency with other browsers.
  • Added a new Element.childElements method (shorter alias of Element.immediateDescendants).
  • Added a new Element.firstDescendant method (same as using Element.down with no arguments).


  • Faster $$() utility and Element.getElemementsBySelector method. [#7873], [#7901]
  • Optimized, Element.down, Element.up and Element.previous DOM methods. [#7848]
  • Speed improvements of String#escapeHTML and String#unescapeHTML in IE and Safari.

You can also view the full changelog to see all of what has been improved since version 1.5.0.

If all goes well, this will be the last release candidate before 1.5.1 final, so we're counting on everyone's zealous testing and bug reporting.

Go download it now!

Rico 2.0 beta 1 is out

written by Tobie on April 20th, 2007 @ 12:50 AM

Rico logo

Rising back from the dead, the UI JavaScript library Rico just released a first beta of their upcoming version 2.0, which you can download from their website.

It’s based on the latest release of Prototype (version 1.5.1_rc2) which is included in the download.

I am really, really happy to see this project alive again, as yet another example of the striving Prototype community.

It’s the best reward we could get for the work we’ve put into Prototype 1.5 and the documentation site.

Thanks Richard for pursuing your great work and making it available to the community, and welcome to your new contributor: Matt Brown.