JavaScript aversion and the First Step

(For Marcus)

As I admitted in my RubyConf talk, I never really got over Delphi. Not so much Object Pascal, which was nice but lacked any functional programming chops beyond being able to pass pointers to functions around — which was cool. What I loved about Delphi was that it made it easy and fun to create really powerful and compelling user experiences. The kind of thing that the web, frankly, sucks at. When every user interaction makes the UI disappear, makes the user wait, then draws a whole new page, well, damn, even the 3270 was better than that.

So, when I spoke at the first Rails conference in ’06 — the other half of my not-so-spectacular conference speaking resume (we can’t all be Giles Bowkett) — I was talking about OpenLaszlo on Rails and the merits of REST (before the word even publicly crossed the lips of my good friend DHH, thank you very much) because I wanted that cinematic user experience. Powerful UI controls. Instant feedback. You know, like OS X, the iPhone — even Windows.

Unfortunately, life was not all hookers and blow after my conference talks. Nor did I get a paying gig to really dig into OpenLaszlo as much as I would have liked. So my dreams of desktop-like apps in the browser had to wait. Flex, I never really liked. Adobe as a company, I am not fond of. Flash as a platform — no thanks. It has taken me a long time to get to that first step, to realize what I need to do, but here goes:

My name is Mike and I am a JavaScript-aversion-aholic.

I say this not to mock my good brothers in the smoky rooms full of folding chairs, facing their demons like the heroes that they are, but to embrace the fact that I am beginning (yet another) journey of many steps. The first step is to acknowledge that my JavaScript aversion has held me back. It has been a problem.

Won’t you get on the wagon with me? I am going to be doing some really cool stuff on yet another Top Secret Project, using Sproutcore, the most excellent Cocoa-ispired framework that has the backing of Apple, that features so prominently in their web-based MobileMe apps. Here are some resources I have found to get me started:

Yahoo! Senior Javascript Architect and JSON creator, Douglas Crockford teaches Javascript:


…and *advanced* Javascript:


Sproutcore creator Charles Jolley gives a lengthy intro to Sproutcore at Google (you will want to download the code linked to in the info box on the right, as the video quality is, frustratingly, too poor to make the code legible):

And, naturally, has lots of good stuff, as well, and the boys in #sproutcore on freenode have already been hugely helpful.

So here , have some coffee. The cigarettes are, thankfully, optional. I would love to have you next to me on this journey…


5 thoughts on “JavaScript aversion and the First Step

  1. So then you are no longer pursuing OpenLaszlo? Is it because the javascript output it is capable of producing is lacking in some way?

    1. There are no functional deficiencies in OpenLaszlo that I am aware of, it is just not a technology that I have had the opportunity to leverage. And, it is a minority player. Flex has Adobe, Dojo has IBM, and SproutCore has Apple. So, betting on OpenLaszlo is a risky proposition in that regard — with no big players backing them, how will they gain mindshare?

  2. Well, they have their own community and corporation of bright folks. But, the community itself seems a bit struggling. Their IRC room suffers from a population deficiency, for instance. Their message board has a good community, last I checked (a few months ago), but only has a few real good “experts”.

    I’ll need to research into this Dojo and SproutCore business. I understand that Flex is a product of Adobe, but for SproutCore, I am uneducated as to what their relationship with Apple is (other than the fact that they used their framework for MobileMe).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s