Thursday, June 19th, 2008

Audible Ajax Episode 27: SproutCore with Charles Jolley

Category: Podcasts, Prototype

SproutCore Photos

On the back of the iPhone 3G news at WWDC, the next biggest thing was the launch of Mobile Me, a compelling user experience to access Apple services using standard Open Web technology.

The application is written using the SproutCore framework, and I got to sit down with Charles Jolley, one of the founders.

We talked about the history of the project, how it differs from other frameworks that are out there, and where they are going. It is interesting that this podcast comes after the 280 North one, as they are both Cocoa inspired.

SproutCore is much more JavaScript focused though, and gives you MVC in the client in a simple and intuitive way. I found it interesting to see how the framework has developed, from its Rails plugin roots, to now (dispel myth: it has no dependency on Rails, just some build files are Ruby).

Charles talks about techniques that they use to give you fast applications (common global event dispatch seems key, and Prototype 2.0 is adding this) and how he feels that compelling rich browser applications will keep pushing the browser vendors to speed up, and shape up!

We have the audio directly available, or you can subscribe to the podcast.

Posted by Dion Almaer at 4:39 pm

3.4 rating from 88 votes


Comments feed TrackBack URI

I can relate on writing JS-heavy, “desktop-like” apps – it’s not easy. I worked on the new Yahoo! Photos (3.0) redesign back in 2006 (see a fun UI demo etc. on the YUI Blog), and we were constantly hitting browser walls, performance challenges and so on. We used event delegation, implemented destructors on our core JS objects (primarily for fighting leaks in IE 6), “progressive loading”, and so on – all elements common to desktop apps.
It was a lot of fun and a great challenge, but it was an uphill battle trying to maintain both an ever-growing “state”, and performance, simultaneously, without a page unload/refresh.
In fact, it was the pandora’s box of trying to maintain a “single-page experience” which I think was the largest learning/takeaway from the whole thing – that being I think it’s a slippery slope.
I’m still not convinced that the browser is ready for the “desktop” world, but we’re certainly closer to the dream now than we were back in 2005.

Comment by Schill — June 19, 2008

While I am quite interested in Sprout, the fact that their only online demo is noticeably buggy isn’t a particularly encouraging fact. Now, while I’m not blaming this on the framework itself, it not a fantastic first impression.

Comment by whyisjasontaken — June 21, 2008

I really like the how Sprout apps run in a modern browser. But they seem to leave behind the concept of unobtrusive javascript in a big way. Concepts like moving style to external style sheets and using semantic html fly out the window as well… So I guess I was hoping for something that output a bit more elegant code.

Comment by AgentG — June 24, 2008

Too bad their stuff doesn’t work *at all* in my browser, IE6.
Not even any error messages, just empty or partly populated pages.

(And no I’m NOT switching to some other browser, they all blow too much to be worth the migration)

Also their webpage seems pretty badly designed.
For example almost all links are scrubbed squeaky clean from everything that makes them look like links, some stay secret even when you mouse over them.

And the XHTML is also broken and bloated, if you have to nit pick (even more) =)

I got it working in FF, but it seems awfully slow and unintuitive to use compared to a normal webpage.

No open in new window/tab,
no back button,
lots of lag in basic things like scrollbars,
right-click makes a left-click too sometimes, etc.

I think all these “desktop app in a browser”-frameworks often seem to wind up combining a lot of the worst from both worlds.

At least in this framework it seems you can select things and apply functionality in the context menu to content. Most other “web page” apps do away with the DOM access completely, killing all the perks with using the browser.

Comment by MatsSvensson — June 26, 2008

This guy is hilarious : it’s been a while since I listen to a tech podcast and got so much laugh !
He is saying that desktop are not waiting for the mail server to reply in order to compose a mail : dude composing a mail from a desktop app does not require talking to a mail server !!

Then he is saying that they have an app ‘internally’ that can render 5000 images in 200 milli seconds (I like the ‘internally’ aka why is it so secret)… OK it’s not really rendering the 5000 images because it’s doing lazy loading/scrolling but then can he explain why the .Mac Web Gallery that is available right now is using a system of batch when there is many many images and why the hell the page take a lot more than 200 milli seconds to appear. If the framework was so powerful and so fast don’t you think that it could have been used on existing apps?

Honestly having such laugh listening to a podcast does not happen often… so I give credits where it’s due… And the dude should apply for working at Microsoft with so much BS/vaporware he is talking about!

I can’t wait for MobileMe to be released and see how really SproutCore behave in real life ! my feeling is MobileMe may be called ImmobileMe

Comment by MacMania — July 2, 2008

Leave a comment

You must be logged in to post a comment.