[General] Lively Kernel Roadmap

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[General] Lively Kernel Roadmap

Dan Ingalls
[if you reply directly to me, please use [hidden email] -- 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
improvement:
        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@this level

Media
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
        Video

Engine room
There are still several places where the Lively Kernel requires work
on performance and robustness.  None is holding us back@this
point, but all will probably become important as LK sees more actual
use.
        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

Cleanup
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.

Hosting
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

Community
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
refactoring.