[General] Lively Kernel Roadmap

Dan Ingalls Dan at squeakland.org
Thu May 22 03:35:06 CEST 2008

[if you reply directly to me, please use Dan.Ingalls at sun.com -- I 
just had to send this from another address.   -Thanks]

Herbert Melcher wrote a while ago...

>Is there a roadmap available for LK, or what are the next planed steps?
>Best regards
>	Herbert Melcher

Greetings, Herbert, and all -

Thanks for this query.  It got us thinking about all the things we 
have to do, and the various places we could use some help.  Step one 
is probably just to share all that with the folks who have signed up, 
and we can see where it goes from there.

It probably makes the most sense to start with some goals -- 
artifacts we'd like to build, or demos we'd like to give -- which 
means cool capabilities we'd like to put in the hands of LK users. 
Then, from that context, and some first principles, we can give you a 
laundry list of things we need to do.  In each case, we are hoping 
you will all have various comments and suggestions.  It's our hope 
that as we start to be more articulate on this end, some of you who 
have been lurking out there will be moved to step forward and 
contribute as well.

	- Dan, as scribe

UI Completeness and Polish
For LK to become a realistic application platform, it must be able to 
create a look and feel that is second to none.  To this end there are 
several areas in need of improvement.  The best impetus for this work 
is to produce several real web sites.  The biggest challenge will be 
to keep things small and simple while enabling increasingly 
sophisticated appearance.  Here are some obvious targets for 
	More widgets
	Better importing of finished graphics
	Full support for curves and text on curves
	More CSS-style control

End-user scripting
The Morphic architecture of LK, together with live JavaScript, 
provides a natural context for end-user scripting with a tile-like 
interface similar to that in Scratch and Squeak EToys.  To begin work 
along these lines, we need:
	A parse tree framework for JavaScript
	A basic shape vocabulary for each parse node type
	A concept for browsing and inspecting at this level

Dear to our hearts is the symbiotic relationship of computation and 
media.  A real strength of LK is its ability to support active 
objects in a much more general way than most other web platforms. 
However there is still a gap in our capability in the area of current 
expectations with regard to sound and video.
	Sound - We have a piano keyboard; help us make it play

Engine room
There are still several places where the Lively Kernel requires work 
on performance and robustness.  None is holding us back at this 
point, but all will probably become important as LK sees more actual 
	Text Speed (already improved)
	Rich Text (mostly
	HTML support

JavaScript IDE
If it were never even used as an application platform, the Lively 
Kernel could easily be the IDE of choice for dynamic web media.  We 
now have a powerful set of reflective facilities in place, and 
concentration on just a few areas could yield dramatic results.  Here 
are some we have in mind:
	Parsing for better diagnostics
	Syntax coloring
	Spelling correction
	Integrated documentation
	More EMACS-style integration of editor and evaluator
	Intra-method parsing and emulation for full debugging support

This is a tough one for a distributed community, but a kernel like LK 
is in constant need of decomposition and refactoring in order to keep 
it from getting bloated and unmaintainable.

Layout support
We now have an experimental framework for automatic layout 
constraints.  A fair amount of work remains to be done integrating 
this with existing widgets and windows.

Web Site development
It should be possible to build an entire active web site while giving 
a demo in the Lively Kernel.  We need to concentrate on a few 
realistic scenarios and make this a reality.

Coupled with web site development is the issue of hosting.  We need 
to establish a hosting environment in which people can create 
interesting sites, and gain exposure for creative accomplishments.

Server leverage
So far the Lively Kernel has been mostly a client-side artifact. 
there is no reason to limit ourselves in this way.  Here are some 
projects that would highlight the possible server-side synergy.
	GUI Builder - 20 minutes in LK to produce a client-side interface
		remote data and services
	Database access - deeper LK services with shared access and 
more horsepower
	Collaboration - we had this working a year ago.  Time to 
revive shared white boards
		and webcasting with LK

It will soon make sense to have a wiki in addition to our mailing 
list.  This should, of course, be a lively wiki.  In fact our whole 
web site should be a lively site, so there's some overlap here with 
the web site topic above.  Also we need to get our documentation to 
be lively so that it tracks the current rapid rate of change and 

More information about the lively-kernel mailing list