[lively-kernel] New Release coming - Alpha testers welcome

Dan Ingalls danhhingalls at gmail.com
Mon Jul 11 21:44:18 CEST 2011


Folks -

Last fall we made the decision to refactor the graphics kernel, 
rewrite our serialization scheme, and make things better for 
end-users as well.  In the process, we took our communications pretty 
much off line so, to look at the mail list, one might assume we just 
stopped working.  Nothing could be farther from the truth, as you 
will see from this summary of features in the upcoming release of 
Lively Kernel 2.0...


New Rendering Architecture

We have refactored the rendering architecture so that it can equally 
easily support not only SVG and Canvas, but also standard HTML and 
CSS.  There were several reasons:  improved graphic performance, 
easier incorporation of existing web content, and the flexibility to 
interoperate with other widget sets, visualization software and the 
like.  By separating the rendering state from the morphic state, it 
also allowed us to serialize objects in a rendering-independent 
manner.  The importance of this will emerge when we talk about Parts 
Bins.  Here is an examples enabled by the new architecture

 
<http://lively-kernel.org/repository/webwerkstatt/demos/visualizations/FPSProtovis.xhtml>http://lively-kernel.org/repository/webwerkstatt/demos/visualizations/FPSProtovis.xhtml


Native Widgets

One advantage of the new system is access to native widgets in the 
browser, most notably text frames that can edit multi-megabyte 
string.  We also look forward to such native support in mobile 
devices where there are high expectations of both appearance and 
performance.


New Serialization

We have rewritten the entire serialization module in LK2 removing its 
dependence on the browser DOM. Serialization now uses JSON 
exclusively, and it now handles all morphic structure, including 
non-rooted morphs and arbitrary JavaScript objects.


Parts Bins

We have made a step in ease-of-use for many simple creations. 
Beginning with the Lively Fabrik project, we had gained experience 
with a simple drag-and-drop palette of components.  It became obvious 
that this is a generally more convenient and more concrete access to 
a lively library than menu commands, plus it offers the potential of 
storing as well, and is thus a true user repository.  Around the same 
time, we were experimenting with Node.JS, and this, together with a 
general desire to slim down our kernel, suggested that our parts bin 
should be cloud-resident (and thus sharable), replicable, and 
generally scalable as well.


We soon discovered that storing objects in this manner was more 
convenient than saving code and files.  Originally used only for 
simple shapes, we now store all sorts of active content from widgets 
to full-blown applications, styles such as fancy borders, behaviors 
such as throbbing, spinning, etc, and services such as map views and 
language translation.


Iconic Connect

In addition to drag-and-drop access from the parts bins, it is 
necessary to be able to connect objects together in a live way.  For 
this we have developed a dataflow connection similar to the bind 
operation found in many GUI frameworks.  Connections can be made 
simply by drawing out a line from one component to another and 
selecting from a menu which property of the source should be 
connected to which property of the target.


Script Browser

With the move to a less class-oriented style of development, we have 
developed a simplified browser that also offers control scripts and 
connect functions.  The script browser itself is built in this 
manner, and is something much more accessible to casual understanding 
than our more heavyweight programming tools.


Live Web

The change to direct scripting of objects and iconic storage in the 
cloud is a true paradigm shift for the Lively Kernel.  The experience 
is one of living in a vast and shared cloud of active content that is 
easy to grab and play with, and equally easy to publish back to.


Lively Archives

A wonderful side-effect of the new serialization is the ability to 
create a full-system archive of any Lively Kernel world.  A lively 
archive is a web page that includes the entire code base, and that 
can thus be run without access to the Internet.  It can be stored as 
a clickable app on one's desktop and, being self-contained, it should 
remain a stable artifact for years to come.


Personal Lively

Using the lively archive technology it is now possible to store 
Lively Kernel worlds to your Dropbox account, thus letting you keep 
them and share them as long as you want.  We plan to extend this 
facility to parts bins as well, so that you can build and share your 
own personal gallery of weird and wonderful lively content.


The punch list for Lively Kernel 2.0

We are now operating at maximum warp to assemble a stable release so 
that people can play with it and we can take this environment to the 
next level of creative productivity.  We are intentionally refraining 
from perfection in favor of early release, knowing that we will want 
to change it the minute we are done.

Here are the major stepping stones remaining to get us to 2.0:

		Archive the old version with many demos

	Check operation in all major browsers

		Code cleanup of the new version - remove deprecated code, etc

		Address a few usability issues

		Basic documentation and web site organization

		Anticipation of future extensions such as canvas 
rendering and touch support


Stability

In addition to our normal practice of making the up-to-the-minute 
alphas accessible, with 2.0 we plan to begin a practice of providing 
links to a reasonably documented stable release as well as the 
up-to-the-minute development version.


Check out the alpha pages

To get a sneak peak at Lively 2.0 visit
	<http://lively-kernel.org/repository/webwerkstatt/webwerkstatt.xhtml> 
http://lively-kernel.org/repository/webwerkstatt/webwerkstatt.xhtml

A FAQ has been started at
     
	<http://lively-kernel.org/repository/webwerkstatt/documentation/FAQ.xhtml>http://lively-kernel.org/repository/webwerkstatt/documentation/FAQ.xhtml

Please note:
You can help to make the 2.0 release a success by testing these 
pages, and any other features you discover.  Please send us your 
comments and suggestions.

Also note:
At this writing, LK2 runs best on recent releases of Safari, Webkit 
and Chrome.  It is our intention also to support IE (9+), Firefox and 
Opera.  Help us to test these and send us your comments.


Lively up your web!

	Dan Ingalls (as scribe) - SAP Research, Pal Alto
	Robert Krahn - Hasso Plattner Institute, Potsdam
	Jens Lincke  - Hasso Plattner Institute, Potsdam
	Marko Roeder -  Hasso Plattner Institute, interning at SAP
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.hpi.uni-potsdam.de/archive/lively-kernel/attachments/20110711/b347f353/attachment.htm 


More information about the lively-kernel mailing list