Prototype 1.5.1 out! Scriptaculous 1.7.0 *not* compatible. :(

Congratulations to the Prototype team for [rolling out Prototype v1.5.1](http://www.prototypejs.org/2007/5/1/prototype-1-5-1-released)! :D

Sadly, the current stable version of [Scriptaculous]() (v.1.7.0) is **not** compatible. In Safari, calling any Effect will fill the Javascript console with an infinite number of “Maximum call stack size exceeded.” warnings.

You’ll need to run the [Scriptaculous v1.7.1 beta 2](http://mir.aculo.us/2007/4/28/script-aculo-us-1-7-1-beta-2-for-your-download-pleasure) to avoid this issue until a new stable version comes out.

Coda, One Window Web Development for Mac OS X

Let’s get one thing clear, [Coda may be a 1.0](http://www.cabel.name/2007/04/coda-10.html) but it raises the bar for v1.0 software.

As a long time user of [Transmit](http://www.panic.com/transmit/), the best FTP software to ever exist, starting up Coda was a breeze. Upon open I was prompted to import favorites from Transmit and, after giving Coda permission to access my Keychain, I was treated to some little taped images of my sites popping into the sites tab:

Coda Sites Tab Previews

Of course, there became the first of a couple design “quirks” that bit me. First, double clicking a site icon opens a blank HTML file and displays the local file browser in the left sidebar. I’m not sure what behavior I would expect, but that wasn’t it. It reminds me of [BBEdit](http://www.barebones.com/products/bbedit/)’s default behavior on opening the application: “Open a window, and a sidebar, and create a new blank HTML file.” This is immediately followed by the user behavior of “Close the sidebar, open an existing file, then wonder why that untitled.htm is still accessible from the drop down menu” or, occasionally, “add file to sidebar, close untitled.html, close sidebar, remind self to adjust preferences.”

Either way, the idea of “One-Window Web Development” strikes one as so natural the moment you see Coda’s implementation of it. Typical FTP environments demand the double column:

FTP Client Double Column View

Coda provides a more intuitive approach with automatic synchronization largely eliminating the need for seeing “their stuff” or the remote server. Mix in a little Webkit for live previews and you’ve covered the needs of 80% of web development in one freakin’ super-charged efficient window.

A couple last mentions before I go buy the thing and help make their launch day the success it deserves to be… I can’t do web development without an internet connection because I am a little too dependent on the online PHP manual for the correct spelling of functions. Enter Coda’s built-in books and PHP manual **and AUTOCOMPLETE** and I can finally code from my laptop anywhere. Also, multiple split pane views (vertical and horizontal) means I can finally have my css, my php, and my html all in view. :D

The bad news? I may never buy another Transmit or BBEdit license again for my laptop. That’s probably music to Panic’s ears — I just hope it doesn’t negatively affect integration between BBEdit and Transmit in the future.

I could speak volumes about all the little features I can tell will save hours of my time every week, but for now, go read the official write up from [Steven](http://stevenf.com/2007/04/announcing_coda_10.php) and, if you missed the link, the announcement from [Cabel](http://www.cabel.name/2007/04/coda-10.html). Even if you don’t develop on Mac OS X, do yourself a favor and go enjoy the beautiful and functional [Coda website](http://www.panic.com/coda/).

Prototype Internet Explorer Gotchas

One week into building a technology preview for a new web application, I finally decided to check and “just make sure” that everything was working as well in Windows Internet Explorer as it was working in Safari and Firefox. Imagine my chagrin when the page loaded and was __completely blank__.

Not even a joyous error message or self-destruct error report to pore over for clues. Just a blank screen. Nothing. Nada.

First some background… I’m building the client side of the in Javascript using the amazing [Prototype](http://www.prototypejs.org/) and [Scriptaculous](http://script.aculo.us/) libraries.

It turns out that there are two **very** important things to keep in mind for Internet Explorer. First, `Element.extend` is your friend when adding to the DOM. Example:

`var my_div = document.createElement(‘div’);
Element.extend(my_div); // without this line, the next line causes IE to stop processing the script!
my_div.addClassName(‘thumbnail’);
`

Second, be careful what you use as names for custom attributes! If you inadvertently [cross the streams](http://en.wikipedia.org/wiki/Proton_Pack#Crossing_the_Streams) by using form attributes on non-form elements then Internet Explorer will suffer total protonic reversal (or, in other words, forcibly shut down). Example:

`var my_li = document.createElement(‘li’);
Element.extend(my_li);
my_li.setAttribute(‘value’, s.id); // IE self-destructs
my_li.setAttribute(‘valuetest’, s.id); // IE works fine
`

Although there is little else I can share about the application I am working on, suffice it to say in about, oh, six months I should have both good news to share and a fantastic grasp on Javascript programming. :)

Yahoo “Special K” To See Why Google is Winning

In a recent TV commercial for the [Kellogg’s](http://www.kelloggs.com/) breakfast cereal, the call to action for viewers is to search for [`special k`](http://search.yahoo.com/search?p=Special+K) using the Yahoo search engine. [Hitwise has talked about](http://weblogs.hitwise.com/bill-tancer/2007/01/special_k_another_tv_search_ca.html) how the TV ad affects search volume for the term.

What’s interesting about this is that “Special K” is slang for [Ketamine](http://en.wikipedia.org/wiki/Ketamine) a “general dissociative anesthetic for human and veterinary use” that is used as a recreational drug. Why would Kellogg’s risk associating their cereal with recreational drug use by inviting their customers to a page which is purported to be an unbiased representation of a search term?

A quick visit to the Yahoo page shows absolutely no results related to Ketamine or recreational drug use. However, a [Google search for `special k`](http://www.google.com/search?q=special+k) devotes positions 4, 5, 6, 7, and 10 to pages related to Ketamine plus 1 of 7 related searches include a drug reference.

To give perspective, a Google search for `”special k”` (in quotes) gives 1.33 million results. Removing any references to the cereal using the search [`”special k” -kellogg -cereal`](http://www.google.com/search?q=%22special+k%22+-kellogg+-cereal) yields 1.17 million results. If 88% of web pages on the internet which mention “special k” are talking about the drug, how can none of Yahoo’s top results for the term mention the drug?

This is an example of the culture difference between these two engines that yields a dramatically different result in user loyalty.

**Edit:** Upon further research, it looks like [someone already noted a difference in the search results](http://nilhan.co.uk/2007/01/21/tv-ads-chalenging-search-loyalty/). (Kocchi just misinterpreted the *direction* of slant.)