Skip to Content Java Solaris Communities Partners My Sun Sun Store United States Worldwide

»  Contrarian Minds Archive
The Lively Kernel

Project Takes Web Programming Forward to the Past

Story by Al Riske. Photography by Howard Friedenberg.

07.Nov.07- The Lively Kernel is designed to take Web programming forward and backward at the same time. Led by Dan Ingalls, a Distinguished Engineer in Sun Labs, the project comes down to the simplicity that should have been there from the start.

"I've always felt that Web programming was more complicated than it needed to be," Ingalls says. "I look at Web pages and go, 'Whoa! This doesn't look like what I would normally do.'"

So, about a year ago, he was having dinner with a colleague, Antero Taivalsaari, and they started looking at ways to uncomplicate Web programming.

"When people decided to do the Web, they started with a text markup language. This was a big step backwards," Ingalls says.

It just so happened that the community at the time was mainly interested in sharing documents that could be displayed on any computer.


"HTML took off because it had links. It took off and all of a sudden, that's the Web," he says.

"The truth is there was plenty of computer science and graphical know-how to do that with text and graphics on nearly any computer, but the people doing the Web weren't into that frame of mind."

Eventually, though, people started to want more than a hypertext markup language.

"So you get a document object model on top, stylesheets added on top of that, and then JavaScript added on top of that to try and get some dynamic behavior -- and it all could have been done much simpler with just a dynamic language and a decent graphics model," Ingalls says.

"I've always felt that Web programming was more complicated than it needed to be."

Dan Ingalls
Distinguished Engineer
Sun Microsystems

 

And that's exactly what Ingalls and Taivalsaari -- along with Tommi Mikkonen and Krzysztof Palacz -- have done with the Lively Kernel project.

"It seemed to us that if you began with a dynamic language and structured graphics, like desktop systems of the 1980s, then even Web-based applications could be just as lively and interactive as the best desktop software," Ingalls says.

Sounds simple enough. And it is. There's nothing to download or install because the necessary JavaScript engine and graphics library are already part of your browser. Merely clicking "Enter Lively Kernel" causes the system to come to life on your computer.

(Note: The Lively Kernel doesn't work with all browsers. Not yet. But that's the plan. For now the team has it working with Safari 3.0 and Firefox 3.0.)

The system is small (less than 10,000 lines of JavaScript) and self-contained, but also extensible.

"It is possible to alter and enhance the capabilities of the system using the system itself," Ingalls says.

You can not only display graphics but manipulate them and create new ones on the fly. You can examine the source code and change it on the fly as well.

In short, the Lively Kernel can be used as an integrated development environment.


They call it a kernel because it has some operating system-like qualities as well, including the ability to run multiple applications simultaneously and to serve as a host for entirely new applications, widgets, and tools.

It's a nice environment for collaboration as well.

"An imaginative user can take the Lively Kernel in directions entirely unforeseen by its designers," Ingalls says.

"It seemed to us that if you began with a dynamic language and structured graphics, like desktop systems of the 1980s, then even Web-based applications could be just as lively and interactive as the best desktop software."

Dan Ingalls
Distinguished Engineer
Sun Microsystems

 

All through his career, Ingalls has had one overriding goal: to make computing simple and concrete and fun.

"That's always been a passion of mine, and this particular wrinkle on it is the Internet is out there connecting everybody, and for most people that experience comes through a browser, but there are a lot of barriers to working in a browser right now," he says.

"Either you work in the world of HTML and one of these frameworks (most of the frameworks are not interactive at all; you slave away in some lower productivity language and then it gets converted into JavaScript and made into a Web page and it's a big complicated process) or you try to work in some nicer dynamic environment but it's something you have to install and pay for, and if you're in a school the chances are the school won't allow it to be installed because of security problems. It's just not simple."

The Lively Kernel provides a third option.

"Everything you need is in the browser. There is a dynamic language there. It may not be your favorite, but it's not a bad one either. There is also a graphics system. Not the best, but pretty nice. Hook it all up with a simple user interface and you're having fun the way people should have fun with computing. I don't mean just fun for entertainment, but it's creatively inspiring. It makes you want to do cool stuff," he says.

At this stage, the Lively Kernel is still an experiment, but Ingalls believes it will catch on with adventurous developers and with teachers.

"It's such a small piece of software that most computer science students could understand the whole thing and could make their own creative extensions or improvements to it," he says.

"I could see this being a great medium for teachers to put out educational Web pages that are dynamic and interactive. It's not the only way to do that, but I think this has the potential of being simple and immediate in that way. You click on our Web page and all of a sudden you're running something that lets you author simple bits of material and save them onto another Web page."

You can even think of the Lively Kernel as a wiki of dynamic, graphical, scriptable objects.

"I like the wiki idea, which is there's a world out there and you can put new items in it and edit them at will. I think that's how it ought to be," he says. "This is that the same idea but with graphical, moving objects."

"You're in much less of a position to go forward in the world if you start out with stuff that can't be changed."

Dan Ingalls
Distinguished Engineer
Sun Microsystems

 


Ingalls describes the Lively Kernel project as a foray into a new way of doing things.

"It's an architectural exploration. An experiment. But we have already discovered some very cool ways to do things that I think could be easily spun into products and that could make sense in the world of JavaFX and JavaFX Script, for example," he says.

There's a reason they call it the Lively Kernel ...

"Lord knows you can get the Google Web Toolkit and start cranking out Java code for doing these things [browser-based applications], then translate it to JavaScript and make a Web page, but typically those Web pages are not then alive. You can't go in a grab hold of part of it and pull it out or change it the way you can in our system," Ingalls says.

"Now at times you don't want that. You don't want people accidentally pulling the scroll bar off their mail system. But my philosophy has always been: Make it first dynamic and malleable and then you can always turn off those capabilities. But you're in much less of a position to go forward in the world if you start out with stuff that can't be changed."


Dan Ingalls

Title: Distinguished Engineer.

Expertise: Virtual machines and kernel software.

Claim to Fame: Best known for being the principal architect of five generations of Smalltalk environments. Also invented pop-up menus and BitBlt, the general-purpose graphical operation that underlies most bitmap graphics systems today.

Education: Bachelor's degree in physics from Harvard. Master's degree in electrical engineering from Stanford.

Background: Stints at Xerox PARC, Apple, Disney Imagineering, HP, and Weather Dimensions (his own startup) before joining Sun in 2004.

Honors: ACM Grace Hopper Award, ACM Software Systems Award.

Quote: "My philosophy has always been: Make it first dynamic and malleable and then you can always turn off those capabilities. But you're in much less of a position to go forward in the world if you start out with stuff that can't be changed."

Hobbies: Alpine snowboarding, cycling, steam engines.

Pet Peeve: "Seeing people who go through a computer science education without building anything from scratch."

Passion: "To make computing simple and concrete and fun."

Last Book Read: The Linguist and the Emperor: Napoleon and Champollion's Quest to Decipher the Rosetta Stone, by Daniel Meyerson.

Favorite Song: "Galileo," by the Indigo Girls, and "God Shuffled his Feet," by Crash Test Dummies.

What Keeps Him up at Night: Inventing, finishing fun projects.

Little-Known Fact: "My sporting clays team beat General Norman Schwartzkopf's team in a skeet shoot."

Wildest Dream: To build a wave sculpture for San Francisco.

Proudest Moment: The release of Squeak.

First Job: "Cutting weeds out of a creek bed in Virginia with a scythe. Met a copperhead on my first day."

Indulgence: Champagne.

Inspiration: Cyrus Harding; also my father.

Retreat: The Williams Loop.

What Brought Him to Sun: Friends.

What Keeps Him Here: Friends.

What's Next: Sleep. The Lively Kernel in 3-D.

 
Would you recommend this Sun site to a friend or colleague?
Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2009 Sun Microsystems, Inc.