[lively-kernel] LK ready for prototyping?

Chip Nowacek chip at twostewards.com
Fri Mar 8 15:16:52 CET 2013

Hello Mr. Ingalls.

Forgive me. Hearing from you gives pause. Please indulge me: I need to
express a heartfelt...

Thank you.

I'm very grateful for your many and ongoing contributions. Your creativity,
frequently manifest through your enabling the creativity of others,
continues (often anonymously) to shape our world. Those of us who are
trying to both express ourselves and help others to express themselves, are
beneficiaries of your work. "Thank you" feels inadequate. It will likely
remain so -- which is appropriate. The best debts can only be "paid

And, back to the matters at hand, I appreciate your addressing some of the
questions I asked of an already-generous Mr. Krahn.

Here's what I got from your note:

   - You have a sense of the Lively community in terms of size, capacity,
   and culture.
   - You are pleased with that community and have plans for its growth.
   - You and that community, through LK, want to continue to offer a
   creative and experimental environment -- and add production capacity.
   - You believe the community and LK are ready for this next phase.
   - You believe collaboration can benefit everyone involved, and,
   consequently, have a sense of exchange.

Is my understand sound? Did I miss or misconstrue anything?

Again, thank you.


On Wed, Mar 6, 2013 at 2:56 PM, Daniel Ingalls <danhhingalls at gmail.com>wrote:

> Hi Chip -
> Let me echo your appreciation for Robert answering your earlier post in
> depth.
> I thought i would add a few comments, for what they are worth ,regarding
> your latest questions...
> Regarding control over "interactivity".  What we are talking about here is
> the distinction between "design time" behavior and "deployment" behavior.
>  Because we use the system almost exclusively for exploration, we have not
> devoted a lot of attention to making a good push-button solution to
> deployment.  That said, all the controls are there in various places, and
> it would be a fruitful collaboration if you wanted to seek our advice, and
> then offer back some capabilities along the lines of such a solution.
> About IE, I'd like to point out that recent releases of IE (9 and later)
> are perfectly capable of running LK decently, and it is only a question of
> priority that we are not currently supporting IE.  If this matters to you,
> or anyone else, it would probably not take more than a week to get things
> running decently, and then a bit of periodic testing that can be automated
> as we do with the other browsers.
> About stripping, there is a lot of supporting technology, but no packaged
> instrument.  Here again, a week or two of playing around would get you very
> far, since the serialization that saves worlds is well-instrumented, and
> the global method wrapping that performs method counts is capable of
> detecting all unused methods for a given test case.
> Our community is right now quite small, but also quite capable, and we are
> working on plans that should more than double our activity (and in the kind
> of direction you seek) in the next couple of months.  Stay tuned for that.
>   - Dan
> --------------
> On Mar 6, 2013, at 4:00 AM, Chip Nowacek wrote:
> Thank you very much for your response. Very helpful. I am in your debt.
>    - Any tips on how to reduce interactivity myself?
>    - I understand the need of a deployment server. For my project, would
>    I just clone the github repo, make my changes, and copy the lot to the
>    server with a loading page? Are there any technical
>    development-to-deployment workflow hints or tips somewhere?
>    - Any how-tos for wrapping JS libraries? I am really only interested
>    in Firebase at this point. It has no rendering. It essentially binds
>    elements to a backend key store database with callbacks. Real-time data
>    replication. No need for Node.js.
>    - Is there any deployment stripping facility that would remove unused
>    modules to shorten the load time?
>    - Is it just IE that will give me trouble for deployment?
>    - Is there a community of people using LK for their projects? I'd hate
>    to keep bothering you.
>    - What, at this point and in your opinion, are the top reasons people
>    are not using LK for their projects? I hope you don't consider my question
>    rude. I just need to understand what set of challenges I'm facing.
>    Understanding reality helps when trying to deal with it.
>    - Is there any circumstance or situation in which you'd discourage me
>    from trying to deploy a full production app with LK? It's an important
>    decision.
> Thanks again,
> Chip
> PS Do you think LK might ever morph into an implementation of Smalltalk?
> On Wed, Mar 6, 2013 at 3:08 AM, Robert Krahn <robert.krahn at gmail.com>wrote:
>> What Amber and Lively have in common is that they provide a runtime and
>> tools to interactively develop client-focused web applications. Apart from
>> that both projects are quite different.
>> With Amber you will typically write Seaside-like Smalltalk-wrapped HTML
>> code. The way how you write that code is different to conventional web
>> programming, the result isn't. Amber comes with jQuery and of course you
>> can use whatever other third-party JS lib you like on top that. Depending
>> on your needs projects like angular.js or ember.js might be interesting.
>> On the contrary, Lively Kernel encourages you to use Morphic. You don't
>> have to as you can create any kind of browser supported output
>> (HTML/SVG/Canvas/WebGL...) and of course you can use other JS libs with
>> that approach as well. Integrating other JS libs with Morphic directly is
>> also possible but depending on the scope of the library that might create
>> conflicts. We successfully integrated things like d3, Markdown, MathJax,
>> and others but if you take a library like ember that brings its own
>> rendering approach than direct integration with Morphic will probably be
>> challenging. Coexistence is certainly possible, though.
>> Morphic really focuses on direct interaction. The typical first
>> development cycle for a app written in Lively is the following:
>> - Interactively add a Rectangle to the current world, change its size so
>> that it serves as a container
>> - Interactively add things like buttons, lists, texts to it.
>> Interactively rearrange.
>> - Start sketching out first pieces of logic: Let's say we have a button
>> and a list and want to display list items on button click:
>>   - Interactively give the list a name ("exampleList")
>>   - Open an ObjectEditor on the rectangle, add a method #populateList
>> that looks like:
>>     this.addScript(function populateList() {
>>         this.get('exampleList').setList(Array.range(1,10));
>>     });
>>   - try it out directly in the ObjectEditor by evaluating
>> "this.populateList()"
>>   - Interactively connect the button's fire connection point with the
>> rectangles #populateList script
>> - Try things out, Save your world, refine
>> Later on you will probably do things like create a module to extract
>> code, move common code into classes, write tests.
>> Also consider:
>> - You will probably want to shrink interactivity of the elements of your
>> resulting application down. This is possible but we do not provide a
>> "let's-make-that-morph-stupid-solution" at this point.
>> - Even if you don't want to deal with a server you somehow need to deploy
>> your application
>> - A application written in Morphic that just does things you can
>> typically do with static HTML (present static document-like content) will
>> carry a lot of overhead compared to its usefulness.
>> - Lively encourages a "one-page-app" architecture vs. the typical
>> "one-page-per-process-step" of conventional apps. Since you want no server
>> logic this should suite your needs.
>> I hope that helps a bit. Other than that, I can just recommend to get
>> started with whatever system you feel most productive at this point.
>> Software development is mostly iterating technical solutions of your ideas
>> anyway. What's valuable are your ideas and how they are shaped by the
>> feedback of those steps.
>> On Tue, Mar 5, 2013 at 12:33 PM, Chip Nowacek <chip at twostewards.com>wrote:
>>> I've thought about your response while I have been looking at other
>>> platforms. My circumstances have changed and I need to build a prototype,
>>> yes, but one that can be then refined and deployed on a large scale (as)
>>> quickly (as possible).
>>> I am not a professional developer. Whatever system I use I will have to
>>> learn and likely figure out how to integrate with JS libraries. I wish I
>>> had your experience. LK seems like the most natural choice - but only if I
>>> can take what I build into production. The only other platform I am
>>> considering at the moment is Amber Smalltalk. I want everything going on in
>>> the browser and potentially use something like Firebase as a replicating
>>> direct-to-client key store. I really don't want any logic on the server.
>>> Oh, and I need some lightweight expert system on the client, too.
>>> If you were me, what would you do?
>>> On Mon, Sep 10, 2012 at 9:04 PM, Robert Krahn <robert.krahn at gmail.com>wrote:
>>>> Lively is a wonderful environment for experimenting. Of course this
>>>> depends on what you want to achieve but in my experience you are able to do
>>>> quite complex things pretty fast.
>>>> Take this demo for example:
>>>>   result: http://lively-kernel.org/other/fuelDemoVideo1.mov
>>>>   building it with wiring parts together:
>>>> http://lively-kernel.org/other/fuelDemoVideo2.mov
>>>> It is a rough visualization of a how a car driving along a given path
>>>> that highlights the fuel stations the car can reach with its fuel level
>>>> that changes as it drives along.
>>>> (The purpose of the demo was mainly to show how such a visualization
>>>> can be created using a mix of graphical/textual programming and combining
>>>> existing components, not the actual application itself)
>>>> Creating the initial sketch (that was really running of course) was
>>>> something that two people (that were very familiar with the system) did in
>>>> the course of three hours. Pretty fast I guess. Tweaking things to look
>>>> nicer and embedding ideas that came up in the process of building it took
>>>> 2-3 days more.
>>>> For the purpose of creating this interactive demo, Lively worked very
>>>> well. However, important to mention is that this was *just a demo*. The
>>>> application that came out of it not usable in the sense of a software
>>>> product as you have to be careful of where to click etc. So a lot of issues
>>>> related to the usability of the interface from the standpoint of an
>>>> end-user were not addressed. Producing something like a "demo to be used by
>>>> others" will definitely require *much* more time.
>>>> Also consider that Lively / Webwerkstatt is used as a research
>>>> environment as opposed to a stable development environment like Eclipse.
>>>> Things look rough. Interfaces change. Tools evolve. We are currently
>>>> working on a version of Lively that is more stable than what you find in
>>>> Webwerkstatt (see the other messages on this list), however, we are not
>>>> able to give any support guarantees.
>>>> I agree with Jens, take a couple of hours time and try to dig in the
>>>> system and produce at least a tiny part of what you have in mind and see if
>>>> this feels right.
>>>> I would love to see a new system build in/with Lively :)
>>>> Robert
>>>> On Mon, Sep 10, 2012 at 8:12 AM, Jens Lincke <
>>>> jens.lincke at hpi.uni-potsdam.de> wrote:
>>>>> Hi Chip,
>>>>> did you play with it for 2 hours you to try it out, or what are your
>>>>> experiences yet? It depends what kind of demo app is required... A mobile
>>>>> app?
>>>>> I think you could try, but be aware that it can be easy if you do
>>>>> similar things others have been done, but it can get messy when you want to
>>>>> go where no one has gone before you in lively ;-)
>>>>> Best,
>>>>> Jens
>>>>> Am 10.09.2012 um 15:59 schrieb Chip Nowacek <chip at twostewards.com>:
>>>>> Should I take the silence as: "Stay away from Lively" ?
>>>>> ---------- Forwarded message ----------
>>>>> From: Chip Nowacek <chip at twostewards.com>
>>>>> Date: Thu, Aug 30, 2012 at 6:11 PM
>>>>> Subject: LK ready for prototyping?
>>>>> To: The Lively Kernel Mailing List <lively-kernel at hpi.uni-potsdam.de>
>>>>> Hello,
>>>>> I'm sure I am less than 1/10th the programmer of the least on this
>>>>> list. I hope you'll forgive the my rather lowly skill set.
>>>>> That said, I have a desperate need to create a demo app for investors
>>>>> and production developers. In your estimation, is LK ready for that type of
>>>>> work? I will ask about production readiness later.
>>>>> While I'm asking, anyone interested in helping out with (what I think
>>>>> will be) an important application with long legs? The domain model, 4
>>>>> years in the works, is pretty stable. It needs a compelling,
>>>>> highly-interactive front end (thus the LK question). In broad terms, I am
>>>>> looking to build a cognitive tool that deals with human relationships.
>>>>> It'll also need a mobile app at some point.
>>>>> Thank you humbly,
>>>>> Chip
>>>>> _______________________________________________
>>>>> lively-kernel mailing list
>>>>> lively-kernel at hpi.uni-potsdam.de
>>>>> http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel
>>>>> _______________________________________________
>>>>> lively-kernel mailing list
>>>>> lively-kernel at hpi.uni-potsdam.de
>>>>> http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel
> _______________________________________________
> lively-kernel mailing list
> lively-kernel at hpi.uni-potsdam.de
> http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hpi.uni-potsdam.de/archive/lively-kernel/attachments/20130308/0eb434cd/attachment-0001.html>

More information about the lively-kernel mailing list