[lively-kernel] LK ready for prototyping?

Daniel Ingalls danhhingalls at gmail.com
Wed Mar 6 20:56:36 CET 2013


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/20130306/a9ebe236/attachment-0001.html>


More information about the lively-kernel mailing list