Monday, October 8th, 2007

Sun Labs Lively Kernel: Morphic UI for the Web (Self and Squeak)

Category: JavaScript, Library, Toolkit, Tutorial, UI

>Sun Labs has released a new Lively Kernel project that takes the Morphic UI framework that Sun developed for Self, and implements it in JavaScript.

This enables you to run the kernel and start interacting with the world. There is one world.

Why did they do it?

The Lively Kernel places a special emphasis on treating web applications as real applications, as opposed to the document-oriented nature of most web applications today. In general, we want to put programming into web development, as opposed to the current weaving of HTML, XML and CSS documents that is also sometimes referred to as programming.

A key difference between the Lively Kernel and other systems in the same area is our focus on uniformity. Our goal is to build a platform using a minimum number of underlying technologies. This is in contrast with many current web technologies that utilize a diverse array of technologies such as HTML, CSS, DOM, JavaScript, PHP, XML, and so on. In the Lively Kernel we attempt to do as much as possible using a single technology: JavaScript. We have chosen JavaScript primarily because of its ubiquitous availability in the web browsers today and because of its syntactic similarity to other highly popular languages such as C, C++ and Java. However, we also want to leverage the dynamic aspects of JavaScript, especially the ability to modify applications at runtime. Such capabilities are an essential ingredient in building a malleable web programming environment that allows applications to be developed interactively and collaboratively.

Boot up Safari 3, and check out the interactive tutorial, and read the FAQ.

Lively Kernel

Posted by Dion Almaer at 9:01 am

3.3 rating from 61 votes


Comments feed TrackBack URI

ok, lets wait 5 years, then we will see.

Comment by nymane — October 8, 2007

I like! Maybe not as constructive right now as it is self-contained (like squeak), but it is the shape of things to come, is my guess.

Comment by peter svensson — October 8, 2007

Uhm, forgive a mere JS begintermediate (I just made that up, don’t worry, nobody else is using it, but Google says I’m wrong) for putting in their 2 cents, but this conflicts with ‘most everything I’ve heard about how and where Javascript should be used. First of all, who in their right mind tries to use JS for everything? If Javascript is so ubiquitously available, then how come this only works in Safari 3.0? Methink using Javascript for everything and being browser-incompatible might, just might, be related.
Also, the way they profess that Javascript is syntactically similar to the C-family makes me highly suspicious of how they are using it…have they seen the Crockford videos?

Comment by Scriptor — October 8, 2007

A lot like dsvg, svgui, etc. Very well done. I wonder if it could run in Batik?

Comment by Jonathan Leech — October 8, 2007

I love Asteroids! I wonder if this is SUN’s answer to the Silverlight/Flash battle — The ActiveX wars.

Comment by Chris — October 8, 2007

it seems kind of pointless too me, i played with all the tutorials and then took at look at lively itself. It’s so slow it’s unusable, not to mention, I can just feel how much memory it’s chewing up.

And the entire interface is sluggish and awkward. I don’t see a need for something like this to be produced. Now, as a case study, it’s very nice. however i couldn’t see this actually being useful for anything more than wasting time

Comment by James Murray — October 8, 2007

I agree with James. It’s a very interesting toy/proof-of-concept.

Comment by Joe Grossberg — October 8, 2007

safari only? sounds like future abandonware.

Comment by Ivan — October 8, 2007

I like the morphic stuff. I hope this goes somewhere.

Comment by Douglas Crockford — October 8, 2007

runs really slow and hogs a crap load of memory. still in beta i guess.

Comment by Simon Jia — October 8, 2007

Lively is a really interesting example on what can be done by using SVG as a sole rendering engine. Unfortunately the current implementations of SVG run so slow that it is quite unpractical when used this way. The user experience might change dramatically if (for example) Apple implemented SVG directly using their powerful core libraries with hardware assisted rendering.

Comment by Joonas Lehtinen — October 8, 2007

Well, it’s very unstable. But at least, it’s slow :-)

Comment by Julien Lecomte — October 8, 2007

Actually whats really interesting about it is that Dan Ingalls actually works on squeak which is the underlying platform for -

Comment by Tyler Rorabaugh — October 8, 2007

I think it’s good that they’re pushing the envelope. SVG could eventually grow to fill flash’s shoes vector-graphics wise, and then environments like these would allow people to build flash-like applications without actually having to require flash.

Right now it’s just an interesting proof of concept, not something you would use in production code, but it shows the potential of javascript+svg for regular web apps, instead of for just animating pretty pictures.

Comment by Joeri — October 9, 2007

Ahhh.. My CPU, it burns, it burns. … Cntl+W.. Ok, all better now.

Comment by Bill — October 9, 2007

for another framework that enables JavaScript applications check out JNEXT (

JavaScript can be used for creating full fledged applications. I’ve successfully used it before exactly for that purpose in large projects. It is a very powerful language which deceptively resembles C. Extending it to enable access to native OS resources bridges the last step in making it a super tool to rapidly create applications.

Comment by Amnon — October 9, 2007

When is Sun going to hire some graphic designers? This is an interesting demo, but the visuals are not professional looking at all. The JavaFX demos are just as bad:

Seems like a waste to spend so much time on technology and not have someone come up with a decent color palette at minimum.

Comment by K9 — October 9, 2007

This is a cool experiment. Dan Ingalls is a real innovator who has done some amazing things. While SVG might not be up to the job of powering something like this cross-browser, it points the way to some future possibilities of how we might build web-based systems.


Comment by Brad Neuberg — October 9, 2007

Tried on opera at first .. page wasnt loading. Then i tried on 9.5alpha becase it has best svg support (afaik). Same.

Then i tried on safari .. it was laggy and half of widgets had issues (a.k.a major bugs). It cant be beta.

Comment by mefisto — October 9, 2007

Hah. It is a bit like squeek isn’t it. Validates what I’ve been saying all these years. That Netscape really should of used smalltalk as its scripting language, and if it did we’d be MILES ahead of where we are today.

Not sure why it validates it. But I’m sure it dows.. somehow (The reason I think smalltalk would be perfect for the web is the whole message passing idiom, and the ‘from little things big things grow’ idea. smalltalk does both perfectly. It really is the pinnacle of OO coding )

Comment by Shayne — October 10, 2007

This almost drove me insane.
Like brad said, it’s neat…but IMO, it’s pointless.
The whole framework is slow, buggy, and not near as responsive as it could have been.

Comment by Shawn K. — October 14, 2007

Of course it’s slow, but that’s not the point. The point is that Javascript + SVG is robust enough to pull this off. It’s also significant that something based on Squeak was successfully ported. The Smalltalk language is well past its use-by date, and the only future for its technology lies in porting it elsewhere.

I was mildly disappointed that the demo didn’t include a web browser :)

Comment by John Hensley — October 15, 2007

I think that the implementation is impractical, but what’s really important is that the concepts are demonstrated in a popular and current language. People wrongly think that Smalltalk is obsolete, but if it’s in Javascript (eh?) it gets some attention. It also doesn’t hurt that it can run in a web browser which helps make it viral. Perhaps this sort of thing will inspire dynamic translators for Javascript interpreters? ;-)

Comment by Carl Gundel — October 30, 2007

Leave a comment

You must be logged in to post a comment.